Files
m5p3nc3r c6d02bbe43 Ensure ros controller doesn't timeout on cmd_vel
The ros controller will timeout if it doesn't receive a cmd_vel message
in a given period, stopping the wheels.
webui sends messages at 100ms intervals, so the update rate needs to be 10Hz
This may need to be reviewed when using other input systems.
2026-05-27 23:10:20 +00:00
..

Robot Setup — Ansible

Automates provisioning of the Raspbot V2 target (raspbot-v2.local).

What it does

Step Detail
Enable SPI Runs raspi-config nonint do_spi 0 so the hardware interface is available at boot
Install Docker Uses the geerlingguy.docker role

Prerequisites

  • Ansible installed on your local machine (pip install ansible)
  • SSH access to raspbot-v2.local (key-based auth recommended)
  • The target is running Raspberry Pi OS

Configuration

Before running the playbook, set robot_user in inventory.ini to the non-root user account on the robot (i.e. the username you configured during imaging):

[raspbot:vars]
robot_user=matt

This user will be added to the docker group so that Docker commands can be run without sudo.

Usage

1. Install the required role:

ansible-galaxy install -r ansible/requirements.yml

2. Run the playbook:

The playbook runs tasks as root (become: true), so Ansible needs the sudo password for the remote user. Always include -K:

ansible-playbook -i ansible/inventory.ini ansible/setup_robot.yml -K

If you haven't set up SSH key-based auth yet, also add -k to prompt for the SSH password:

ansible-playbook -i ansible/inventory.ini ansible/setup_robot.yml -k -K

The SSH user is taken from robot_user in inventory.ini, so there is no need to pass -u separately.

Files

ansible/
├── inventory.ini       # Defines the raspbot-v2.local host
├── requirements.yml    # Ansible Galaxy role dependencies
└── setup_robot.yml     # Main playbook