Setup of MiniRover
This section will help you get your robot set up to go. Note that if you received this from the Autonomous Robotics Lab then part of these steps may already be done.
See the important information about turning the robot on and off here: Using the Robot.
MicroSD Card (if needed)
If your robot was set up by us, then you should skip this step!
You are going to load software onto the microSD Card - which will wipe out what you loaded onto it according the the instructions before. We provide you a disk image on which to store it. It changes from time to time. This link is to a google folder that will contain the versions. You should use the latest one in that folder. I recommend you use the app "Balena Etcher" to copy the image onto your microSD card.
To create a new MicroSD from the old one, see Backup Raspi Card on MacOS
Connecting to the network
Now we are facing a dilemma. We need to get the robot on your network. There are several ways of doing this. Below are two specific scenarios that we support:
- A usb keyboard, usb mouse and a HDMI display and eduroam wifi access
- OR A network cable and non-eduroam wifi access
- A MiniRover v2 and non-eduroam wifi access. It should be labeled with a name.
Scenario 1
-
We will tell you what the name of your robot is. Plug it in below wherever you see
gopigo3
-
Locate a wired network connection (on your router for example) and use a network cable to connect your robot to the network
-
Now turn the power on (see Using MiniRoverfor instructions. It should boot up into linux. But you won't know this because there's no keyboard or screen!
-
Using your own computer or development environment that is attached to the network check that you see the robot. This includes a linux computer where you program, or a browser web development environment. Broadly speaking, it's the computer "other than" to raspberry pi on the robot (we will refer to this as the remote computer from now on).
Once this works you know that you have access to the robot from your remote computer. Make note of the robot' ip address. It will likely look like 192.168.1.xx but not necessarily.
- Now use
ssh
(secure shell) to get to the robot from the remote:
It will ask you for the password for account pi
. It is raspberry
. Once you get in you are 1/2 way there!
- Now we want to get your robot onto your local wifi network. You need to know the wifi network's name and password. On the robot command line type:
Where \<SSID> is the network's name. You can surround it in quotes if there are spaces or other funny characters.
-
Next shutdown the robot nicely (see above), disconnect the network cable, and start the robot up nicely again (see above.)
-
Once it's back, follow the same steps to
ssh pi@gopigo3.local
and enter the passwordraspberry
and you should have a wireless enabled robot.
Scenario 2
-
Connect your mouse, keyboard and screen to the Raspberry pi. You will find several free USB ports and an HDMI port. Look closely they are all there.
-
Boot up the Raspberry Pi and wait until it is running and you see the desktop
- Locate the network settings dialog box by clicking the network icon on the top right
- Add eduroam as a network, and fill it in as follows:
- Finally shutdown the robot, unplug the keyboard, mouse and monitor and reboot
- Once it's back
ssh pi@gopigo3.local
and enter the passwordraspberry
and you should have a wireless enabled robot
Scenario 3 incomplete and incorrect
You've received a fully set up and tested Minrover v2, and you know the name. The following steps are written as if the robot is called mr1
. Scenario 3 Robots will have the account ubuntu with the password ubuntu (so different from scenario 1 and 2)
- Now turn the power on (see Using MiniRoverfor instructions. It should boot up into linux. But you won't know this because there's no keyboard or screen!
- MiniRover will come up as a Wifi access point. The SSID is mr1XXXX where XXXX is part of the MAC address. The wifi password is robotseverywhere.s Connect to it via your computer's wifi.
Troubleshooting ssh gopigo3.local
Under certain circumstances gopigo3.local will be found. If so you need to find out the ip address of your robot when it is on wifi (not wired). If then this should work:
Updating the hostname of your Robot
Rename the hostname
of your robot. It comes to you called "gopigo3" but they are all called that and this can cause confusion. Let's say you want to call your robot pitosalas
. Oddly you have to change it in two places. Here's how"
# In the shell of the robot:
sudo hostname pitosalas
# In the hostname file:
sudo nano /etc/hostname
pitosalas
and at least it will be different from other miniRovers.
Eduroam
On eduroam it is often automatically known as gopigo3.dyn.brandeis.edu. So after rebooting it check if this works. It's not guaranteed but often it works just fine.
VPN
You can run everything on the robot itself but it doesn't have a screen. You could plug an external screen, keyboard and mouse and have a complete ROS enabled computer (the robot) at your finger-tips. But it would be real slow. So instead we are going to add the robot to a "VPN" - virtual private network which will allow you to work with it remotely.
- Prepare the VPM configuration by:
sudo apt-get remove -y tailscale
sudo rm -rf /var/lib/tailscale/tailscaled.state
# Reboot right after!
sudo reboot
- Setup VPN
# Get the tskey from Pito
cd ~/rosutils
chmod +x pi_connect.sh
# Run the script with the tailscale authkey
sudo ./pi_connect.sh <tskey-123abc456>
# On successful connect, you should see this
# Connected. IP address: 100.xx.xxx.xxx
myvpnip
should now return that same IP address.
Updates for your Robot
We have installed some Brandeis specific software which should be updated:
cd ~/rosutils
git pull
cp ~/rosutils/bashrc_template.bash ~/.bashrc
cd ~/catkin_ws/src/gpg_bran4
git pull
And then edit the new ~/.bashrc according to the instructions in the file.
Updates to your Cloud Desktop
- Check that you have ~/rosutils directory on your cloud desktop. If not:
Edit .bashrc according to the instructions in it