Skip to content

Commit 4ac13ec

Browse files
docs
1 parent db3ead3 commit 4ac13ec

File tree

1 file changed

+135
-5
lines changed

1 file changed

+135
-5
lines changed
Lines changed: 135 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,140 @@
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
22

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.
44

5+
## Motivation
56

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:
78

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.
912

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+
<p align="center">
84+
<img src="../../assets/development/omnibase/pcbcontrol1.png" alt="Motor control PCB - view 1">
85+
</p>
86+
<p align="center">
87+
<img src="../../assets/development/omnibase/pcbcontrol2.png" alt="Motor control PCB - view 2">
88+
</p>
89+
<p align="center" style="font-size:small"><i>Custom motor control PCB schematics (in development)</i></p>
90+
91+
### Key Components
92+
93+
| Component | Role |
94+
|---|---|
95+
| **STM32H755** | Dual-core (Cortex-M7 + Cortex-M4) main microcontroller; handles CAN communication, odometry, and BLE |
96+
| **BNO055** | 9-DOF IMU (accelerometer, gyroscope, magnetometer) for orientation and odometry fusion |
97+
| **TJA1051** | CAN bus transceiver; interfaces the STM32 CAN peripheral with the physical CAN bus connecting to the 4 ODrive S1s |
98+
| **BLE Module** | Bluetooth Low Energy module for wireless gamepad / controller connectivity |
99+
| **Motor connectors ×4** | Dedicated connectors for each ODrive S1 (CAN, power, signal) |
100+
101+
### Communication Topology
102+
103+
```
104+
[Main Computer]
105+
|
106+
[STM32H755]
107+
| (CAN via TJA1051)
108+
+——[ODrive S1 #1 — Front Left]
109+
+——[ODrive S1 #2 — Front Right]
110+
+——[ODrive S1 #3 — Rear Left]
111+
+——[ODrive S1 #4 — Rear Right]
112+
113+
+ [BNO055] (I2C/UART — IMU)
114+
+ [BLE Module] (UART — Gamepad)
115+
```
116+
117+
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, reads back encoder data for odometry, and fuses IMU data from the BNO055 for more accurate pose estimation.
118+
119+
---
120+
121+
## Software & Repository
122+
123+
The firmware and ROS 2 integration code for the omnibase is maintained in the team's repository:
124+
125+
- **GitHub:** [RoBorregos/home-custom-base](https://github.com/RoBorregos/home-custom-base)
126+
127+
The repository includes:
128+
- STM32 firmware (CAN configuration, ODrive control functions, odometry)
129+
- ROS 2 nodes for base velocity commands and odometry publishing
130+
- Configuration and calibration utilities
131+
132+
---
133+
134+
## References
135+
136+
- [OpenQDD — Open-source Quasi Direct Drive Actuator](https://www.aaedmusa.com/projects/openqdd)
137+
- [ODrive S1 Datasheet](https://docs.odriverobotics.com/v/latest/hardware/s1-datasheet.html)
138+
- [Design Notes & Research Document](https://docs.google.com/document/d/1QnDMYmi6xfbKK6lK678KZRYBli9W_Uak3yHbTfzW1rE/edit?tab=t.0#heading=h.cye0jhos70dd)
139+
- K. Kanjanawanishkul, "Omnidirectional wheeled mobile robots: wheel types and practical applications," *International Journal of Advanced Mechatronic Systems*, vol. 6, no. 6, p. 289, 2015.
140+
- Mo. Massoud et al., "Mechatronic Design and Path planning optimization for an Omni wheeled mobile robot for indoor applications," *ICCTA*, 2021.

0 commit comments

Comments
 (0)