Spotmicro optimized for running with fewer motors

By Samuel Valland Lyngset and Hallvard Innset Hurum

1) Servo actuated quadroped walking robot

After reviewing the assignment’s task list, we chose the quadruped robot because it delivers the right mix of ambition and practicality for our team. By staying with four legs, we keep the hardware scope manageable while still tackling interesting locomotion and optimization challenges. This path should also let us operate without relying on the ROBIN walking hub, making the project more flexible and better aligned with the resources we have on hand.

2) Goals

The goal of this project is to build a 3D-printed quadruped robot that can move as fast as possible without falling. We will mainly focus on improving the robot’s “brain” so it runs faster to a given design. We’ll train and test in simulation, likely in rex-gym^1.

We’re mainly inspired by Spotmicro[^3] in combination with the rex-gym^1 environment used for simulation. We intend to lock four of the servos in the rex-gym environment to be able to train a model for our implementation. The Spotmicro is a small 3d-printable robot dog controlled with servos much like how we intend to implement our design.

3) Sketch

We will build a Spotmicro-derived quadruped robot that replaces the 12-motor configuration with 8 Dynamixel servos mounted in mirrored hip-knee pairs. Each leg keeps 3D-printed mounts for carbon fiber tubes with the knee driven by an AX12 and the hip pitch driven by an AX18, while the hip roll/abduction joint is fixed to simplify control. The body houses the ROBTIS U2D2 interface. We’ll try to make a PPO policy to control the motors, but if that is to complicated we will try to use a simpler hilclimping aproach[^2].

The sketch illustration.png shows the leg layout and servo placement. We wil also mount an IMU centered near the center of mass.

Planned software optimization steps:

4) Bill of materials (BOM)

Item Description Quantity
1 Dynamixel AX12 4
2 Dynamixel AX18 4
3 ROBTIS U2D2 Driver and powerboard 1
4 Sparkfun ICM 20948 IMU 1

5) Plan

We plan to follow an iterative development process, meaning that we will design, test, and improve the robot step by step. The first part of the project will focus on building the mechanical design and setting up the simulation, while the later part will focus on optimization and physical testing.

The first couple of weeks we will focus on designing our robot in SolidWorks. Our robot will be similar to the spotmicro [^3] robot, mentioned under “GOALS”, but we will use fewer servos (8 instead of 12). The goal is to create 3D-printed parts that fit our servos, and electronics correctly. We will also begin printing and assembling an initial prototype to make sure everything fits together. The following weeks we will use the REXGym environment to test and optimize our robot design in simulation. When we feel like we have a working optimization we will test it in the real world to try to find out if the optimization needs to be tweaked to handle the reality gap in the best way possible. We will document the different challenges we face and the different iterations and stages of the robots development throughout the project to show progress and reflect on what worked well and what didn’t.

Iteration Primary focus Key deliverables Validation checkpoint
Inception (due 23. Oct) Define scope, success metrics, and baseline robot layout System requirements, initial CAD sketches, simulation environment stub Peer review of requirements, CAD sanity check
Elaboration (due 30. Oct) Stabilize mechanical design and interface electronics Updated CAD for 8-servo legs, wiring plan, BOM v2 Fit tests of 3D prints, electronics dry-run
Construction (due 6. Nov) Implement control stack and train policies PPO training scripts, reward tuning report, sim-to-real checklist Simulation benchmarks, regression tests on gait metrics
Transition (due 16. Nov) Integrate policy on hardware and iterate Deployed controller, tuning logs, demo video Field tests for speed vs. stability, retrospective notes

[^2]: hilclimping aproach [^3]: Spotmicro