Use SCP to Transfer files from and to robots

Freedom's reverse SSH tunnel can also be used to remotely transfer files

Use SCP with the same IP address and port as ssh

  1. Ensure the agent is installed with SSH enabled

  2. Enable SSH tunneling for the device
    This will setup freedom's reverse ssh tunneling and enable tunneling on a specific port. All you need to copy over from the ssh command is that port number. In this example the port is 12464.

ssh [email protected] -p 12464
  1. Run your scp command using this port

Transfer a file from your local machine to the robot

Use the exposed port with an scp command:

scp -P 7822 file [email protected]:~/destination

Here is an example I used to transfer some floor plans I had downloaded from my local computer to our fetch robot:

scp -P 7822 /Users/myusername/fetch_robot/maps/floor_plan.* [email protected]:/home/fetch/catkin_ws/src/freedom_robot_a/navigation/freedom_slam_api/maps

Transfer a file from the robot to your local machine

You can also do the same thing in reverse (from remote robot to local machine) to pull a generated map off a robot

scp -P 7822 [email protected]:~/map_file destination

Here is a full working example I used to pull the whole folder of generated maps off the fetch robot and drop it on my desktop locally. The added -r option recursively copies for folders.

scp -r -P 12464 [email protected]:/home/fetch/catkin_ws/src/freedom_robot_a/navigation/freedom_slam_api/maps ~/Desktop/fetch_maps

Finally use man scp and scp -h for full usage like recursive folder copies and more.