micro-ROS / micro-ROS/micro_ros_setup

Using micro-ROS with rclcpp

Ouverte
#659 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Shell
Étoiles
509
Forks
183
Merge moyen
22 h 26 min
PR mergées (30 j)
7

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 :

https://docs.ros.org/en/foxy/Tutorials/Beginner-Client-Libraries/Writing-A-Simple-Cpp-Publisher-And-Subscriber.html

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.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par le guide First micro-ROS Application on Zephyr et l’application copiée sous firmware/zephyr_apps/apps. Examinez son CMakeLists.txt et son fichier .meta, puis reproduisez l’erreur de compilation liée à l’absence de rclcpp/rclcpp.hpp dans l’environnement Foxy basé sur Docker. Le travail est terminé lorsqu’une simple application publisher en C++ se compile complètement pour la cible Olimex_stm32_e407.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
cpp, docker, ubuntu
Domaine
build-system, embedded-iot
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.