OSKR - gregory-j-r/Anki-Vector-ROS2 GitHub Wiki
OSKR - Open Source Kit for Robotics - is a firmware upgrade that can be done to the Anki Vector robot. The OSKR allows users to ssh connect onto the robot and edit files of their choosing.
Firmware Partitions
The Vector robot comes installed with standard firmware. It has 2 data partitions, partition A and partition B, which contain firmware. On startup it will attempt to load one of these partitions, and if it fails it will move on and try the next. If both partitions fail it will enter what is known as recovery mode. Recovery mode is used as a safety net, firmware which will never upgrade and so will never be corrupted, and is a safe place to go to before refilling partitions A and B with newer versions of the firmware. The main step of the OSKR upgrade is to replace this recovery mode firmware with a custom unlock image.
Install Instructions
Step 1: Getting your QSN
- I found the connection to Vector using the auto-setp method to be more finicky, and the command line version more reliable. Here are the steps I use for this process:
- Go to https://vector-setup.ddl.io and pair with Vector
- Be sure the Enable auto setup button is not check marked
- Enter Vectors serial number (visible on undercarriage and vectors face screen) and click submit
- You should now be navigated to a terminal
- Enter the command
logs
- The logs should download onto your device
- Open the logs folder that was downloaded, navigate to and open the file factory/log1
- The QSN and ESN should be visible at the bottom of the file
- Deliver the QSN and ESN to Digital Dream Labs and they will prepare you an OSKR flashing image
Step 2: Doing a Test Upgrade This step is very important and should never be skipped. A test upgrade will attempt to update the firmware in either partition A or partition B with the newest firmware version available. If something goes wrong during the process there are no issues, as the robot can simply boot into recovery mode and try again.
If you attempt to do the OSKR recovery mode reflashing and something goes wrong the robot will not function and will not be salvageable. This is because you will have corrupted the recovery mode firmware, and so the robot will have nowhere to boot into and will cease to start up. That is why doing a test upgrade is so crucial.
Step 3: Installing the Unlock Image It seems a little ambiguous so I’ll state the main steps here:
- Update to latest.ota (the production one for test upgrade)
- Unlock with your custom OSKR image received from DDL
Step 4: Installing the latest OSKR image Pretty straight forward, but be sure to use the latest.ota that’s specifically for OSKR
Step 5: Getting your ssh Key Follow the exact same steps as in Step 1: Getting your QSN, but navigate to and open the file data/diagnostics/ssh/id_rsa. Then when testing the ssh connection, when adding the key to the keyring, replace ssh-add ~/.ssh/id_rsa_Victor-X1Y1 with ssh-add ~/.ssh/id_rsa_Vector-X1Y1 in the steps.