Giter Site home page Giter Site logo

Comments (13)

antbono avatar antbono commented on May 27, 2024 2

@gsilano I followed the new readme and finally the simulation works! Thank you so much for your work :D

from crazys.

chjz1024 avatar chjz1024 commented on May 27, 2024 1

Hi @gsilano @antbono , I did a fresh install of crazyS package in a new ros:melodic container docker but it still didn't work. It said the libmav_msgs.so file is not found. But after manually copying the generated library to somewhere gazebo can find it then everything works as usual. It also seems that the generated libmav_msgs.so is fully compatible with the original rotorS package 😂

from crazys.

gsilano avatar gsilano commented on May 27, 2024 1

To understand the problem, I also created a fresh installation of ROS Melodic on Ubuntu 18.04. I think I discovered the problem: some Gazebo packages are missing in the default installation. In fact, following the instructions in the repository, I had the same problem illustrated by @antbono. So, I run the command mentioned below and everything was fine.

$ sudo apt-get remove ros-melodic-gazebo* gazebo*
$ sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
$ wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install gazebo9 gazebo9-* ros-melodic-gazebo-*
$ sudo apt upgrade

Please, try to use them and give me back. In the meantime, I will update the README.md file.

from crazys.

gsilano avatar gsilano commented on May 27, 2024

Did you wait five seconds for the activation of the control algorithm? Here what is reported in the README.md file.

The visual outcome will see the nano-quadcopter taking off after 5s (time after which the hovering example node publishes the trajectory to follow) and flying one meter above the ground, at the same time keeping near to zero the position components along x and y-axis.

from crazys.

antbono avatar antbono commented on May 27, 2024

Yes I waited. The attached gazebo screenshot reports 1.31 minutes.
No error appears on the console...

Screenshot from 2020-01-17 18-28-00

from crazys.

gsilano avatar gsilano commented on May 27, 2024

As I can read from the log, two are the main errors:

  • The enable_state_estimator variable is equal to a strange number. It should be a boolean value, zero or one.
  • The Crazyflie controller does not receive info one the drone state. I mean, any message comes from the Odometry sensor.

Now, I will take a look at the code, but these should be problems that I fixed a long time ago with the latest software release.

from crazys.

chjz1024 avatar chjz1024 commented on May 27, 2024

I encountered the same problem running the hovering example. It was still okay when I tried that about 2 weeks ago (sorry that I forgot the exact time). I then reinstalled it today and it doesn't work now. The same error occurs when I tried running the original rotorS hovering example. This is my log as a reference

chjz@hpc:~/Desktop/catkin_workspaces/catkin_ws_crazyS$ roslaunch rotors_gazebo crazyflie2_hovering_example.launch
... logging to /home/chjz/.ros/log/7fe35d00-39c9-11ea-9451-a85e455aff8e/roslaunch-hpc-28626.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

xacro: in-order processing became default in ROS Melodic. You can drop the option.
started roslaunch server http://hpc:33697/

SUMMARY

PARAMETERS

  • /crazyflie2/position_controller_node/attitude_gain_ki/phi: 0.0349
  • /crazyflie2/position_controller_node/attitude_gain_ki/theta: 0.0349
  • /crazyflie2/position_controller_node/attitude_gain_kp/phi: 0.0611
  • /crazyflie2/position_controller_node/attitude_gain_kp/theta: 0.0611
  • /crazyflie2/position_controller_node/enable_state_estimator: False
  • /crazyflie2/position_controller_node/hovering_gain_kd/z: 373
  • /crazyflie2/position_controller_node/hovering_gain_ki/z: 3.15
  • /crazyflie2/position_controller_node/hovering_gain_kp/z: 70
  • /crazyflie2/position_controller_node/inertia/xx: 1.657171e-05
  • /crazyflie2/position_controller_node/inertia/xy: 0.0
  • /crazyflie2/position_controller_node/inertia/xz: 0.0
  • /crazyflie2/position_controller_node/inertia/yy: 1.657171e-05
  • /crazyflie2/position_controller_node/inertia/yz: 0.0
  • /crazyflie2/position_controller_node/inertia/zz: 2.9261652e-05
  • /crazyflie2/position_controller_node/mass: 0.027
  • /crazyflie2/position_controller_node/rate_gain_ki/p: 0
  • /crazyflie2/position_controller_node/rate_gain_ki/q: 0
  • /crazyflie2/position_controller_node/rate_gain_ki/r: 95.6839
  • /crazyflie2/position_controller_node/rate_gain_kp/p: 1000
  • /crazyflie2/position_controller_node/rate_gain_kp/q: 1000
  • /crazyflie2/position_controller_node/rate_gain_kp/r: 1000
  • /crazyflie2/position_controller_node/rotor_configuration/0/angle: -3.14159265359
  • /crazyflie2/position_controller_node/rotor_configuration/0/arm_length: 0.046
  • /crazyflie2/position_controller_node/rotor_configuration/0/direction: -1.0
  • /crazyflie2/position_controller_node/rotor_configuration/0/rotor_force_constant: 1.28192e-08
  • /crazyflie2/position_controller_node/rotor_configuration/0/rotor_moment_constant: 0.005964552
  • /crazyflie2/position_controller_node/rotor_configuration/1/angle: 1.57079632679
  • /crazyflie2/position_controller_node/rotor_configuration/1/arm_length: 0.046
  • /crazyflie2/position_controller_node/rotor_configuration/1/direction: 1.0
  • /crazyflie2/position_controller_node/rotor_configuration/1/rotor_force_constant: 1.28192e-08
  • /crazyflie2/position_controller_node/rotor_configuration/1/rotor_moment_constant: 0.005964552
  • /crazyflie2/position_controller_node/rotor_configuration/2/angle: 3.14159265359
  • /crazyflie2/position_controller_node/rotor_configuration/2/arm_length: 0.046
  • /crazyflie2/position_controller_node/rotor_configuration/2/direction: -1.0
  • /crazyflie2/position_controller_node/rotor_configuration/2/rotor_force_constant: 1.28192e-08
  • /crazyflie2/position_controller_node/rotor_configuration/2/rotor_moment_constant: 0.005964552
  • /crazyflie2/position_controller_node/rotor_configuration/3/angle: -1.57079632679
  • /crazyflie2/position_controller_node/rotor_configuration/3/arm_length: 0.046
  • /crazyflie2/position_controller_node/rotor_configuration/3/direction: 1.0
  • /crazyflie2/position_controller_node/rotor_configuration/3/rotor_force_constant: 1.28192e-08
  • /crazyflie2/position_controller_node/rotor_configuration/3/rotor_moment_constant: 0.005964552
  • /crazyflie2/position_controller_node/xy_gain_ki/x: 5.72958
  • /crazyflie2/position_controller_node/xy_gain_ki/y: -5.72958
  • /crazyflie2/position_controller_node/xy_gain_kp/x: 3.594
  • /crazyflie2/position_controller_node/xy_gain_kp/y: -3.594
  • /crazyflie2/position_controller_node/yaw_gain_ki/yaw: 0
  • /crazyflie2/position_controller_node/yaw_gain_kp/yaw: 0.0914
  • /crazyflie2/robot_description: <?xml version="1....
  • /crazyflie2/tf_prefix:
  • /gazebo/enable_ros_network: True
  • /rosdistro: melodic
  • /rosversion: 1.14.3
  • /use_sim_time: True

NODES
/
gazebo (gazebo_ros/gzserver)
gazebo_gui (gazebo_ros/gzclient)
/crazyflie2/
hovering_example (rotors_gazebo/hovering_example)
joint_state_publisher (joint_state_publisher/joint_state_publisher)
orientation_plot (rqt_plot/rqt_plot)
position_controller_node (rotors_control/position_controller_node)
position_plot (rqt_plot/rqt_plot)
quaternion_to_rpy (rotors_gazebo/quaternion_to_rpy)
robot_state_publisher (robot_state_publisher/robot_state_publisher)
spawn_crazyflie2 (gazebo_ros/spawn_model)

auto-starting new master
process[master]: started with pid [28639]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 7fe35d00-39c9-11ea-9451-a85e455aff8e
process[rosout-1]: started with pid [28650]
started core service [/rosout]
process[gazebo-2]: started with pid [28658]
process[gazebo_gui-3]: started with pid [28663]
process[crazyflie2/spawn_crazyflie2-4]: started with pid [28668]
process[crazyflie2/position_controller_node-5]: started with pid [28669]
[ INFO] [1579334819.735143655]: Started position controller
process[crazyflie2/hovering_example-6]: started with pid [28675]
process[crazyflie2/robot_state_publisher-7]: started with pid [28677]
[ INFO] [1579334819.751848220]: Got param 'enable_state_estimator': -587526253
process[crazyflie2/joint_state_publisher-8]: started with pid [28682]
[ INFO] [1579334819.763728197]: Started hovering example.
[ INFO] [1579334819.766811008]: Wait for 1 second before trying to unpause Gazebo again.
process[crazyflie2/quaternion_to_rpy-9]: started with pid [28691]
process[crazyflie2/position_plot-10]: started with pid [28693]
process[crazyflie2/orientation_plot-11]: started with pid [28699]
[ INFO] [1579334820.027171045]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1579334820.029200824]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
[ INFO] [1579334820.095338638]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1579334820.097134426]: waitForService: Service [/gazebo_gui/set_physics_properties] has not been advertised, waiting...
[INFO] [1579334820.340911, 0.000000]: Loading model XML from ros parameter robot_description
[INFO] [1579334820.360145, 0.000000]: Waiting for service /gazebo/spawn_urdf_model
[ INFO] [1579334820.767681453]: Wait for 1 second before trying to unpause Gazebo again.
link SVGCleanerId_0 hasn't been detected!
link SVGCleanerId_1 hasn't been detected!
link SVGCleanerId_0 hasn't been detected!
link SVGCleanerId_1 hasn't been detected!
link SVGCleanerId_0 hasn't been detected!
link SVGCleanerId_1 hasn't been detected!
link SVGCleanerId_0 hasn't been detected!
link SVGCleanerId_1 hasn't been detected!
link SVGCleanerId_0 hasn't been detected!
link SVGCleanerId_1 hasn't been detected!
link SVGCleanerId_0 hasn't been detected!
link SVGCleanerId_1 hasn't been detected!
[ INFO] [1579334821.769848576]: Unpaused the Gazebo simulation.
[ INFO] [1579334821.792031761, 0.022000000]: waitForService: Service [/gazebo/set_physics_properties] is now available.
[ INFO] [1579334821.826187574, 0.055000000]: Physics dynamic reconfigure ready.
[INFO] [1579334821.871576, 0.099000]: Calling service /gazebo/spawn_urdf_model
[INFO] [1579334821.952806, 0.112000]: Spawn status: SpawnModel: Successfully spawned entity
[crazyflie2/spawn_crazyflie2-4] process has finished cleanly
log file: /home/chjz/.ros/log/7fe35d00-39c9-11ea-9451-a85e455aff8e/crazyflie2-spawn_crazyflie2-4*.log
[ INFO] [1579334827.355271124, 5.116000000]: Publishing waypoint on namespace /crazyflie2: [0.000000, 0.000000, 1.000000].
[ INFO] [1579334827.355686232, 5.117000000]: PositionController got first MultiDOFJointTrajectory message.
[crazyflie2/hovering_example-6] process has finished cleanly
log file: /home/chjz/.ros/log/7fe35d00-39c9-11ea-9451-a85e455aff8e/crazyflie2-hovering_example-6*.log
Node::Advertise(): Error advertising a topic. Did you forget to start the discovery service?
^C[crazyflie2/orientation_plot-11] killing on exit
[crazyflie2/position_plot-10] killing on exit
[crazyflie2/quaternion_to_rpy-9] killing on exit
[crazyflie2/joint_state_publisher-8] killing on exit
[crazyflie2/robot_state_publisher-7] killing on exit
[crazyflie2/position_controller_node-5] killing on exit
[gazebo_gui-3] killing on exit
[gazebo-2] killing on exit
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injectorboost::lock_error >'
what(): boost: mutex lock failed in pthread_mutex_lock: Invalid argument
[gazebo_gui-3] escalating to SIGTERM
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done

from crazys.

gsilano avatar gsilano commented on May 27, 2024

I fixed the issue with the enable_state_estimator variable but, by mistake, I referred the wrong issue (#24 instead of this, #25). Anyway, the code is ok. I did not find any problem. I have not encountered any problems. Now, I'll check if there is a typo in the installation instructions.

I checked the installation instructions, and everything is fine. It might be an environmental problem, i.e, missing packages, Gazebo release, and so on. If you needed, as in #24, I can create a virtual machine with this configuration, i.e., ROS Melodic and Gazebo 9.

from crazys.

chjz1024 avatar chjz1024 commented on May 27, 2024

@gsilano Unfortunately the most recent commit still doesn't work. If it's not because of this package, then the problem might come from the original repositories like rotors-simulator, mav_control_rw and voxblox, cause that's the only big difference I've made since the previous installation. A virtual machine with ROS Melodic and Gazebo 9 configuration is also of great help if available. I've also tried running a seperate gzserver inside docker container and gzclient in host machine and it works. The only problem is that you need to care about the path because the absolute path is generated inside the container.

from crazys.

gsilano avatar gsilano commented on May 27, 2024

@gsilano Unfortunately the most recent commit still doesn't work. If it's not because of this package, then the problem might come from the original repositories like rotors-simulator, mav_control_rw and voxblox, cause that's the only big difference I've made since the previous installation. A virtual machine with ROS Melodic and Gazebo 9 configuration is also of great help if available. I've also tried running a seperate gzserver inside docker container and gzclient in host machine and it works. The only problem is that you need to care about the path because the absolute path is generated inside the container.

I think this is a particular use case, so I cannot help you in defining the problem.

from crazys.

fabrizzio-gz avatar fabrizzio-gz commented on May 27, 2024

To understand the problem, I also created a fresh installation of ROS Melodic on Ubuntu 18.04. I think I discovered the problem: some Gazebo packages are missing in the default installation. In fact, following the instructions in the repository, I had the same problem illustrated by @antbono. So, I run the command mentioned below and everything was fine.

$ sudo apt-get remove ros-melodic-gazebo* gazebo*
$ sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
$ wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install gazebo9 gazebo9-* ros-melodic-gazebo-*
$ sudo apt upgrade

Please, try to use them and give me back. In the meantime, I will update the README.md file.

I followed these instructions to have the simulation run on Gazebo 9 (along with Ubuntu 18.04 and ROS Melodic). However, now, when I run catkin build, I get the following error message:

Starting  >>> rotors_gazebo_plugins                                            
_______________________________________________________________________________
Errors     << rotors_gazebo_plugins:make /home/user/catkin_ws/logs/rotors_gazebo_plugins/build.make.007.log
make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libignition-common1.so.1.0.1', needed by '/home/user/catkin_ws/devel/.private/rotors_gazebo_plugins/lib/librotors_gazebo_mavlink_interface.so'.  Stop.
make[2]: *** Waiting for unfinished jobs....
In file included from /usr/include/gazebo-9/gazebo/common/common.hh:8:0,
                 from /usr/include/gazebo-9/gazebo/gazebo_core.hh:19,
                 from /usr/include/gazebo-9/gazebo/gazebo.hh:20,
                 from /home/user/catkin_ws/src/CrazyS/rotors_gazebo_plugins/include/rotors_gazebo_plugins/gazebo_mavlink_interface.h:47,
                 from /home/user/catkin_ws/src/CrazyS/rotors_gazebo_plugins/src/gazebo_mavlink_interface.cpp:22:
/usr/include/gazebo-9/gazebo/common/Battery.hh:25:10: fatal error: sdf/sdf.hh: No such file or directory
 #include "sdf/sdf.hh"
          ^~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/rotors_gazebo_mavlink_interface.dir/src/gazebo_mavlink_interface.cpp.o] Error 1
make[1]: *** [CMakeFiles/rotors_gazebo_mavlink_interface.dir/all] Error 2
make: *** [all] Error 2
cd /home/user/catkin_ws/build/rotors_gazebo_plugins; catkin build --get-env rotors_gazebo_plugins | catkin env -si  /usr/bin/make --jobserver-fds=6,7 -j; cd -
...............................................................................
Failed     << rotors_gazebo_plugins:make            [ Exited with code 2 ]     

I was able to run catkin build without any errors before updating the Gazebo packages.

from crazys.

gsilano avatar gsilano commented on May 27, 2024

Hi! Try to run the following steps, and then give me back.

  1. catkin clean. This will delete the previous build.
  2. Follow the instructions in the README.md file again. Please don't skip any of the steps. A package might not have been installed correctly.
  3. In case of cmd /opt/ros/melodic/lib/gazebo_ros/gzserver -u -e ode (see #40), run this command cp build/rotors_gazebo_plugins/libmav_msgs.so devel/lib/.

from crazys.

fabrizzio-gz avatar fabrizzio-gz commented on May 27, 2024

Hi! Try to run the following steps, and then give me back.

1. `catkin clean`. This will delete the previous build.

2. Follow the instructions in the `README.md` file again. Please don't skip any of the steps. A package might not have been installed correctly.

3. In case of `cmd /opt/ros/melodic/lib/gazebo_ros/gzserver -u -e ode` (see [Arch Linux with ROS Melodic and Gazebo 10 -- no movement #40](https://github.com/gsilano/CrazyS/issues/40)), run this command `cp build/rotors_gazebo_plugins/libmav_msgs.so devel/lib/`.

Hi, thank you for your reply!

After running catkin clean and following the README.md instructions again, my problem was solved. I was able to run catkin build with no error messages.

Thanks again!

from crazys.

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.