Comments (11)
Thanks for reporting this. I will take a look at this once I get a chance next week.
Results for running rviz2 and Gazebo on the target are something we want to support, however it is non-trivial as it requires Qt with Python and 3d acceleration. We don't yet have a practical use case for this. The assumption is that most people would run these tools on their laptop to connect to their robot remotely. Would this perhaps work for you? If not, I'd be interested in hearing more about your use case.
from meta-ros.
Thank you for looking into this.
My idea is to run all this on aarch64le based board, including visualization.
from meta-ros.
I will add more details:
This is an attempt to run Ros2/Rviz in yocto linux which runs under QNX hypervisor on aarch64 architecture.
Also we have solved yocto and qt and 3d acceleration
Using this repo I have successfully build image with yocto+ros2.
Addid rviz layer causing all sort of unmet dependencies.
namely ignition math6 ( which I tried to hack-around ) as well as other ignition packages
from meta-ros.
I do have some unfinished work where I was adding 37+ new recipes to introduce ignition and some of its dependencies. The challenge is all the optional graphics libraries and other optional dependencies that aren't already in Yocto/OpenEmbedded. You can use recipetool to make it easier, but it is still significant work to get going.
The work I did was for Humble+Kirkstone, however it should provide a path to getting it working on Humble+Mickledore. I estimate that it could be either days or weeks of work depending on your familiarity with Linux and/or Yocto. Does that help? If that's a challenge you're willing to take on, let me know.
from meta-ros.
Hi @robwoolley
I am also doing a side project using Yocto + ROS2 (humble kirkstone) on Turtlebot3, and seeing that lots of ignition or gazebo dependencies are missing as reported on my machine.
My host machine: 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
Here are my project configurations
local.conf.txt
bblayers.conf.txt
When trying to build turtlebot3
NOTE: Runtime target 'rviz2' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['rviz2']
NOTE: Runtime target 'turtlebot3-bringup' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['turtlebot3-bringup', 'rviz2']
ERROR: Required build target 'turtlebot3' has no buildable providers.
Missing or unbuildable dependency chain was: ['turtlebot3', 'turtlebot3-bringup', 'rviz2']
When trying to build rviz2
ERROR: Nothing PROVIDES 'rviz2'
rviz2 was skipped: Recipe will be skipped because: qt5: depends on qtbase; opengl: depends on rviz-ogre-vendor which depends on mesa which is not available because of missing opengl or vulkan in DISTRO_FEATURES; x11: depends on rviz-rendering which depends on rviz-ogre-vendor which depends on libx11,libxrandr,libxaw which require x11 in DISTRO_FEATURES; ignition: depends on rviz-default-plugins which depends on unavailable ROS_UNRESOLVED_DEP-ignition-math6
These error also occurs whenever I am trying to build any graphics things such as ros-image-world
from meta-ros.
Hi Weiheng,
Glad to hear from you. I have had the simulation tools like RViz and Gazebo running on Yocto in past releases (foxy or galactic if memory serves). It is on my list of things to look at next.
I would be interested in hearing more about the use case because running a desktop on the robot itself seems unusual to me. I would have assumed that you might run rviz2 and Gazebo on a laptop with a GPU running Ubuntu and connect over the network to your robot. Can you tell me more about why running the simulation directly on the robot supports your work?
As far as build instructions are concerned, I just recently added support for using kas. You may find it easier to automatically set up an environment: https://github.com/ros/meta-ros/blob/build/kas/README.md
Regards,
Rob
from meta-ros.
Hi @robwoolley
Sorry for the confusion. Ubuntu 22.04 is just my host machine to build the Yocto ROS2 project (humble + kirkstone). Actually I can install rviz2 and gazebo directly on ubuntu via apt. I didn't intend to build it into my robot image.
What I tried was just to build some default image like turtlebot3
or ros-image-world
according to the instruction here: https://github.com/ros/meta-ros/wiki/OpenEmbedded-Build-Instructions.
However, when building these targets, it threw some dependency chain error like
Missing or unbuildable dependency chain was: ['turtlebot3', 'turtlebot3-bringup', 'rviz2']
That's why I also tried bitbake rviz2
then reached the ignition dependency error.
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing RPROVIDES 'rviz2' (but /home/weihengni/Projects/robotpi/meta-ros/meta-ros2-humble/generated-recipes/turtlebot3/turtlebot3-bringup_2.1.5-1.bb RDEPENDS on or otherwise requires it)
rviz2 was skipped: Recipe will be skipped because: qt5: depends on qtbase; opengl: depends on rviz-ogre-vendor which depends on mesa which is not available because of missing opengl or vulkan in DISTRO_FEATURES; x11: depends on rviz-rendering which depends on rviz-ogre-vendor which depends on libx11,libxrandr,libxaw which require x11 in DISTRO_FEATURES; ignition: depends on rviz-default-plugins which depends on unavailable ROS_UNRESOLVED_DEP-ignition-math6
NOTE: Runtime target 'rviz2' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['rviz2']
NOTE: Runtime target 'turtlebot3-bringup' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['turtlebot3-bringup', 'rviz2']
ERROR: Required build target 'turtlebot3' has no buildable providers.
Missing or unbuildable dependency chain was: ['turtlebot3', 'turtlebot3-bringup', 'rviz2']
I also found rviz2 is one of the dependency of turtlebot-bringup
recipe (same to ros-image-world
-> packagegroup-ros-world-humble
)
from meta-ros.
@robwoolley
more dependency chain with error such as
Missing or unbuildable dependency chain was: ['turtlebot3', 'turtlebot3-navigation2', 'nav2-bringup', 'slam-toolbox', 'rviz-default-plugins']
I would imagine there are lots of missing dependencies related to this chain:
ros-image-world
, turtlebot3
<- rviz2
, gazebo11
<- ignition
related libs
Based on the turtlebot3 or ros-image-world usages, I am afriad that rviz2 and gazebo are required on the robot machine:
https://emanual.robotis.com/docs/en/platform/turtlebot3/slam/#run-slam-node
from meta-ros.
I have a Turtlebot3 myself and was planning on trying to get it working again for the upcoming Jazzy release.
May I suggest that you file a new issue for addressing the missing support for Turtlebot3? We can work towards adding the missing packages there.
In the mean-time, if you just want to get ROS 2 Kirkstone + Humble running on the board, I suggest following these build instructions instead: https://github.com/ros/meta-ros/blob/build/kas/README.md
It will build ros-image-core which I have recently verified will work. The ros-image-world literally builds everything and is more intended for nightly builds to look for regressions. We are still working on fixing some outstanding packages to get it working 100%.
from meta-ros.
@robwoolley Thank you so much! I will file the issue. At the same time, could you suggest a previous version that works on turtlebot3? We are actively working on a project so want to bring up the bot asap
from meta-ros.
Related Issues (20)
- ROS 2 CLI is slow
- ROS2 Humble - nav2-costmap-2d build error HOT 2
- Question for packages in the ros-image-world HOT 1
- The compilation of bond-core requires a license [humble] HOT 1
- No 'rosidl_typesupport_c' found HOT 6
- [mickledore] [pyyaml] QA issue: python3-pyyaml uses *yaml.so, is not mentioned in RDEPENDS
- BBMASK exclusion for rpi-config_%.bbappend should use override :append syntax HOT 3
- Add rosdep_repo_check as part of meta-ros CI checks
- AMENT_PREFIX_PATH uses a semicolon instead of a colon HOT 1
- Error for adding demo_nodes_py or demo_nodes_cpp to IMAGE_INSTALL HOT 11
- Enable Security for ROS HOT 4
- Create CI/CD pipeline and infrastructure for meta-ros HOT 7
- Build-errors due to format-security HOT 2
- Setting up security not working HOT 1
- cmake*.bb causes issues with master HOT 3
- Migrate from mcf to kas HOT 2
- error: 'memset' is not a member of 'std'; HOT 2
- Turtlebot3 support is missing on ROS2 humble kirkstone due to ignition/gazebo dependency errors HOT 15
- meta-ros on jetson-nano-devkit HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from meta-ros.