Firmware for the Stampede RoboMaster team -- built on Taproot and modm
- Install Podman
- Install the ST-Link package for udev permissions (required for flashing code to the robots)
- Install VSCode (strongly recommended for ease of setup) and the Dev Containers extension
- Change Dev Containers: Docker Path to "podman" in VS Code settings
- Clone the repository
git clone --recurse-submodules https://github.com/ut-ras/robomaster
- Open the
robomaster
folder in VS Code - From the command palette (F1), run Dev Containers: Reopen in Container
- Done! When opening the project in the future, be sure to use the Dev Container
- Install Podman and git
- Start the Podman VM through Podman Desktop or by running
podman machine init --now
- Install VSCode (strongly recommended for ease of setup) and the Dev Containers extension
- Change Dev Containers: Docker Path to "podman" in VS Code settings
- Clone the repository
git clone --recurse-submodules https://github.com/ut-ras/robomaster
- Open the
robomaster
folder in VS Code - From the command palette (F1), run Dev Containers: Reopen in Container
- Done! When opening the project in the future, be sure to start the Podman VM and use the Dev Container
To build the code, open the repository in its Dev Container and run
scons build robot=<standard|hero|sentry>
.
Alternatively, use Run Build Task (Ctrl+Shift+B) in VS Code and select the robot type.
Note: Each robot has different hardware and requires variations in the code, so its important to ensure your final code builds on every robot.
To flash the code to robot hardware:
- Turn off power on the robot
- Connect an ST-Link to the robot and your computer
- Open a terminal and navigate to the repository (not in the Dev Container)
- Run
./flash.sh robot=<standard|hero|sentry>
- Once this is complete, the firmware is flashed and you can turn the robot back on
Note: Make sure you select the correct robot when flashing. Each robot has different hardware and flashing the wrong code can cause significant malfunctions and potential safety concerns.
Safety notice: These robots are big and powerful. When powering them on, and especially when testing new code, always be careful and assume they will malfunction. The wheel motors are of special concern since the robot can spin out of control or drive into someone or something and cause damage. Do not test the shooter at normal speeds unless in a controlled environment. In the event that anything goes wrong, the controller acts as a kill switch and can be powered off to shut down the motors.
To power on a robot and ensure proper calibration:
- Point the turret directly towards the battery and down to minimum pitch
- Turn on the battery by pressing the button once, releasing, and then holding for a few seconds
- Flip the power switch on
- Wait for the power up sequence to complete
- Power on the controller
- Taproot wiki: It has lots of content and we strongly recommend you browse through it to get a sense of what's there
- Taproot API reference: In-depth information about all the components of the library
- modm: Website and associated documentation
- aruw-mcb: ARUW's full robot code project available for reference