Git Product home page Git Product logo

Comments (14)

sunnyshi0310 avatar sunnyshi0310 commented on July 19, 2024 1

Hi, thanks for your reply. I got three issues.

  • When I try the roslaunch bebop_simulator bebop_without_controller.launch I publish the command on the bebop/command/motors topic and the quadrotor starts to run, but it runs randomly and dropped soon. So I decrease the angular velocity from 1000 to 100 and it stays at the origin with spinning rotors. So I think the problem is solved. :) That's its rqt_graph and rostopic list.I also tried it on the /command/motor_speed topic and the rotors don't spin.
    Screenshot from 2020-09-21 00-56-32
    Screenshot from 2020-09-21 00-57-14

  • I try the roslaunch bebop_simulator task1_world.launch. It shows the error
    Screenshot from 2020-09-21 00-51-10

  • I run the roslaunch bebop_simulator task2_world.launch. The rotors don't spin and the robot stays in the origin. Its rqt_graph and rostopic list are shown as follows
    Screenshot from 2020-09-21 00-49-30
    Screenshot from 2020-09-21 00-53-39
    Screenshot from 2020-09-21 00-54-05

Thanks again for your work.!!

from bebops.

gsilano avatar gsilano commented on July 19, 2024 1

There is no command for landing.

from bebops.

welcome avatar welcome commented on July 19, 2024

Thanks for opening your first issue here! Make sure that no other issues on the same topic have already been opened!

from bebops.

gsilano avatar gsilano commented on July 19, 2024

I suggest starting from #26, #25, #23, #19, and #4. If the problem still persists, please let me know.

from bebops.

sunnyshi0310 avatar sunnyshi0310 commented on July 19, 2024

Hi, thanks for your reply. I have checked those issues but unfortunately they didn't help. I attached the screenshots when I tried to run
roslaunch bebop_simulator bebop_without_controller.launch
Screenshot from 2020-09-20 11-49-22
Screenshot from 2020-09-20 11-50-12
Screenshot from 2020-09-20 11-50-28
Everything seems work well but the rotors don't spin.
btw, I work with Ubuntu 16.04 and Gazebo 7. Thanks in advance.

from bebops.

gsilano avatar gsilano commented on July 19, 2024

As you can see, the gazebo/command/motor_speed topic does not have a connection with Gazebo. For this reason, the motors do not spin. Try to publish the same command on the bebop/command/motors or /command/motor_speed topic, and let me know.
Also, could you send me the list of the available topics? I think there may be a typo in the README or in the launch file.

from bebops.

gsilano avatar gsilano commented on July 19, 2024

So, great. This means it works. I mean, we found the motor spin issue. Obviously, automatic control feedback is needed to control system behavior.

I just removed the typo. Please, try it again. Try to replace this line <remap from="/command/motor_speed" to="/gazebo/command/motor_speed" /> with this <!-- <remap from="/command/motor_speed" to="/gazebo/command/motor_speed" /> --> (simply comment it), and let me know.

from bebops.

sunnyshi0310 avatar sunnyshi0310 commented on July 19, 2024

Hi, I comment the line <arg name="enable_imu" default="true"/> and run the roslaunch bebop_simulator task1_world.launch , while errors occur as follows:
Screenshot from 2020-09-21 11-35-17

from bebops.

gsilano avatar gsilano commented on July 19, 2024

Replace the content of the file with this

<?xml version="1.0"?>
<launch>
    <arg name="name" default="bebop"/>
    <arg name="x" default="0.0" />
    <arg name="y" default="0.0" />
    <arg name="z" default="0.02" />
    <arg name="use_sim_time" default="true"/>
    <arg name="world_name" default="basic"/>
    <arg name="wind_force" default="0.5"/>
    <arg name="wind_start" default="15.0"/>
    <arg name="wind_duration" default="10.0"/>
    <arg name="wind_direction_x" default="0.0"/>
    <arg name="wind_direction_y" default="0.0"/>
    <arg name="wind_direction_z" default="1.0"/>
    <arg name="csvFilesStoring" default="false"/>
    <arg name="csvFilesStoringTime" default="15.0"/> <!-- seconds -->
    <arg name="user_account" default="giuseppe"/>
    <arg name="waypoint_filter" default="true"/>
    <arg name="EKFActive" default="false"/>
    <arg name="enable_imu" default="true"/>
    <arg name="enable_odometry_sensor_with_noise" default="false"/>
    <!-- The "disable_odometry_sensor_with_noise" variable values is equal to true if "enable_odometry_sensor_with_noise"
    is false, and viceversa -->
    <arg name="disable_odometry_sensor_with_noise" value="true" unless="$(arg enable_odometry_sensor_with_noise)"/>
    <arg name="disable_odometry_sensor_with_noise" value="false" if="$(arg enable_odometry_sensor_with_noise)"/>
    <arg name="enable_ground_truth_sensor" default="false"/>
    <arg name="enable_wind_plugin" default="false"/>
    <arg name="enable_laser1D" default="false"/>
    
  <env name="GAZEBO_MODEL_PATH" value="${GAZEBO_MODEL_PATH}:$(find bebop_simulator)/models"/>
  <env name="GAZEBO_RESOURCE_PATH" value="${GAZEBO_RESOURCE_PATH}:$(find bebop_simulator)/models"/>
  <include file="$(find gazebo_ros)/launch/empty_world.launch">
    <arg name="world_name" value="$(find bebop_simulator)/worlds/$(arg world_name).world" />
  </include>

    <!-- Launch UAV -->
    <include file="$(find bebop_simulator)/launch/spawn_bebop.launch">
       <arg name="name" value="$(arg name)" />
       <arg name="x" value="$(arg x)"/>
       <arg name="y" value="$(arg y)"/>
       <arg name="z" value="$(arg z)"/>
       <arg name="wind_force" value="$(arg wind_force)"/>
       <arg name="wind_start" value="$(arg wind_start)"/>
       <arg name="wind_duration" value="$(arg wind_duration)"/>
       <arg name="wind_direction_x" value="$(arg wind_direction_x)"/>
       <arg name="wind_direction_y" value="$(arg wind_direction_y)"/>
       <arg name="wind_direction_z" value="$(arg wind_direction_z)"/>
      <!-- The disable_odometry_sensor_with_noise will only become true if enable_odometry_sensor_with_noise will is false.
       In this way, only one odometry sensor will be simulated: with or without noise. -->
       <arg name="enable_odometry_sensor_with_noise" value="$(arg enable_odometry_sensor_with_noise)"/>
       <arg name="disable_odometry_sensor_with_noise" value="$(arg disable_odometry_sensor_with_noise)" /> 
       <arg name="enable_ground_truth_sensor" value="$(arg enable_ground_truth_sensor)"/>
       <arg name="enable_wind_plugin" value="$(arg enable_wind_plugin)"/>
       <arg name="enable_laser1D" value="$(arg enable_laser1D)"/>
       <arg name="enable_imu" value="$(arg enable_imu)"/>
    </include>

    <!-- Launch the controller  -->
    <node name="position_controller_node" pkg="bebop_simulator" type="position_controller_node" output="screen"> 
      <rosparam command="load" file="$(find bebop_simulator)/resource/controller_bebop.yaml" />
      <rosparam command="load" file="$(find bebop_simulator)/resource/bebop.yaml" />
      <rosparam command="load" file="$(find bebop_simulator)/resource/EKF_matrix.yaml" />
      <rosparam command="load" file="$(find bebop_simulator)/resource/waypoint_filter.yaml" />
      <param name="use_sim_time" value="$(arg use_sim_time)" />
      <param name="csvFilesStoring" value="$(arg csvFilesStoring)"/>
      <param name="csvFilesStoringTime" value="$(arg csvFilesStoringTime)"/>
      <param name="user_account" value="$(arg user_account)"/>
      <param name="waypoint_filter" value="$(arg waypoint_filter)"/>
      <param name="EKFActive" value="$(arg EKFActive)"/>
      <remap from="/odometry" to="/bebop/odometry" />
      <remap from="/odometry_gt" to="/bebop/odometry_gt" />
      <remap from="/referenceAngles" to="/bebop/referenceAngles" />
      <remap from="/filteredOutput" to="/bebop/filteredOutput" />
      <remap from="/stateErrors" to="/bebop/stateErrors" />
      <remap from="/smoothedTrajectory" to="/bebop/smoothedTrajectory" />
      <remap from="/command/trajectory" to="/bebop/command/trajectory" />
    </node>

    <!-- Launch the trajectory generator -->
   <group ns="$(arg name)">
       <node name="hovering_example" pkg="bebop_simulator" type="hovering_example" output="screen"/>   
    </group>

</launch>

from bebops.

sunnyshi0310 avatar sunnyshi0310 commented on July 19, 2024

Hi, everything works well now in terms of the terminal. But the robot don't move when I run roslaunch bebop_simulator task1_world.launch or roslaunch bebop_simulator task2_world.launch. Should I do sth after run the launch file? Its topics and rqt_graph are listed here. I am really appreciated for your work and feel so sorry to bother you so much. :)
Screenshot from 2020-09-21 00-49-30
Screenshot from 2020-09-21 00-53-39
Screenshot from 2020-09-21 00-54-05

from bebops.

gsilano avatar gsilano commented on July 19, 2024

Run the task1.launch file, and then publish a message on gazebo/command/motor_speed. Let me know if this fix the issue. If so, I will update the launch file in the repository.

rostopic pub /gazebo/command/motor_speed mav_msgs/Actuators '{angular_velocities: [1000, 1000, 1000, 1000]}'

from bebops.

sunnyshi0310 avatar sunnyshi0310 commented on July 19, 2024

Hi, it performs same as I run roslaunch bebop_simulator bebop_without_controller.launch.

  • When I run roslaunch bebop_simulator task1_world.launch and then rostopic pub /gabebop/command/motors mav_msgs/Actuators '{angular_velocities: [1000, 1000, 1000, 1000]}, nothing happens.

  • Then I publish the commend on topic /bebop/command/motors , the robot starts to move (spins its rotors) but not achieve the objective of task 1 (Parrot Bebop takes off from the ground and keeps indefinitely the hovering position subjected to wind gusts (up to 0.5 N) for a minute. )

from bebops.

gsilano avatar gsilano commented on July 19, 2024

Please, pull my last change and try again.

from bebops.

sunnyshi0310 avatar sunnyshi0310 commented on July 19, 2024

Everything works now! Thanksssss!!!! btw, where is the code for landing? (or are there any command for landing?)

from bebops.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.