|
1 | | -This section records the development of a holonomic base, a major hardware upgrade that aims to replace the currently in use Dash Go diferential base. |
| 1 | +# Omnibase Overview |
2 | 2 |
|
3 | | -The change aims to increment the robot versatility to navigate though its environment as well as to be a more feasible and sturdy base for the robot in general, as being completely developed by the team accordingly to the competence specific needs. |
| 3 | +This section documents the design and implementation of a custom holonomic base for FRIDA, a significant hardware upgrade intended to replace the DashGo differential drive platform currently in use. |
4 | 4 |
|
| 5 | +## Motivation |
5 | 6 |
|
6 | | -This section documents the design and implementation of a new holonomic base for the robot, a significant hardware upgrade intended to replace the currently used DashGo differential drive platform. |
| 7 | +The DashGo platform, while functional, imposes constraints on the robot's navigation flexibility. Transitioning to a custom holonomic base offers several key advantages: |
7 | 8 |
|
8 | | -The motivation behind this transition is to greatly enhance the robot's mobility and versatility when navigating complex indoor environments as omnidirectional movement, enables smoother and more precise maneuvers, especially in tight or dynamic spaces. |
| 9 | +- **Omnidirectional movement** — the robot can translate in any direction without rotating, enabling smoother and more precise maneuvers in tight or dynamic indoor environments. |
| 10 | +- **Full mechanical ownership** — being entirely designed and built by the team allows complete control over the platform's architecture, facilitating future improvements and adaptations tailored to competition requirements. |
| 11 | +- **Improved integration** — custom electronics and mechanical structure allow a tighter integration between the base, the arm, and the rest of the robot's systems. |
9 | 12 |
|
10 | | -As a fully custom-made solution developed entirely by the team, this upgrade empowers the team with full control over the mechanical and electronic architecture of the platform, facilitating future improvements, experimentation and a design that is tailored to meet the specific challenges and requirements for the competition. |
| 13 | +--- |
| 14 | + |
| 15 | +## Mechanical Design |
| 16 | + |
| 17 | +### Wheel Selection: Mecanum vs Omni |
| 18 | + |
| 19 | +An early design decision was whether to use **mecanum wheels** or **omni wheels**. Both achieve holonomic motion but differ in their trade-offs: |
| 20 | + |
| 21 | +| Feature | Mecanum Wheels | Omni Wheels | |
| 22 | +|---|---|---| |
| 23 | +| Vibration & stability | Lower vibration, greater stability | More vibration | |
| 24 | +| Space efficiency | Larger footprint (wheels offset 45°) | Smaller footprint | |
| 25 | +| Push force | Greater in all directions | Lower | |
| 26 | +| Max velocity | Moderate | Higher | |
| 27 | +| Heavy load applications | Preferred | Less suitable | |
| 28 | +| Cramped space navigation | Moderate | Better | |
| 29 | + |
| 30 | +After evaluating competition requirements — particularly the need to carry loads and operate reliably — **mecanum wheels were selected** as the preferred choice. |
| 31 | + |
| 32 | +<p align="center"> |
| 33 | + <img src="../../assets/development/mechanics/spotlights/omniVSmecanum.png" alt="Mecanum vs Omni wheels comparison"> |
| 34 | +</p> |
| 35 | +<p align="center" style="font-size:small"><i>Space efficiency comparison between omni-wheels and mecanum wheels</i></p> |
| 36 | + |
| 37 | +### CAD Design |
| 38 | + |
| 39 | +The base structure uses **4040 aluminum extrusion profiles** as the main chassis frame. Motors are mounted with custom-designed motor mounts that adapt the actuator attachment to the extrusion profile geometry. |
| 40 | + |
| 41 | +<p align="center"> |
| 42 | + <img src="../../assets/development/mechanics/spotlights/omnibaseCAD.jpeg" alt="Omnibase CAD model"> |
| 43 | +</p> |
| 44 | +<p align="center" style="font-size:small"><i>Proof-of-concept CAD model of the omnibase</i></p> |
| 45 | + |
| 46 | +--- |
| 47 | + |
| 48 | +## Actuator System: ODrive S1 + BLDC Motors |
| 49 | + |
| 50 | +Each of the four wheels is driven by a brushless DC motor paired with an **ODrive S1** motor controller, following a quasi direct drive (QDD) approach inspired by the [OpenQDD project](https://www.aaedmusa.com/projects/openqdd). |
| 51 | + |
| 52 | +### ODrive S1 |
| 53 | + |
| 54 | +The [ODrive S1](https://docs.odriverobotics.com/v/latest/hardware/s1-datasheet.html) is a compact, high-performance FOC (Field-Oriented Control) motor controller designed for robotics applications. |
| 55 | + |
| 56 | +| Parameter | Value | |
| 57 | +|---|---| |
| 58 | +| DC bus voltage range | 12 V – 48 V (12S LiPo max) | |
| 59 | +| Continuous phase current | 40 A (with heat spreader) | |
| 60 | +| Continuous power output | 1600 W | |
| 61 | +| PCB footprint | 66 mm × 50 mm | |
| 62 | +| Mass | 35 g (55 g with screw terminals) | |
| 63 | +| Communication | CAN (isolated, daisy-chain), UART, USB-C | |
| 64 | +| Onboard absolute encoder | Yes — no homing required on startup | |
| 65 | +| Control modes | Torque, velocity, position, trajectory | |
| 66 | + |
| 67 | +**Key features for this application:** |
| 68 | + |
| 69 | +- **Galvanically isolated CAN bus** with daisy-chain connectors (J16/J17), allowing all 4 S1s to share a single CAN bus to the main controller without ground loop issues. |
| 70 | +- **Onboard absolute encoder** eliminates the need for homing routines when the robot powers on. |
| 71 | +- **Compact form factor** (smaller than a credit card) makes it feasible to mount directly on the base chassis. |
| 72 | + |
| 73 | +The four ODrive S1 units are connected in a CAN daisy-chain, all communicating with the central STM32H755 microcontroller using the **CANSimple protocol**. |
| 74 | + |
| 75 | +--- |
| 76 | + |
| 77 | +## Electronics & Control Architecture |
| 78 | + |
| 79 | +The control PCB is the central hub of the omnibase, designed entirely by the team. It interfaces the main computer with the four motor controllers and onboard sensors. |
| 80 | + |
| 81 | +### Control PCB |
| 82 | + |
| 83 | +The schematic was designed in EasyEDA (V1.0) by Ximena Trejo. Full schematic PDF available [here](../../assets/development/omnibase/rev2_baseomni_shield.pdf). |
| 84 | + |
| 85 | +<p align="center"> |
| 86 | + <img src="../../assets/development/omnibase/pcbcontrol_1.png" alt="Base Omni Shield - Page 1: STM32H755"> |
| 87 | +</p> |
| 88 | +<p align="center" style="font-size:small"><i>Base Omni Shield Rev 2 — Page 1: STM32H755 pinout</i></p> |
| 89 | + |
| 90 | +<p align="center"> |
| 91 | + <img src="../../assets/development/omnibase/pcbcontrol_2.png" alt="Base Omni Shield - Page 2: Peripherals and ODrive connectors"> |
| 92 | +</p> |
| 93 | +<p align="center" style="font-size:small"><i>Base Omni Shield Rev 2 — Page 2: TJA1051, BNO055, BLE module and ODrive connectors</i></p> |
| 94 | + |
| 95 | +### Key Components |
| 96 | + |
| 97 | +| Component | Interface | Role | |
| 98 | +|---|---|---| |
| 99 | +| **STM32H755** | — | Dual-core (Cortex-M7 + Cortex-M4) main microcontroller; handles CAN communication, odometry, and BLE | |
| 100 | +| **BNO055** | I2C (SCL/SDA) | 9-DOF IMU (accelerometer, gyroscope, magnetometer) for orientation and odometry fusion; powered at 3.3V | |
| 101 | +| **TJA1051** | CAN (CTX/CRX) | CAN bus transceiver; interfaces the STM32 CAN peripheral with the physical CAN bus to the 4 ODrive S1s; powered at 5V | |
| 102 | +| **BLE Module** | UART (BLE_RXD/BLE_TXD) | Bluetooth Low Energy module for wireless gamepad connectivity; 6-pin connector, powered at 5V | |
| 103 | +| **ODrive connectors ×4** | 30-pin | Per ODrive: CANH/CANL, PWM, encoder channels A+B (ENCA/ENCB), GND | |
| 104 | +| **CAN termination** | — | 2×60Ω resistors in series (= 120Ω) with 100nF capacitor to GND, per CAN bus standard | |
| 105 | +| **Power input** | Terminal block 2-pin | PWR_5V input with power switch (SW_PWR_STM); 3.3V and 5V indicator LEDs onboard | |
| 106 | + |
| 107 | +### Communication Topology |
| 108 | + |
| 109 | +``` |
| 110 | +[Main Computer] |
| 111 | + | |
| 112 | + [STM32H755] |
| 113 | + | (CAN via TJA1051 — CANH/CANL) |
| 114 | + +——[ODrive S1 #1] ← CANH, CANL, PWM, ENCA, ENCB |
| 115 | + +——[ODrive S1 #2] ← CANH, CANL, PWM, ENCA, ENCB |
| 116 | + +——[ODrive S1 #3] ← CANH, CANL, PWM, ENCA, ENCB |
| 117 | + +——[ODrive S1 #4] ← CANH, CANL, PWM, ENCA, ENCB |
| 118 | + [120Ω + 100nF termination] |
| 119 | +
|
| 120 | + + [BNO055] (I2C — SCL/SDA) |
| 121 | + + [BLE Module] (UART — BLE_RXD/BLE_TXD) |
| 122 | +``` |
| 123 | + |
| 124 | +The STM32H755 acts as the bridge between the high-level computer (running ROS 2) and the low-level motor controllers. It sends velocity/torque commands over CAN to each ODrive S1, and also routes PWM and encoder signals (ENCA/ENCB) per motor. IMU data from the BNO055 is read over I2C for odometry fusion. |
| 125 | + |
| 126 | +The PCB was designed in **EasyEDA (V1.0)** by Ximena Trejo, created and updated on 2026-03-09/10. |
| 127 | + |
| 128 | +--- |
| 129 | + |
| 130 | +## Software & Repository |
| 131 | + |
| 132 | +The firmware and ROS 2 integration code for the omnibase is maintained in the team's repository: |
| 133 | + |
| 134 | +- **GitHub:** [RoBorregos/home-custom-base](https://github.com/RoBorregos/home-custom-base) |
| 135 | + |
| 136 | +The repository includes: |
| 137 | +- STM32 firmware (CAN configuration, ODrive control functions, odometry) |
| 138 | +- ROS 2 nodes for base velocity commands and odometry publishing |
| 139 | +- Configuration and calibration utilities |
| 140 | + |
| 141 | +--- |
| 142 | + |
| 143 | +## References |
| 144 | + |
| 145 | +- [OpenQDD — Open-source Quasi Direct Drive Actuator](https://www.aaedmusa.com/projects/openqdd) |
| 146 | +- [ODrive S1 Datasheet](https://docs.odriverobotics.com/v/latest/hardware/s1-datasheet.html) |
| 147 | +- [Design Notes & Research Document](https://docs.google.com/document/d/1QnDMYmi6xfbKK6lK678KZRYBli9W_Uak3yHbTfzW1rE/edit?tab=t.0#heading=h.cye0jhos70dd) |
| 148 | +- K. Kanjanawanishkul, "Omnidirectional wheeled mobile robots: wheel types and practical applications," *International Journal of Advanced Mechatronic Systems*, vol. 6, no. 6, p. 289, 2015. |
| 149 | +- Mo. Massoud et al., "Mechatronic Design and Path planning optimization for an Omni wheeled mobile robot for indoor applications," *ICCTA*, 2021. |
0 commit comments