Topic Not Visible error

Ouverte
#209 7 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
35/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
arduino, cpp, ubuntu

Piste de recherche

Commencez par reproduire les commandes documentées micro_ros_setup create, build, flash et agent pour l’ESP32 avec un transport série. Comparez la sortie de micro-ROS Agent avec ros2 topic echo /microROS/ping et avec les messages attendus indiqués ; le travail est terminé lorsque le topic ping est détectable et publie les messages attendus.

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

Description

Issue template

  • Hardware description: ESP32-WROVER-E
  • RTOS: ROS2 Humble
  • Installation type: micro_ros_setup
  • Version or commit hash: Ubuntu 22.04.3 LTS, Arduino 1.8.19
Steps to reproduce the issue

Source the ROS 2 installation

source /opt/ros/$ROS_DISTRO/setup.bash

Create a workspace and download the micro-ROS tools

mkdir microros_ws
cd microros_ws
git clone -b $ROS_DISTRO https://github.com/micro-ROS/micro_ros_setup.git src/micro_ros_setup

Update dependencies using rosdep

sudo apt update && rosdep update
rosdep install --from-paths src --ignore-src -y

Install pip

sudo apt-get install python3-pip

Build micro-ROS tools and source them

colcon build
source install/local_setup.bash

Create step

ros2 run micro_ros_setup create_firmware_ws.sh freertos esp32

Configure step with ping_pong app and serial transport

ros2 run micro_ros_setup configure_firmware.sh ping_pong --transport serial

I followed all these steps no issues till now

Build step

ros2 run micro_ros_setup build_firmware.sh

when i executed command in between it shows as "colcon build stderr output"
later it will complete the execution without any error 100% build target app.

Flash step

ros2 run micro_ros_setup flash_firmware.sh

Download micro-ROS-Agent packages

ros2 run micro_ros_setup create_agent_ws.sh

Build step

ros2 run micro_ros_setup build_agent.sh

while executing this line it gives

$ ros2 run micro_ros_setup build_agent.sh
source install/local_setup.bash
Building micro-ROS Agent
Starting >>> micro_ros_msgs
Finished <<< micro_ros_msgs [6.49s]
Starting >>> micro_ros_agent
[Processing: micro_ros_agent]
--- stderr: micro_ros_agent
Cloning into 'xrceagent'...
Switched to a new branch 'ros2'
HEAD is now at 2cbbc4a Fix deserialization endianness (#336)
CMake Warning (dev) at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
The package name passed to find_package_handle_standard_args (tinyxml2)
does not match the name of the calling package (TinyXML2). This can lead
to problems in calling code that expects find_package result variables
(e.g., _FOUND) to follow a certain pattern.
Call Stack (most recent call first):
cmake/modules/FindTinyXML2.cmake:40 (find_package_handle_standard_args)
/opt/ros/humble/share/fastrtps/cmake/fastrtps-config.cmake:51 (find_package)
CMakeLists.txt:153 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.


Finished <<< micro_ros_agent [53.1s]

Summary: 2 packages finished [1min 1s]
1 package had stderr output: micro_ros_agent

source install/local_setup.bash

Run a micro-ROS agent

$ ros2 run micro_ros_agent micro_ros_agent serial --dev /dev/serial/by-id/usb-Silicon_Labs_CP2102N_USB_to_UART_Bridge_Controller_8484ebb7cd24ec11ad45dd31b659684c-if00-port0
executes correctly

[1697617695.989983] info | TermiosAgentLinux.cpp | init | running... | fd: 3
[1697617695.990224] info | Root.cpp | set_verbose_level | logger setup | verbose_level: 4
[1697617697.966921] info | Root.cpp | create_client | create | client_key: 0x78DB3FD8, session_id: 0x81
[1697617697.967054] info | SessionManager.hpp | establish_session | session established | client_key: 0x78DB3FD8, address: 0
[1697617697.994969] info | ProxyClient.cpp | create_participant | participant created | client_key: 0x78DB3FD8, participant_id: 0x000(1)
[1697617698.013419] info | ProxyClient.cpp | create_topic | topic created | client_key: 0x78DB3FD8, topic_id: 0x000(2), participant_id: 0x000(1)
[1697617698.026173] info | ProxyClient.cpp | create_publisher | publisher created | client_key: 0x78DB3FD8, publisher_id: 0x000(3), participant_id: 0x000(1)
[1697617698.039648] info | ProxyClient.cpp | create_datawriter | datawriter created | client_key: 0x78DB3FD8, datawriter_id: 0x000(5), publisher_id: 0x000(3)
[1697617698.057389] info | ProxyClient.cpp | create_topic | topic created | client_key: 0x78DB3FD8, topic_id: 0x001(2), participant_id: 0x000(1)
[1697617698.069736] info | ProxyClient.cpp | create_publisher | publisher created | client_key: 0x78DB3FD8, publisher_id: 0x001(3), participant_id: 0x000(1)
[1697617698.083964] info | ProxyClient.cpp | create_datawriter | datawriter created | client_key: 0x78DB3FD8, datawriter_id: 0x001(5), publisher_id: 0x001(3)
[1697617698.101279] info | ProxyClient.cpp | create_topic | topic created | client_key: 0x78DB3FD8, topic_id: 0x002(2), participant_id: 0x000(1)
[1697617698.114001] info | ProxyClient.cpp | create_subscriber | subscriber created | client_key: 0x78DB3FD8, subscriber_id: 0x000(4), participant_id: 0x000(1)
[1697617698.128575] info | ProxyClient.cpp | create_datareader | datareader created | client_key: 0x78DB3FD8, datareader_id: 0x000(6), subscriber_id: 0x000(4)
[1697617698.148276] info | ProxyClient.cpp | create_topic | topic created | client_key: 0x78DB3FD8, topic_id: 0x003(2), participant_id: 0x000(1)
[1697617698.160762] info | ProxyClient.cpp | create_subscriber | subscriber created | client_key: 0x78DB3FD8, subscriber_id: 0x001(4), participant_id: 0x000(1)
[1697617698.175174] info | ProxyClient.cpp | create_datareader | datareader created | client_key: 0x78DB3FD8, datareader_id: 0x001(6), subscriber_id: 0x001(4)

In another terminal if i run
source /opt/ros/$ROS_DISTRO/setup.bash

Subscribe to micro-ROS ping topic

ros2 topic echo /microROS/ping

ros2 topic echo /microROS/ping
WARNING: topic [/microROS/ping] does not appear to be published yet
Could not determine the type for the passed topic

I have gone through Domail ID and set it to even 0 then also i am getting the same result.
I even refered this and other links regarding the same https://github.com/micro-ROS/micro_ros_arduino/issues/21

This line also gets exicuited correctly code gets uploaded to the board.

Expected behavior

You should see the topic messages published by the Ping Pong node every 5 seconds:

user@user:~$ ros2 topic echo /microROS/ping
stamp:
sec: 20
nanosec: 867000000
frame_id: '1344887256_1085377743'

stamp:
sec: 25
nanosec: 942000000
frame_id: '730417256_1085377743'
ros2 run micro_ros_setup create_firmware_ws.sh freertos esp32

Actual behavior

WARNING: topic [/microROS/ping] does not appear to be published yet
Could not determine the type for the passed topic

Additional information
Langage dominant
C++
Étoiles
201
Forks
111
Merge moyen
1 j 6 h
PR mergées (30 j)
10

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.

Autres issues de micro-ROS/micro-ROS-Agent

Toutes les issues de micro-ROS/micro-ROS-Agent

Issues similaires

Plus d'issues C++

Recevez les nouvelles issues par e-mail

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