micro-ROS / micro-ROS/micro_ros_setup

Using micro-ROS with rclcpp

オープン
#659 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
Shell
スター
509
フォーク
183
平均マージ
22時間 26分
マージ済み PR(30日)
7

説明

## 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.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

First micro-ROS Application on Zephyr ガイドと、firmware/zephyr_apps/apps にあるコピーされたアプリケーションから始めます。その CMakeLists.txt と .meta ファイルを調べ、Docker ベースの Foxy セットアップで不足している rclcpp/rclcpp.hpp によるビルドエラーを再現します。Olimex_stm32_e407 ターゲット向けに単純な C++ publisher アプリケーションを完全にコンパイルできれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
cpp, docker, ubuntu
領域
build-system, embedded-iot
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。