Using micro-ROS with rclcpp
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- cpp, docker, ubuntu
- Domain
- build-system, embedded-iot
Research direction
Start with the First micro-ROS Application on Zephyr guide and the copied application under firmware/zephyr_apps/apps. Inspect its CMakeLists.txt and .meta file, then reproduce the missing rclcpp/rclcpp.hpp build error in the Docker-based Foxy setup. Done means a simple C++ publisher application compiles completely for the Olimex_stm32_e407 target.
Written by the indexing model from the issue text.
Description
Issue template
- Hardware description: Ubuntu 22.04 machine, compiling to flash on an Olimex_stm32_e407 board.
- RTOS: Zephyr
- Installation type: Follow the First micro-ROS Application on Zephyr guide from micro-ROS (link below), installing micro-ROS inside a docker container and creating the zephyr - olimex_stm32_e407 firmware with micro_ros_setup
https://micro.ros.org/docs/tutorials/core/first_application_rtos/zephyr/
- Version or commit hash: foxy version of micro_ros_setup
Steps to reproduce the issue
Hi, I want to use micro-ROS for building an application in c++, and needing rclcpp to compile. I have already figured out how to build and flash a C app using rcl/rclc, which I saw on the site are supported, but I can´t manage to do it with rclcpp.
From what I read on the site and the existing git issues, rclcpp is not yet supported officially by micro-ROS but is still a WIP, so I understand why it´s more complicated, but I also saw that several attempts have been made at implementing this, so I assume some solution/workaround is possible atm.
My understanding of the situation is that, after creating the firmware described above and configuring it for my application (made by copying a sample existing in the firmware/zephyr_apps/apps/folder , where all examples are), I should modify the CMakeLists.txt file and/or the .meta file in my application folder to make it include this rclcpp package, as it is present by default in the ros2 installation in /opt/ros/foxy/include/ folder. But, as I am a fairly new user to this, I couldn´t find the solution as to how to do it.
What steps should I follow ? Is my understanding of the situation right ? Should I look elsewhere to include this package ? Any help is appreciated, thank you in advance :)
Expected behavior
The code of my micro-ROS application in c++ should compile entirely. It is for now just a simple publisher code in c++, just like the one described in this tutorial :
Actual behavior
It doesn´t build as it cannot find the "rclcpp/rclcpp.hpp" file because it is not included by default. I´m not including screenshots or logs because they are simple "cannot find rclcpp/rclcpp.hpp" reports, so unless I missed some critical info not much should come from it-
Additional information
As I am a fairly new user to micro-ROS and git, there may be some mistakes or elements missing in what I said. I am open to any request for more details, so don´t hesitate.
- Dominant language
- Shell
- Stars
- 509
- Forks
- 183
- Avg merge
- 22h 26m
- Merged PRs (30d)
- 7
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from micro-ROS/micro_ros_setup
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
micro-ROS/micro_ros_setup#814 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 42/100
micro-ROS/micro_ros_setup#809 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 38/100
micro-ROS/micro_ros_setup#808 · 2 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 20/100
micro-ROS/micro_ros_setup#806 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 20/100
micro-ROS/micro_ros_setup#803 ·
All issues in micro-ROS/micro_ros_setup
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
danielmiessler/LifeOS#2218 ·
-
docs(agents): strengthen the no-backslash-escaped-backticks rule with an issue-creation example Open
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
package-update
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
oSoWoSo/vOid_Community_repOsitory#148 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
chore
Difficulty 1/5 Under an hour Newbie friendliness 91/100
alunduil/alunduil-chezmoi#792 ·