-
Notifications
You must be signed in to change notification settings - Fork 255
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
Turtlebot3 support is missing on ROS2 humble kirkstone due to ignition/gazebo dependency errors #1138
Comments
@robwoolley Could you check this issue? Is there any estimated time that the support might arrive? Thank you so much! |
Hi @whni, From a high-level the problem is that the turtlebot3 recipes were only supported for ROS 1 melodic. (according to here: https://github.com/ros/meta-ros/wiki/OpenEmbedded-Build-Instructions) That said it should be possible to get them working on ROS 2 as it seems that there is still active work in the past year being done related to Humble (https://github.com/ROBOTIS-GIT/turtlebot3/branches/all) What I see is that rviz2 is listed as a runtime dependency for turtlebot3_bringup: https://github.com/ROBOTIS-GIT/turtlebot3/blob/ros2-devel/turtlebot3_bringup/package.xml However, it only seems to be required because of the rviz2 launch file: rviz2.launch.py I think a quick hack would be to create a bbappend for turtlebot3-bringup that did: This isn't a fix I can add to the tree. The better alternative would be to either break out rviz2.launch.py into its own package to contain the runtime dependency or make it a build-time configuration option whether to include rviz2 in the image. Let me know how that goes. It should help unblock you without needing to wait for ignition and rviz2 to be fixed. Regards, |
Hi @robwoolley As for the whole turtlebot3 support, I think Thank you so much for this hack. Now
Other than this, I also found another build error from
In a word, there are at least two dependency errors that we need to fix to enable rviz2 on humble:
Really appreciate that you could soon fix turtlebot3 for the community! Update: I can try to remove dependency temporarily using bbappend file but not sure if these could be malfunctional then |
Hi @whni, Thanks for reporting back. Glad that it is successful for you. It seems that a similar problem exists with nav2_bringup where it has some scripts that use rviz2 at runtime so the whole package has an exec depends on it. You could use the same hack again for nav2_bringup. However, based on the instructions here: https://emanual.robotis.com/docs/en/platform/turtlebot3/navigation/ it appears that turtlebot3_navigation is only required on the Ubuntu system in the tutorial. If you use bitbake to build the individual turtlebot3-* recipes that you need instead of using the turtlebot3 metapackage, you should be able to get what you need. Regards, |
@robwoolley Yeah, now I am able to work on the hacky build :) Thank you so much for the help. But anyway, it should still be great that Humble officially supports rviz packages to unblock the top level turtlebot3 recipe, which could help more noob ROS developers, like me, avoid the pain time at the beginning. Also rviz should be very useful for the development of some non-mobile devices with a local display. Here is the list that I've realized: Thank you again! |
Hi @robwoolley Another topic about another common dependency for rviz packages: https://github.com/ros/meta-ros/blob/e4bacc5540c1077cc4ac98947a4c56a65cc33cbb/meta-ros-common/recipes-devtools/ogre/ogre_1.12.12.bb It's weird that it fails to build with bitbake:
I checked the build folder and found the downloaded imgui.tar.gz is 0 size (by Components/Overlay/CMakeLists.txt). However, if I manually clone the repo and build it on my host machine, this file was downloaded correctly. Is there any difference between bitbake system and the host? Hope this should be a minor fix we can do to enable some more package Update:
|
After hacking ogre package, I again encountered a weird issue when doing
Cannot figure out why Update: |
Hi @robwoolley So far I have derived few hacky solution to enabled most recipes for turtlebot3, except those depending on Could you please help resolve this last one? Thank you so much! I also attached my patches here |
Hi @whni, I spent some time this weekend dusting off my old attempt of getting ogre, rviz, and gazebo to build. I have pushed a preview to a feature branch here: #1140 I was able to successfully build the turtlebot3 recipe for ROS Humble and Yocto Kirkstone for a Raspberry Pi 4 with those changes. Take note of the commit message which mentions the extra layers you need to add and the additional configuration you need to set in local.conf I only did build tests of rviz and Ignition/Gazebo. I tried enabling optional functionality wherever I could, however some work would still be needed to add support for things like CUDA and Optix. One also might want to choose one of the many desktops available in Yocto (eg. GNOME, GTK3, LxQt, XFCE, etc) and enable GPU accelerators if you want to test rviz and Ignition. Feedback encouraged. I expect that there is still some cleanup necessary to make the GUI apps work well for people running the desktop on the robot itself. Regards, |
@robwoolley Thank you so much for the support! I will test this asap and provide feedback if any. For CUDA and Optik, I think this is also very important for any robot platform with nvidia gpu for hw acceleration, not only for desktop environment. Could you please also keep us updated on this? We will keep tracking the humble and develop our own feature on this branch. Thanks a lot! |
Hi @robwoolley how is the status of this pull request? I am bringing up turtlebot without GUI support. Everything looks good except that
The dependency chain is as: There is an open issue saying the same problem: ros/robot_state_publisher#187 ================
|
Thanks for reporting the urdf_parser_plugin bug and fix. It seems that the problem was fixed in later releases, but should definitely be added to ROS_EXEC_DEPENDS variable for the urdf recipe in humble. |
Regarding an ETA for the pull request, as a minimum it would be necessary to build the PyQt desktop and verify that the applications at least started. |
@robwoolley Thanks for the update. Now I start to experiment slam function on turtlebot and want to see mapping data on rviz on the remote pc, for which I think slam-toolbox is necessary on the robot machine. I am not able to build slam-toolbox without this commit. |
I have posted a new set of patches for ignition/gazebo support here: #1150 |
Turtlebot3 support is missing on ROS2 humble kirkstone due to ignition/gazebo dependency errors
Build host: ubuntu 22.04
ROS setup steps: https://github.com/ros/meta-ros/wiki/OpenEmbedded-Build-Instructions
Ignition package install: https://gazebosim.org/api/math/6.4/install.html
Project configurations:
local.conf.txt
bblayers.conf.txt
When trying to build
turtlebot3
When trying to build
rviz2
The problematic recipes are
turtlebot3-navigation2
andturtlebot3-bringup
. It looks likegazebo
andrviz2
fail to build due to some missing dependency aboutignition
libraries on ubuntu 22.04, which can not be resolved by installing the package via https://gazebosim.org/api/math/6.4/install.htmlUpdate:
check the dependency chain:
turtlebot3-bringup
<-
rviz2
<-
rviz-default-plugins_11.2.12-1.bb
<-
ignition-math6-vendor
<-
ROS_UNRESOLVED_DEP-ignition-math6
https://github.com/ros/meta-ros/blob/aaee06540d1e2f6b27493c11f82a5c9a16808dca/meta-ros2-humble/generated-recipes/ignition-math6-vendor/ignition-math6-vendor_0.0.2-2.bb
The text was updated successfully, but these errors were encountered: