Hi community!!
Following setup: one Ubuntu 16.04 PC with ros-kinetic and one Raspberry Pi with Ubuntu Mate and ros-kinetic.
On each machine there is a lauch-file for some nodes, they are configured to work together. As long as i launch them manually everything is fine :)
Problem: Now i merged the two separate launch-file and added the "machine"-tag.... For simplification and debuging, i tried it with the talker and listener from ros-tuorial. My approach looks like this:
<launch>
<machine name="alice" address="alice.emma.lab" env-loader="/opt/ros/kinetic/env.sh" />
<machine name="rosPi" address="rosPi.emma.lab" env-loader="/opt/ros/kinetic/env.sh" />
<node machine="alice" pkg="dummy" name="talker-alice" type="talker"/>
<node machine="rosPi" pkg="delault_pkg" name="listener-pi" output="screen" type="listener" />
</launch>
But all i get is:
....
remote[rosPi.emma.lab-0]: ssh connection created
....
MACHINES
* alice
* rosPi
....
process[talker-alice-6]: started with pid [4155]
[rosPi.emma.lab-0]: launching nodes...
[rosPi.emma.lab-0]: ROS_MASTER_URI=http://10.42.0.1:11311/
[rosPi.emma.lab-0]: ERROR: cannot launch node of type [delault_pkg/listener-pi]: delault_pkg
ROS path [0]=/opt/ros/kinetic/share/ros
ROS path [1]=/opt/ros/kinetic/share
[rosPi.emma.lab-0]: ... done launching nodes
So i checked: http://wiki.ros.org/ROS/NetworkSetup. Result: ssh-login with keys, ping, netcat and name resolution works, ROS_HOSTNAME & ROS_MASTER_URI are correct. On both PCs the firewall is down.
But still no chance with the given launch-file :/ Have i missed anything?? Any config, tag or somesing? I am grateful for any hint!
EDIT and Solution:
With the exact path to env-loader for the remote package:
<machine name="rosPi" address="ros-rasp-mate.emma.lab" env-loader="/home/labh/plattform-ros/devel/env.sh" />
It works :)
Originally posted by krl101 on ROS Answers with karma: 48 on 2018-03-26
Post score: 1
Original comments
Comment by gvdhoorn on 2018-03-26:
roslaunch xml substitution args (ie: find
and friends) are evaluated on the machine where roslaunch
is invoked. This means that if default_pkg
/ your workspace is not in the exact same location as on your desktop, it cannot be started on your Pi.
Can you check?
Comment by gvdhoorn on 2018-03-26:
Also: pkg="delault_pkg"
: is that a typo, or is it really delault
(and not default
)?
Comment by krl101 on 2018-03-26:
Thank you for your answer!
Yes, default vs delault is a typo in my Question -.-' Sorry for this!
If i understand your comment right, on both machines have to be the default_pkg under the same path?
This is not the case. This package is only on the Pi and not at the desktop, should it?