Robot - GoPiGo
BOM¶
| Name | Example Shop Link |
|---|---|
| GoPiGo Kit | https://gopigo.io/gopigo/ |
| Raspberry Pi 4 B - 8 GB Memory Version | https://www.berrybase.de/en/raspberry-pi-4-computer-modell-b-8gb-ram |
| Raspberry Pi Camera Modules v2 | https://www.berrybase.de/en/raspberry-pi-camera-module-8mp-v2 |
| SD Card * 128 GB recommended * 64 GB minimum |
https://www.berrybase.de/en/sandisk-extreme-microsdxc-a2-uhs-i-u3-v30-190mb-s-speicherkarte-adapter-128gb |
| 3D Printed Camera Mounts 🛠️ custom, you have to print it. |
https://github.com/cloud-native-robotz-hackathon/3dprint-parts |
| WiFi Router, optional but recommended | https://store-eu.gl-inet.com/collections/new-arrivals/products/flint-3-gl-be9300-tri-band-wi-fi-7-home-router |
It is roughly 350 Euro per robot + 200 Euro the optional WiFi router.
Pictures¶
Setup Robot from Scratch¶
This should only be neccessary with a new robot or when repairing/updating/replacing a robot.
Step 1) Install image¶
- Download latest image Ubuntu 22.04, Microshift 4.8 from: https://drive.google.com/drive/folders/1huFhZTknLdMx4BAWrlbNhOonxboOjHLn
- Write to SD Card, will be resized to SD Card size at first boot
- The image will be resized to SD card size on first boot
- The image is preconfigured with:
- Automatic connection to the hackathon WIFI "robot-hackathon-78b09", password in Bitwarden collection.
- Robot hackathon SSH key (Bitwarden Collection)
Step 2) Network & Hostname configuration¶
- Boot robot with new image
-
Go to Wifi router Admin page: https://192.168.8.1 (Admin password is stored in Bitwarden, collection
Robot hackathonitemWifi router admin access) -
Connect to the robot to configure the hostname:
Optional check via camera where you are:
(If available) open via Browser:
http://192.168.8.<REPLACE IP>:8000/testimage.jpgChange hostname and reboot via:
Pick robot name aka hostname from the nine robot travel kit or choose your own. When choosing your own make sure to update the env robot mapping in the provisioning form and the ansible inventory
-
Now the robot should appear with the right hostname aka robot name
-
Toggle/Enable the "Reserved IP" switch
Step 3) Finish configuration via ansible¶
To finish the configuration, you have to run a number of Playbooks against the robot(s) from your laptop.
Clone the GitHub repo infrastructure.
The Playbook automation/bootstrap-robot.yaml does the following steps:
- Ensures the robot is running latest image before proceeding.
- Clones and installs edge-controller in a specified version from GitHub to /opt/edge-controller.
- Clones and installs robot-config-service in a specified version from GitHub to /opt/robot-config-service.
- Configures, enables, and restarts the edge-controller systemd unit and makes sure it runs.
- Updates /etc/issue (login banner), /etc/hosts, and sets the system hostname to match the inventory.
Create the vars file with the connection details and run the Playbook. You can get these values from the Readme in the referenced Github repo and the Bitwarden vault.
Then log into the Hubcontroller (
Advanced rarely used topics¶
Camera Setup (Raspi camera v2)¶
Playbook camera-test.yaml is here camera-test.yaml to fetch camera image:
Open all camera-test*jpg files.
Cable orientation: blue “bar” on cable oriented to USB ports, blue bar at camera away from lens
Custom network configurartion¶
- The robot will automatically connect to a WIFI with the SSID and key/password listed above.
- If you want to configure another WIFI, attach a network cable and SSH into the robot (root /
from Bitwarden collection) or mount the SD card and change on disk. -
Edit /etc/netplan/50-cloud-init.yaml and add your WIFI access point, reboot or run
* Reboot the robotnetplan apply. Config example: -
Now the boot screen should look like this, and show the new IP address


