Robotics StackExchange | Archived questions

remote roslaunch failed to launch error

Hi,

I'm trying to use 2 RaspberryPis to record video with, using the ROS and raspicamnode. Working with one camera works fine, but when I fire up the second camera, the first one disconnects saying that the node name has been reassigned to a new one. If I launch one as raspicamnode and the second camera as raspicamrawnode, both cameras stream st the same time, but I need both as raspicamrawnodes.

I saw that you can use ROS launch configurations to have several nodes of the same name and roslaunch will rename them internally. I set up my roslaunch file, however, I get an error when executing it. Here is the full output in verbose mode:

... logging to /home/pi/.ros/log/e4996e78-6fda-11e5-8a6d-b827eb9e23de/roslaunch-rpi2-2-2689.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

... loading XML file [/opt/ros/groovy/etc/ros/roscore.xml]
... executing command param [rosversion roslaunch]
Added parameter [/rosversion]
... executing command param [rosversion -d]
Added parameter [/rosdistro]
Added core node of type [rosout/rosout] in namespace [/]
... loading XML file [record-stereo-90fps-640-480-raw.launch]
Added machine [1]
Added machine [2]
Added node of type [raspicam/raspicam_raw_node] in namespace [/]
Added node of type [raspicam/raspicam_raw_node] in namespace [/]
started roslaunch server http://rpi2-2:41361/
remote[192.168.1.1-0] starting roslaunch
remote[192.168.1.1-0]: creating ssh connection to 192.168.1.1:22
launching remote roslaunch child with command: [env ROS_MASTER_URI=http://192.168.1.1:11311 /home/pi/ROS-    env.sh roslaunch -c 192.168.1.1-0 -u http://rpi2-2:41361/ --run_id e4996e78-6fda-11e5-8a6d-b827eb9e23de]
remote[192.168.1.1-0]: ssh connection created
[192.168.1.1-0] process has died
remote roslaunch failed to launch: 1

This is my roslaunch file:

<launch>
  <!-- roscore is running on 1 -->
  <env name="ROS_MASTER_URI" value="http://192.168.1.1:11311"/>

  <!-- roscore is running on 2 -->
  <!--<env name="ROS_MASTER_URI" value="http://192.168.1.2:11311"/>-->

  <machine name="1" address="192.168.1.1" env-loader="/home/pi/ROS-env.sh" />
  <machine name="2" address="192.168.1.2" env-loader="/home/pi/ROS-env.sh"/>

  <node machine="1" name="righteye" pkg="raspicam" type="raspicam_raw_node" args="_framerate:=90 _width:=640 _height:=480" respawn="true">
    <remap from="camera/image" to="cameraright/image"/>
    <remap from="camera/camera_info" to="cameraright/camera_info"/>
  </node>

  <node machine="2" name="lefteye" pkg="raspicam" type="raspicam_raw_node" args="_framerate:=90 _width:=640 _height:=480" respawn="true">
    <remap from="camera/image" to="cameraleft/image"/>
    <remap from="camera/camera_info" to="cameraleft/camera_info"/>
  </node>
</launch>

Also, the contents of (on machine 2, machine 1 IP addresses end with .1):

#!/bin/sh

export ROS_IP=192.168.1.2
export ROS_HOSTNAME=192.168.1.2

. /opt/ros/groovy/setup.sh
. /home/pi/catkin_ws/devel/setup.sh

I'm fairly new to ROS, any help would be appreciated or tips, e.g. which log files to look at to help me find the problem, would also help.

One last question, the roslaunch files are only used for configuration, right? If I want to start capturing data from the camera and write it to rosbag file, I will still have to issue those commands, or can they be part of the roslaunch file?

Cheers, Dominik

Asked by dobe on 2015-10-16 14:10:14 UTC

Comments

Answers