-
Notifications
You must be signed in to change notification settings - Fork 0
Connecting to Robots
- Turn on the robot and turn on the robot's computer
- Connect to the robot's wireless network
- Add the robot IP / hostname to your
/etc/hosts
file
- roben:
192.168.1.11 roben
- ig:
192.168.0.10 inspector-gadget
- Give yourself a static IP on the robot's network
- Verify connectivity from your machine -> robot
- e.g.,
ping roben
- Add your machine host name to robot's /etc/hosts
-
ssh steve@roben
orssh robot@inspector-gadget
-
sudo vim /etc/hosts
- Add your machine / static IP
- Verify connectivity from the robot -> your machine
- e.g.,
ping steve-PC
Setting up ssh authentication means you don't need to enter the robot's password when connecting to it.
- Check for existing SSH keys on your machine (which you should have for git)
ls -al ~/.ssh/
- Add your public ssh key to the robot's list of authorized hosts
-
cat ~/.ssh/id_rsa.pub | ssh steve@roben 'cat >> ~/.ssh/authorized_keys'
- replace
id_rsa.pub
&steve@roben
as appropriate
- replace
- You should now be able to ssh into the robot without a password
Executing this sshmount command (e.g., sshmount roben
) will mount the robot's HD into your local filesystem - this makes it easier to move/copy stuff and explore files on the robot (e.g., you can edit files on robot using your local editor).
- Create a folder where you will mount the robot HD (e.g.,
/home/steve/robots/roben
) - Add the following snippet to your
~/.bashrc
(change folder names as appropriate)
#code for mounting disk via ssh
sshmount(){
if [ $1 = "SJP480" ]; then
sshfs steve@SJP480:/ /home/steve/robots/SJP480
elif [ $1 = "roben" ]; then
sshfs steve@roben:/ /home/steve/robots/roben
elif [ $1 = "inspector-gadget" ]; then
sshfs robot@inspector-gadget:/ /home/steve/robots/ig
else
echo "Invalid name"
fi
}
Note: When you are finished with the robot, you need to un-mount the directory
- e.g.,
sudo umount -f /home/steve/robots/roben
If you want to echo topics that are being published by the robot from your local machine (e.g., for visualizing data in real time), you need to change some environment variables so that when you run roscore
on your machine it knows to look at the robot. Shell scripts have been made that set these variables for both robots:
- E.g., I keep a
remote-roben.sh
script with the following inside:
export ROS_MASTER_URI=http://192.168.1.11:11311 #Robot's hostname or IP
export ROS_IP=192.168.1.50 #Your machine's wireless static IP address on the robots net
- E.g., Or a
remote-ig.sh
script with the following inside:
export ROS_MASTER_URI=http://192.168.0.10:11311 #Robot's hostname or IP
export ROS_IP=192.168.0.50 #Your machine's wireless static IP address on the robots net
- Whenever I want to remote into Roben and echo topics, I just source this file (e.g.,
source remote-roben.sh
)
- Home
- Onboarding
- Installation Guide
- Libbeam
- Mapping
- Calibration
- Hardware Instructions
- Deep Learning
- Formatting
- PoTree Maps
- Supported Hardware
- Additional Resources