-
Notifications
You must be signed in to change notification settings - Fork 84
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Arch Linux with ROS Melodic and Gazebo 10 -- no movement #40
Comments
Thanks for opening your first issue here! Make sure that no other issues on the same topic have already been opened! |
Hi @KomaGR! I've never tried to run the system with an OS distribution other than Ubuntu. However, if it builds this means that it is not a problem related to the code itself. Reading your message, it looks like a problem that I just faced in #25. I suggest to remove and then to install again all gazebo9 packages. Thus, run these commands $ 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 I'm pretty sure this is the problem because if you see the log file, no message appears regarding the odometry message. I mean, "PositionController got first odometry message." Try, and give me back. |
Hi @gsilano, thanks for your swift reply. I've rebuilt all the packages but nothing changes. Could it be an incompatibility between gazebo9 and gazebo10? Regardless, based on what you said about the messages appearing in the logs I started looking on the route the message must take to arrive to the line you mentioned. It can be verified by the logs that the message leaves the However: Any ideas on where I should be looking next for this would be appreciated. |
It could be, it could be. I have never tested the package with Gazebo 10. When I read the issue, I realized that you were working with Melodic on Arch and that's it. The RotorS package used the basis for CrazyS is very complex and, unfortunately, there are no guides on how to use it correctly or how the software is structured. However, the If you find something interesting, please let me know. The problem may lie in the |
Hi @gsilano. I've been intermittently trying to solve this issue, in order to use the simulation for some experiments. I have studied the source code of the involved nodes. I have some questions that would greatly help if answered: In what module does the robot read the commands?I can see that the CrazyS/rotors_control/src/nodes/position_controller_node.cpp Lines 88 to 94 in 59f227f
The position controller sets trajectory point, but this only raises a boolean flag: CrazyS/rotors_control/src/library/position_controller.cpp Lines 250 to 252 in 59f227f
For better or for worse, this is what my distro provides. |
I don't know if I really understand what you are trying to say, so I will try to be as clear as possible. The position, i.e., the hovering coordinates (x, y, z, yaw) comes from the The boolean flag in the controller algorithm enables the controller. I mean, the propellers' angular velocities are equals to zero until the boolean flag rises. CrazyS/rotors_control/src/library/position_controller.cpp Lines 255 to 309 in 59f227f
Ever time a new Odometry message arrives (it contains the drone state, i.e., position, attitude, the linear and angular velocity of the drone) a new set of the propellers angular velocity is computed by the controller algorithm ( I hope this helps. |
Thanks for your quick reply! I'm sorry if I did not explain it clearly. What you just said clarified a lot of things for me. I also looked at #10 for more information. I think my problem is that I can't find anywhere messages being published on the Odometry topic (either on Do you know if this is something that is being handled internally in Gazebo?
For me |
It could be, it could be. You have to consider that the |
I enabled
...and so on for all This could be very well be the source of the problem. It looks like it is similar to ethz-asl/rotors_simulator#506 where you mention in ethz-asl/rotors_simulator#506 (comment) that the drone doesn't take off. Even though your Copying the
Of course, this is not a good fix. The shared objects should ideally know to look for the library where it's located. Using
For any other Arch users out there, the next problem I faced was with opencv versioning. A common situation, usually resolved by linking the previous version to the newest:
And there was flight |
Ok, awesome! I am happy to know that you have finally fixed the issue. So, you can run CrazyS with Gazebo 10 on an Arch Linux distro. Am I right? I'm thinking it would be great to put these instructions on the CrazyS and BebopS Wiki (also use RotorS as the basis for the package). |
Yes. Current Arch Linux kernel version is
I'm still checking to see if there are any problems left. That said, wouldn't it be best if this was addressed at the |
Yes, of course. It would be better if we could find a way to include the library in the |
This is just a note related to this topic. I had the same problem(gazebo starts but it doesn't fly after 5 seconds) as @KomaGR but on This problem only occurs for me when building using |
Hi @KomaGR !! I just opened a Wiki page with the instructions for installing CrazyS with Gazebo 10 and Arch Linux. Although the procedure is not optimized, I think it would be useful for others who use CrazyS with this operating system. Could you help with this? I can't give you direct access to the Wiki page because I'm not part of an organization. GitHub doesn't allow managing collaborators if the repository is on a private account. I should create an organization, move the content of the repository, and so on. Therefore, I ask you, to upload the text in Markdown by using a pull request. I will then take care of the merge. In the meantime, here you find the file that I have already written. Thanks! |
I close this issue. A pull request (#46) has been opened to update the Wiki pages. |
Just want to pipe in that it works on the latest Gazebo (11) with |
Hi all, I just want to let you know that I had the same problem as described in this post: the libmav_msgs.so could not be found. Instead of manually copying it to the devel/lib directory, I searched for a more elegant solution. As a result, I found this post on ROS answers and it worked (using the crazyflie2_hovering_example.launch, I could let the Crazyflie take off and hover at approximately 1m)! I am currently working with Ubuntu 18.04 and ROS Melodic and built the packages with |
Hi @dbenders1! Thanks for letting me know. I've updated the wiki page with your suggestions. Just to be complete, could you copy and paste the new version of the |
Hi @gsilano, sure! |
Great, thanks! |
I think this is not an issue of removing gazebo and reinstalling it. I have also faced the same problem with Ubuntu 18.04, ROS Melodic and gazebo9. The readme file is really good to install the dependencies but the real way to fix this issue is mentioned by @KomaGR . The |
Problem: [Plugin.hh:180] Failed to load plugin /opt/ros/melodic/share/gazebo_plugins/../../lib/librotors_gazebo_controller_interface.so: libmav_msgs.so: cannot open shared object file: No such file or directory For full discussion on the solution, refer to gsilano/CrazyS#40 (comment)
I am trying to make this work with this setup. To my knowledge I've installed all the dependencies and I've understood how message passing works in the hovering example.
Running the hovering example launches gazebo succesfully, messages look to be exchanged succesfully, but there is no movement from the drone after the waypoint is published. The drone simply remains motionless. Any pointers would be appreciated.
Here is the build.log from
catkin build
. There are also some warnings there aboutempy
but I didn't think it'd be much of a problem.Find below the log from the example, which looks OK minus a warning about a deprecated function.
The text was updated successfully, but these errors were encountered: