Skip to content

Commit aa2d0ea

Browse files
Added Quadraped Robot Documentation (#993)
* Added Quadraped Robot Documentation Signed-off-by: agherghiceanu <agherghiceanu@stud.acs.upb.ro> * added schematics Signed-off-by: agherghiceanu <agherghiceanu@stud.acs.upb.ro> --------- Signed-off-by: agherghiceanu <agherghiceanu@stud.acs.upb.ro>
1 parent 123d8ce commit aa2d0ea

2 files changed

Lines changed: 131 additions & 0 deletions

File tree

144 KB
Loading
Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
# Quadraped Robot
2+
A bluetooth-controlled spider robot that can move around via 8 servos.
3+
4+
:::info
5+
6+
**Author**: Alexandru-Bogdan Gherghiceanu \
7+
**GitHub Project Link**: https://github.com/UPB-PMRust-Students/acs-project-2026-alexgherghiceanu
8+
9+
:::
10+
11+
<!-- do not delete the \ after your name -->
12+
13+
## Description
14+
15+
This project is a bluetooth controlled spider robot that you can sync up to your phone/tablet. From your device you can control it's speed,direction of travel and issue it extra gestures and commands, such as a wave.
16+
17+
## Motivation
18+
19+
From a young age, I have been interested in robots and the process of building them. Futhermore, I have been following the
20+
progress of boston dynamics projects for a long time, so I knew that I wanted to build a quadraped robot myself. When I recently
21+
watched the movie Project Hail Mary, I decided that a spider is the best shape for my project to take.
22+
23+
## Architecture
24+
```mermaid
25+
flowchart TD
26+
subgraph ext ["External Inputs"]
27+
U["Android/iOS Device"]
28+
BT_Mod["HM-10 Bluetooth Module"]
29+
end
30+
31+
subgraph stm ["STM32 Microcontroller (Rust Code)"]
32+
BTH["Bluetooth Handler Module"]
33+
MP["Motion Planner Module"]
34+
KE["Kinematics Engine (IK) Module"]
35+
I2C["I2C Controller Module"]
36+
end
37+
38+
subgraph periph ["Logic Peripherals"]
39+
ServoD["PCA9685 Servo Driver Module"]
40+
Motors["Servomotors (x8)"]
41+
end
42+
43+
U -- "Bluetooth (BLE) Commands" --> BT_Mod
44+
BT_Mod -- "Serial Data (UART)" --> BTH
45+
BTH -- "Parsed Command (e.g., 'F', 'L', 'W')" --> MP
46+
MP -- "Pose/Leg Positions (X,Y,Z)" --> KE
47+
KE -- "Servo Angles" --> I2C
48+
I2C -- "I2C Commands" --> ServoD
49+
ServoD -- "PWM Signals" --> Motors
50+
```
51+
## Log
52+
53+
<!-- write your progress here every week -->
54+
### Week 16 - 22 March
55+
56+
Decided on the project idea
57+
58+
59+
### Week 13 - 19 April
60+
61+
Ordered the necessary hardware components.
62+
63+
### Week 20 - 26 April
64+
65+
All hardware components arrived.
66+
67+
## Week 27 April - 3 May
68+
69+
Started writing the documentation and modifying the source chasis to fit my components.
70+
71+
### Week 5 - 11 May
72+
73+
### Week 12 - 18 May
74+
75+
### Week 19 - 25 May
76+
77+
## Hardware
78+
79+
The main brain of the project is the STM32 Nucleo-U545RE-Q microcontroller provided by the PM team. This takes the input from the HM-10 Bluetooth module and processes it into a signal the i2c controller can then give to the PCA9685 Servo Driver. From there, the signal is passed on to the 8 servomotors that power our robot spider, 2 in each leg. The system is powered by a 1000mAh 7.4v LiPo 2 cell batery and will be built on a modified version of the chasis of the Sesame spider-robot linked in the link section.
80+
81+
### Schematics
82+
83+
![Diagram](images/schematics.webp)
84+
85+
### Bill of Materials
86+
87+
<!-- Fill out this table with all the hardware components that you might need.
88+
89+
The format is
90+
```
91+
| [Device](link://to/device) | This is used ... | [price](link://to/store) |
92+
93+
```
94+
95+
-->
96+
97+
| Device | Usage | Price |
98+
|--------|--------|-------|
99+
| [STM32 Nucleo-U545RE-Q](https://www.st.com/en/evaluation-tools/nucleo-u545re-q.html) | The microcontroller | [~120 RON]() |
100+
| [Servomotor MG90S, angrenaje Aluminiu](https://sigmanortec.ro/servomotor-mg90s-angrenaje-aluminiu) | The servomotors, we will use 8 | [19,34 RON]() |
101+
| [Modul PCA9685, interfata I2C, 16 CH, servo motor](https://sigmanortec.ro/Modul-PCA9685-interfata-I2C-16-CH-servo-motor-p126016016) | Used to interface the microcontroller and the servomotors | [27.27 RON]() |
102+
| [Modul coborator tensiune XL4015, 8-36VDC, 5A, 75W](https://sigmanortec.ro/Modul-coborator-tensiune-XL4015-8-36VDC-5A-75W-p158483017) | Used to interface the microcontroller and the servomotors | [9,96 RON]() |
103+
| [Intrerupator KCD-1, SPST, On/Off, 23mm](https://sigmanortec.ro/Modul-coborator-tensiune-XL4015-8-36VDC-5A-75W-p158483017) | Used to turn the robot on or off | [1,85 RON]() |
104+
| [4.0 Bluetooth Module (3.3 V and 5 V Compatible)](https://www.optimusdigital.ro/en/wireless-bluetooth/862-modul-bluetooth-40-cu-adaptor-compatibil-33v-si-5v.html?search_query=4.0+Bluetooth+Module+%283.3+V+and+5+V+Compatible%29&results=21) | Used to connect from the phone to the robot | [29,99 RON]() |
105+
| [Electrolytic Capacitor 1000 uF, 50 V](https://www.optimusdigital.ro/en/capacitors/3006-electrolytic-condensator-from-1000-uf-to-50-v.html?search_query=0104210000027129&results=1) | Used to store excess voltage | [1,49 RON]() |
106+
| [0.25 W 1K Ω Resistor](https://www.optimusdigital.ro/en/resistors/848-025w-22k-resistor.html?search_query=0.25+W+1K+%CE%A9+Resistor&results=32) | Used to provide resistance in the circuit | [0,10 RON]() |
107+
| [Undervoltage Battery Alarm Module](https://www.optimusdigital.ro/en/others/2237-alarma-scadere-tensiune-acumulatori.html?search_query=Undervoltage+Battery+Alarm+Module&results=1) | Used to signal when the battery is low | [7,99 RON]() |
108+
| [Incarcator B3 20W 1.6A pentru Acumulatori 2S si 3S cu Echilibrare Celule](https://www.emag.ro/incarcator-b3-20w-1-6a-pentru-acumulatori-2s-si-3s-cu-echilibrare-celule-b3-20w-1600-2s3s/pd/DGCKNZ3BM/?ref=history-shopping_484971926_47538_1) | Used to charge the batery | [29,90 RON]() |
109+
| [Baterie Gens Ace G-Tech Soaring 1000mAh 7.4V 30C 2S1P XT60](https://www.emag.ro/baterie-gens-ace-g-tech-soaring-1000mah-7-4v-30c-2s1p-xt60-kxg0060208/pd/D5RNQWMBM/?ref=history-shopping_484971926_36153_1) | Used to power the robot | [58,20 RON]() |
110+
| [Set conectori electrici Amass XT60, 1 mama si 1 tata si 2 carcase](https://www.emag.ro/set-conectori-electrici-amass-xt60-1-mama-si-1-tata-si-2-carcase-amxt60/pd/DN37BB3BM/?ref=history-shopping_484971926_3410_1) | Used to connect the battery | [8,82 RON]() |
111+
| [10 x Fire Dupont mama-mama 20cm](https://www.emag.ro/10-x-fire-dupont-mama-mama-20cm-ai307-s465/pd/D1J66JBBM/?ref=history-shopping_484971926_38837_1) | Used to connect different parts of the project | [2,67 RON]() |
112+
| [40 x Fire Dupont mama-tata 20cm](https://www.emag.ro/40-x-fire-dupont-mama-tata-20cm-zcbozh-fdp-fm-40x20/pd/DRQD522BM/?ref=history-shopping_484971926_156063_1) | Used to connect different parts of the project | [19,72 RON]() |
113+
114+
115+
116+
117+
118+
## Software
119+
120+
| Library | Description | Usage |
121+
|---------|-------------|-------|
122+
| [st7789](https://github.com/almindor/st7789) | Display driver for ST7789 | Used for the display for the Pico Explorer Base |
123+
124+
## Links
125+
126+
<!-- Add a few links that inspired you and that you think you will use for your project -->
127+
128+
1. [Laboratoarele PM](https://embedded-rust-101.wyliodrin.com/docs/acs_cc/category/lab)
129+
2. [Proiectul de inspiratie](https://www.doriantodd.com/sesame)
130+
3. [Repository-ul Proiectului Sesame](https://github.com/dorianborian/sesame-robot/tree/main)
131+
...

0 commit comments

Comments
 (0)