launching remote machine
My startup_launch.sh on remote machine:
#!/bin/bash
export ROS_IP=<remote-ip>
export ROS_MASTER_URI=http://<local-ip>:11311
source /opt/ros/noetic/setup.bash
source /home/ubuntu/service_robot_ws_old/devel/setup.bash
My medicbot.launch in local pc:
<?xml version="1.0"?>
<launch>
<machine name="ubuntu" address="<remote-ip>" user="ubuntu" password="airobotics" env-loader="~/scripts/startup_launch.sh" default="true"/>
<include file="$(find medicbot_control)/launch/medicbot_diff_drive_controller.launch"/>
</launch>
After i launch this launch file from my local pc i'm getting this kind of errors:
Resource not found: medicbot_control
ROS path [0]=/opt/ros/noetic/share/ros
ROS path [1]=/home/ubuntu/turtlebot3_ws/src
ROS path [2]=/opt/ros/noetic/share
The traceback for the exception was written to the log file
Here i can easily ssh loing to my remote machine with ssh ubuntu@<remote-ip> and run the medicbot_control pkgs. But when i try to launch the same file from the local pc i'm getting above errors.
I'm using ros noetic on ubuntu 20.04. I'm connected my raspberry pi 4B (8 gb ram) through ethernet right now and doing all this testing.
Here when i try to run the node instead of launch file also it is showing error:
<?xml version="1.0"?>
<launch>
<machine name="ubuntu" address="<remote-ip>" user="ubuntu" password="airobotics" env-loader="~/scripts/startup_launch.sh" default="true"/>
<node machine="ubuntu" pkg="cv_camera" type="cv_camera_node" name="cv_camera_node"/>
</launch>
The error is:
remote[10.42.0.107-0] starting roslaunch
remote[10.42.0.107-0]: creating ssh connection to 10.42.0.107:22, user[ubuntu]
launching remote roslaunch child with command: [env ROS_MASTER_URI=http://localhost:11311 ~/scripts/startup_launch.sh roslaunch -c 10.42.0.107-0 -u http://linux:42821/ --run_id d6360b06-2a2f-11eb-af75-bd8bf4312da5 --sigint-timeout 15.0 --sigterm-timeout 2.0]
remote[10.42.0.107-0]: ssh connection created
[10.42.0.107-0] killing on exit
RLException: remote roslaunch failed to launch: ubuntu
The traceback for the exception was written to the log file
So even the simple cv_camera_node is not working even with machine tag.
Since you've confirmed that you have the resource, it seems that the issue is with the environment setup. As found in the roslaunch
<machine>
tag documentation, the environment script generally ends withexec "$@"
. Does that help?