Why does this launch file fail to start node on remote machine ?
I am trying to launch a node on a Raspberry Pi, called thalia from a desktop machine, called clio. I have spent many nights on this, but still cannot get it to work.
clio runs lubuntu 18.04 and melodic.
thalia runs lubuntu 16.04 and kinetic
My launch file is:
<launch>
<machine
name="thalia"
address="thalia"
env-loader="/home/paul/catkin_ws/devel/setup.sh"
password="mypassword"
/>
<node
machine="thalia"
name="PiServoNode"
pkg="servos"
type="ServoNode"
/>
</launch>
The command following command successfully launches a node when run on thalia:
rosrun servos ServoNode
I spent some time setting up thalia and clio so that I could ssh without a password bidirectionally. The method I used to do this involves creating an RSA key and copying it to the other machine (method given here ssh setup). However when I used the launch file I got an error saying the machine was not in known hosts. I found this explanation:
Roslaunch uses paramiko to create ssh connections, and it seems that paramiko still does not support the ecdsa algorithm, used now as default by last ssh, so it can't read from the known_hosts file generated with ecdsa and can't create the remote connections. full article
(kind of wish they had led with that !) I have not been able to get ssh to work without passwords using the solution given. I don't know if that is the root of the problem or not.
So I added a password to the machine definition in the launch file. This seems to allow a connection from clio to thalia, but the node still fails to launch. The log file is:
Any help will be appreciated as I am now out of ideas.