micro-ROS / micro-ROS/micro_ros_setup
micro_ros_agent not found when launching sensor_combined_listener.launch.py
- Dominant language
- Shell
- Stars
- 509
- Forks
- 183
- Avg merge
- 22h 26m
- Merged PRs (30d)
- 7
Description
Background: I have a ros2-px4 docker container with micro-ROS installed (ros2 foxy).
I can successfully launch the micro-ros-agent with the command:
ros2 run micro_ros_agent micro_ros_agent udp4 --port 8888
But when I start another terminal and launch the sensor_combined_listener.launch.py-file in the px4_ros_com/launch package, I get the following error output:
```bash
[INFO] [micro_ros_agent udp4 --port 8888 -v -1]: process started with pid [529904]
[INFO] [sensor_combined_listener-2]: process started with pid [529906]
[micro_ros_agent udp4 --port 8888 -v -1] /bin/sh: 1: micro_ros_agent: not found
[ERROR] [micro_ros_agent udp4 --port 8888 -v -1]: process has died [pid 529904, exit code 127, cmd 'micro_ros_agent udp4 --port 8888 -v '].
```
It seems like the command micro_ros_agent is not recognized even though it was just used and started an agent.
In the default sensor_combined_listener.launch.py-file, the command for starting the agent was previously called "micro-ros-agent" which I have changed to "micro_ros_agent", which fixed previous errors, but this error is new and unknown to me.
(I have sourced the ros installation and ros workspace). I can do a colcon build in the ros workspace with only stderr outputs as errors, rest is built successfully (i.e. no packages fail to build), which does not say much specific.
This workspace contains both px4-dependencies and micro-ROS source files, but micro-ROS is supposed to be used together with PX4-Autopilot. The PX4-Autopilot-repo is located in a separate src-folder.
Thankful for any help!
Contributor guide
Research direction
Start with px4_ros_com/launch/sensor_combined_listener.launch.py and compare its agent command with the successful `ros2 run micro_ros_agent micro_ros_agent udp4 --port 8888` invocation. Check how the launch process resolves the executable in the sourced environment; done means the launch starts the micro-ROS agent without exit code 127 and the sensor listener also starts.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, shell
- Domain
- embedded-iot, robotics
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100