Closed badmanwillis closed 3 months ago
All of the warnings mentioned above are normal, & to be expected; both for building the ROS workspace, and the uROS firmware (create, config, build).
When first learning ROS2, the tutorial Configuring environment asks the user to export a ROS_DOMAIN_ID variable, and suggests adding the export to the bashrc file.
echo "export ROS_DOMAIN_ID=
" >> ~/.bashrc
For reasons I sort-of-get but don't fully understand, the domain ID variable clashes with the uROS application. This means the ping_pong App will run, but won't be visible to the ROS system. Commenting or removing the line of code from the bashrc file will remove the problem.
I recommend the Devs amend the tutorial First micro-ROS Application on Linux to include a note on the Domain ID, ideally with an explanation of the issue.
Hey, @badmanwillis. I am also facing the same issues.
I'm unable to echo the /microROS/ping, also I don't see that topic. I am only see these two topic: /parameter_events /rosout
I tried set ROS_DOMAIN_ID and also remove it, seems the problem still occurs.
Do you have any idea?
Issue template
Steps to reproduce the issue
Follow tutorial steps for my First micro-ROS Application on Linux
Install and build, Create & build firmware workspace, create_firmware_ws.sh [RTOS] [Platform], Create & build micro-ros agent.
Run micro-ros agent, node, and attempt to echo the /microROS/ping topic
Expected behavior
Run ping_pong demo, expect to be able to list & echo /microROS/ping topic.
Actual behavior
When running
ros2 topic echo /microROS/ping
i get the resultThen if i attempt to
colcon build
the workspace, I get a failure trying to build > rclcIf i run through the tutorials again, I get warnings when running
ros2 run micro_ros_setup build_firmware.sh
(after deleting the firmware folder)I'm not confident in taking the risk to use the
--allow-overriding
option If let the workspace finish building, and I don't run theexport RMW_IMPLEMENTATION=rmw_microxrcedds
command, the ping_pong demo still doesn't work (as expected) but the workspace can still be built.Which implies that the command
export RMW_IMPLEMENTATION=rmw_microxrcedds
is part of the issue. Would using--allow-overriding microcdr rosidl_typesupport_microxrcedds_c rosidl_typesupport_microxrcedds_cpp
be the safe / smart thing to try next?Additional information
I'm confident that I'm not making basic mistakes; that I'm in the right workspace, sourcing for each new terminal tab etc. Additionally, I'm wondering if this is an issue I can sidestep for running microros on a microcontroller device, as I see no mention of the
export RMW...
command for the "First micro-ROS Application on FreeRTOS / Zephyr" Tutorials