We have a mobile device (an Odroid) with a camera that runs a ROS node that publishes the camera data. We interface the device by SSHing into it via its WiFi dongle. We want to record a dataset while moving outdoors, i.e. where the device loses its WiFi connection.
We try do this the following way:
ssh odroid@[odroid ip]
screen
roscore &
roslaunch my_pkg camera_node.launch
[ctrl-A, d] # detach the screen
screen
rosbag record /my_camera_topics
[ctrl-A, d] # detach the screen
[ctrl-D] # close SSH session
When we return to the WiFi area, we reconnect to the device via SSH, which has automatically re-established the network connection. We see both screens open and attaching to them shows that both the camera node and the rosbag recroding are still going on.
The problem is that the recording is incomplete. The rosbag simply ends at a point which we assume to coincide with the moment the device lost the network connection.
The ROS_IP environment variable is set to the (static) IP this device has, but the problem persists if ROS_IP is left unset.
How can we record complete datasets in this kind of scenario?
↧