Enabling Navigation and Mission-Based Control on a Low-Cost Unitree Go1 Air Quadrupedal Robot
Abstract
:1. Introduction
2. Materials and Methods
- Research activities focused on the practical applications of quadrupedal robots instead of their locomotion;
- Experimental studies requiring a large number of quadrupedal robots;
- Education in the field of robotics.
3. Prototyping
3.1. Assembling of the Prototype
3.2. ArduRover Firmware Configuration
- Set SERIAL2_PROTOCOL to 15 to change TELEM2 output protocol to S.Bus.
- Set SERIAL2_BAUD to 100 to change TELEM2 baud rate to 100 kbps to meet S.Bus requirements (this parameter will be set automatically after SERIAL2_PROTOCOL will become 15).
- Set BRD_SER2_RTSCTS to 0 to disable hardware flow control on TELEM2 output.
3.3. Cypress IoT SoC CYW43907 Firmware Building
- #define CLIENT_AP_SSID "Unitree_Go138799A"
4. Experimental Results
5. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
Abbreviations
GNSS | Global Navigation Satellite System |
IDE | Integrated Development Environment |
IMU | Inertial Measurement Unit |
IoT | Internet of Things |
MQTT | Message Queuing Telemetry Transport |
QoS | Quality of Server |
RC | Remote Control |
ROS | Robotic Operation System |
RTK | Real-time Kinematic Positioning |
RTL | Return-To-Launch |
SoC | System-on-a-Chip |
SSID | Service Set Identifier |
UART | Universal Asynchronous Receiver/Transmitter |
UDP | User Datagram Protocol |
Appendix A. Unitree Go1 Ethernet Control Protocol
Bytes | Values | Type | Description |
---|---|---|---|
0–1 | 16’hEFFE | uint16 | Predefined header |
2–21 | 0 | Array 20×(uint8) | Service fields (works when filled with zeros) |
22 | 0—Idle 1—Force stand 2—Walking controlled by 2—Running 3—Climbing | uint8 | Gait type |
23 | 0—Idle 1—Walking 2—Running 3—Climbing | uint8 | Gait type |
24 | 0—Low speed 1—Medium speed 2—High speed | uint8 | Gait type |
25–28 | 0.08–0.12 m | Single | Height on which foots are raised |
29–32 | −0.16–0.04 m | Single | Height of the body relative to the default height |
33–40 | (0, 0) | 2×(Single) | Position (X,Y) |
33–36 | (0, 0) | 2×(Single) | Roll angle |
37–40 | (0, 0) | 2×(Single) | Pitch angle |
41–44 | (0, 0) | 2×(Single) | Yaw angle |
45–48 | −1–1 m/s | Single | X velocity |
49–52 | −1–1 m/s | Single | Y velocity |
45–48 | 0–3.14 rad/s | Single | Yaw rate |
65–128 | 0 | Array 64×(uint8) | Service fields (works when filled with zeros) |
Appendix B. Bill of Materials
Designator | Component | Number | Cost Per Unit, Currency | Total Cost, Currency | Source of Materials | Material Type |
---|---|---|---|---|---|---|
Unitree Robotics | Go 1 Air | 1 | USD 2700 | USD 2700 | Unitree Robotics Online Shop | Quadrupedal robot |
RCToSky | Pixhawk 2.4.8 | 1 | USD 159 | USD 159 | Amazon | ArduPilot compatible flight controller |
ShareGoo | RC Anti-Vibration Plate | 1 | USD 7.99 | USD 7.99 | Amazon | Anti-Vibration Plate compatible with PixHawk controller |
Hobbypower | Pixhawk Power Module V1.0 Output BEC 3A XT60 Plug 28 V 90 A 2.4.8 | 1 | USD 13.68 | USD 13.68 | Amazon | ArduPilot compatible flight controller |
RadioLink | SE100 | 1 | USD 39.99 | USD 39.99 | Amazon | ArduPilot compatible GNSS receiver |
FrSky | FrSky XM+ 2.4 GHz Micro Receiver | 1 | USD 19.83 | USD 19.83 | RaceDayQuads | RC receiver |
Guangzhou HC Information Technology | HC-42 | 1 | USD 15.5 | USD 15.5 | Smart Prototyping | Bluetooth Serial Port |
Infineon Technologies | CYW943907-AEVAL1F | 1 | USD 87.8 | USD 87.8 | Infineon Technologies | Cypress IoT SoC CYW43907 |
Haoyull | Converter Adapter Female XT60 to Male XT30 | 1 | USD 2.8 | USD 2.8 | Amazon | XT60 to XT30 adapter |
Jiefei | 2 PCS 5.5 × 2.5 mm 18AWG Right angle 90 degrees DC Power Plug with Cable Black Charging Connector 25 cm | 1 | USD 0.86 | USD 0.86 | AliExpress | 2.5 mm DC power plug |
California JOS | Breadboard Jumper Wires | 1 | USD 4 | USD 4 | Amazon | Male breadboard wires 2.54 mm |
Eventronic | 560 PCS Heat Shrink Tubing 2:1, Eventronic | 1 | USD 6 | USD 6 | Amazon | Shrinking cable insulation |
3M | Super-Strength Molding Tape | 1 | USD 10.6 | USD 10.6 | Amazon | Double sided adhesive tape |
Unknown | Pure copper wire CAT6 Flat UTP Ethernet Network Cable RJ45 | 1 | USD 0.75 | USD 0.75 | AliExpress | Patch cord 0.25 m |
Appendix C. Operation Instruction
RC Channel | Type | Function |
---|---|---|
1 | Stick axis | Yaw |
2 | Stick axis | Forward movement (throttle) |
3 | Stick axis | Side movement |
4 | Stick axis | Robot’s body tilt |
5 | Two position switch | Arm/disarm |
6 | Three position switch | Locomotion mode |
7 | Two position switch | Stand up/down |
8 | Two position switch | Recover after fall |
9 | Two-Six position switch | ArduRover control mode |
References
- Hutter, M.; Gehring, C.; Höpflinger, M.A.; Blösch, M.; Siegwart, R. Toward Combining Speed, Efficiency, Versatility, and Robustness in an Autonomous Quadruped. IEEE Trans. Robot. 2014, 30, 1427–1440. [Google Scholar] [CrossRef]
- Biswal, P.; Mohanty, P.K. Development of quadruped walking robots: A review. Ain Shams Eng. J. 2021, 12, 2017–2031. [Google Scholar] [CrossRef]
- Xu, R.W.; Hsieh, K.C.; Chan, U.H.; Cheang, H.U.; Shi, W.K.; Hon, C.T. Analytical review on developing progress of the quadruped robot industry and gaits research. In Proceedings of the 2022 8th International Conference on Automation, Robotics and Applications (ICARA), Prague, Czech Republic, 18–20 February 2022; pp. 1–8. [Google Scholar] [CrossRef]
- Bellicoso, C.D.; Bjelonic, M.; Wellhausen, L.; Holtmann, K.; Günther, F.; Tranzatto, M.; Fankhauser, P.; Hutter, M. Advances in real-world applications for legged robots. J. Field Robot. 2018, 35, 1311–1326. [Google Scholar] [CrossRef]
- Beliakov, M.E.; Diane, S.A.K. Algorithms for the visual analysis of an environment by an autonomous mobile robot for area cleanup. Russ. Technol. J. 2023, 11, 26–35. [Google Scholar] [CrossRef]
- Chae, H.; Ahn, M.S.; Noh, D.; Nam, H.; Hong, D. Ballu2: A safe and affordable buoyancy assisted biped. Front. Robot. AI 2021, 8, 730323. [Google Scholar] [CrossRef] [PubMed]
- MAVProxyUser. HangZhou Yushu Tech Unitree Go1. 2023. Available online: https://github.com/MAVProxyUser/YushuTechUnitreeGo1 (accessed on 1 April 2025).
- Bin4ry. Unitree Go1 Free-Dog SDK Featuring ‘Faux-Level’ Support. 2023. Available online: https://github.com/Bin4ry/free-dog-sdk/tree/main (accessed on 1 April 2025).
- Kim, J.; Kang, T.; Song, D.; Yi, S.J. Design and control of a open-source, low cost, 3D printed dynamic quadruped robot. Appl. Sci. 2021, 11, 3762. [Google Scholar] [CrossRef]
- Bosworth, W.; Kim, S.; Hogan, N. The MIT super mini cheetah: A small, low-cost quadrupedal robot for dynamic locomotion. In Proceedings of the 2015 IEEE International Symposium on Safety, Security, and Rescue Robotics (SSRR), West Lafayette, IN, USA, 18–20 October 2015; pp. 1–8. [Google Scholar] [CrossRef]
- Katz, B.; Di Carlo, J.; Kim, S. Mini cheetah: A platform for pushing the limits of dynamic quadruped control. In Proceedings of the 2019 International Conference on Robotics and Automation (ICRA), Montreal, QC, Canada, 20–24 May 2019; pp. 6295–6301. [Google Scholar]
- Kau, N. Stanford pupper: A low-cost agile quadruped robot for benchmarking and education. arXiv 2021, arXiv:2110.00736. [Google Scholar]
- Raber, G.T.; Schill, S.R. Reef Rover: A low-cost small autonomous unmanned surface vehicle (USV) for mapping and monitoring coral reefs. Drones 2019, 3, 38. [Google Scholar] [CrossRef]
- Romanov, A.M. A review on control systems hardware and software for robots of various scale and purpose. Part 2. Service robotics. Russ. Technol. J. 2020, 7, 68–86. [Google Scholar] [CrossRef]
- Zaman, A.M.; Seo, J. Development of an Autonomous Flying Excavator. Eng. Proc. 2022, 24, 4. [Google Scholar] [CrossRef]
- Oyelami, A.T.; Bamgbose, O.M.; Akintunlaji, O.A. Mission-Planner Mapped Autonomous Robotic Lawn Mower. J. Eur. Syst. Autom. 2023, 56, 253–258. [Google Scholar] [CrossRef]
- Liardon, J.L.; Barry, D.A. Adaptable imaging package for remote vehicles. HardwareX 2017, 2, 1–12. [Google Scholar] [CrossRef]
- Romanov, A.M.; Romanov, M.P.; Morozov, A.A.; Slepynina, E.A. A navigation system for intelligent mobile robots. In Proceedings of the 2019 IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus), Saint Petersburg and Moscow, Russia, 28–31 January 2019; pp. 652–656. [Google Scholar] [CrossRef]
- Schulz, M.; Wegemer, D.; Hollick, M. Nexmon: The C-Based Firmware Patching Framework. 2017. Available online: https://nexmon.org (accessed on 1 April 2025).
- Romanov, A.M.; Gringoli, F.; Alkhouri, K.; Tripolskiy, P.E.; Sikora, A. Enabling Time-Synchronized Hybrid Networks with Low-Cost IoT Modules. IEEE Internet Things J. 2023, 10, 9966–9978. [Google Scholar] [CrossRef]
- Pizarro, A.B.; Beltrán, J.P.; Cominelli, M.; Gringoli, F.; Widmer, J. Accurate ubiquitous localization with off-the-shelf IEEE 802.11ac devices. In Proceedings of the 19th Annual International Conference on Mobile Systems, Applications, and Services, Online, 24 June–2 July 2021; pp. 241–254. [Google Scholar] [CrossRef]
- Simon, G.A.; Moore, J.M.; Clark, A.J.; McKinley, P.K. Evo-ROS: Integrating evolution and the robot operating system. In Proceedings of the Genetic and Evolutionary Computation Conference Companion, Kyoto, Japan, 15–19 July 2018; pp. 1386–1393. [Google Scholar]
- Gyrichidi, N.; Romanov, M.; Tsepkin, Y.; Romanov, A. Enabling Navigation and Mission-Based Control on a Low-Cost Unitree Go1 Air Quadrupedal Robot. 2025. Available online: https://zenodo.org/records/15021612 (accessed on 1 April 2025).
- Unitree. Go1 User Manual v.14, 2021. Available online: https://github.com/MAVProxyUser/YushuTechUnitreeGo1/blob/main/Go1%20User%20Manual%201.4.pdf (accessed on 1 April 2025).
- Noori, R.; Dahnil, D.P. The Effects of speed and altitude on wireless air pollution measurements using hexacopter drone. Int. J. Adv. Comput. Sci. Appl. 2020, 11, 268–276. [Google Scholar] [CrossRef]
- Khyasudeen, M.F.; Buniyamin, N.; Azzuhri, S.R.; Noor, M.B.M.; Bakar, M.H.B.A.; Rahman, M.F.A.; Kamel, N.I.; Shariffuddin, A.; Amiri, I.S. The development of a GPS-based autonomous quadcopter towards precision landing on moving platform. Int. J. Veh. Auton. Syst. 2022, 16, 108–126. [Google Scholar] [CrossRef]
Parameter | Go1 Air | Go1 Pro | Go1 Edu |
---|---|---|---|
Sensing calculation | 1×(4 × 1.43 Ghz) | 3×(4 × 1.43 Ghz) | Nano + Nano/NX |
SSS 1 super-sensing system | 1 pair | 5 pairs | 5 pairs |
ISS 1 intelligent concomitant | Yes | Yes | Yes |
RTT 1 picture transaction | Yes | Yes | Yes |
Charger | 24 V, 4 A | 24 V, 6 A | 24 V, 6 A |
Remote control | Yes | Yes | Yes |
Load | ≈4 kg | ≈4 kg | ≈6 kg (limit 10 kg) |
Heat pipe assisted heat dissipation | Yes | Yes | Yes |
Motion speed | 0–2.5 m/s | 0–3.5 m/s | 0–3.7 m/s (limit 5 m/s) |
Battery | 1 piece | 1 piece | 1 piece |
Graphical programming interface | Yes | Yes | Yes |
Scientific programming interface | No | No | Yes |
Python programming interface | No | No | Yes |
HAI 1 human sensing | No | No | Yes |
APP god view | No | Yes | Yes |
4G connectivity | No | No | Yes |
Foot-end physical force sensor | No | No | Yes |
Peripheral expansion interface | No | No | Yes |
Radar | No | No | 2D or 3D optional |
Price (tax and freight excluded) | USD 2700 | USD 3500 | Not public |
Command | MQTT Topic | Data | Quality of Service |
---|---|---|---|
Force the robot to stand up | “controller/action” | “standUp” | 2: exactly once |
Force the robot to lay on the floor | “controller/action” | “standDown” | 2: exactly once |
Switch the robot to the running locomotion mode | “controller/action” | “run” | 2: exactly once |
Switch the robot to the walking locomotion mode | “controller/action” | “walk” | 2: exactly once |
Switch the robot to the stair climbing locomotion mode | “controller/action” | “climb” | 2: exactly once |
Recover the robot after a fall | “controller/action” | “recoverStand” | 2: exactly once |
Emulate remote controller stick values | “controller/stick” | 32 bit Float array {,,, } | 0: at most once |
Channel | Function | Description | Value Ranges |
---|---|---|---|
1 () | ThrottleLeft | Left wheel throttle, assuming the robot as a differential drive platform | 1000..2000 |
2 () | ThrottleRight | Right wheel throttle, assuming the robot as a differential drive platform | 1000..2000 |
3 () | RCIN3 | Move left/right | 1000..2000 |
4 () | RCIN4 | Tilt angle | 1000..2000 |
5 () | Script1 | ArduRover arming state provided by Lua script | Disarmed: <1750; armed: ≥1750. |
6 () | RCIN6 | Locomotion mode | Walk: <1250; run: ≥1250 AND <1750; climb: ≥1750. |
7 () | RCIN7 | Stand up/down | Stand up: <1500; lay on the floor: ≥1500. |
8 () | RCIN8 | Recover after fall | Idle state: <1750; start recover: ≥1750 on positive edge. |
Constant | Default Value | Description |
---|---|---|
MQTT_TIMEOUT | 2000 | MQTT topic publishing timeout, ms. |
TIME_TO_STAND | 2000 | Time Go1 requires to stand up, ms. |
TIME_TO_RECOVER | 2000 | Time Go1 requires to recover after fall, ms. |
TIME_TO_CHG_MODE | 3000 | Time Go1 requires to switch locomotion mode, ms. |
TIMEOUT_TO_STOP | 100 | S.Bus frame reception timeout after which Go1 will be stopped, ms. |
TIMEOUT_TO_SHUTDOWN | 1000 | S.Bus frame reception timeout after which system will switch to ST_GO1_SHUT state, ms. |
SBUS_BYTE_TIMEOUT | 25 | S.Bus single byte reception timeout, ms |
lx_bias | 1486.0 | Bias of the servo output, ArduPilot servo output units. |
ly_bias | 1500.0 | Mean bias of and servo outputs, ArduPilot servo output units. |
ry_bias | 1501.0 | Bias of the servo output, ArduPilot servo output units. |
lx_scale | 1/500.0 | Scale of ArduPilot servo output unit in . |
ly_scale | 1/495.0 | Scale of ArduPilot servo output unit in . |
rx_scale | 1/500.0 | Scale of ArduPilot servo output unit in . |
ry_scale | 1/500.0 | Scale of ArduPilot servo output unit in . |
arm_sw_level | 1750 | Arming threshold. is considered an armed state. |
run_low_level | 1250 | Walking mode threshold. switches locomotion mode into “Walk”. |
run_high_level | 1750 | Running mode threshold. switches locomotion mode into “Run”. switches locomotion mode into “Climb”. |
standup_high_level | 1500 | Stand up threshold. forces the robot to stand up. |
standdown_low_level | 1500 | Stand down threshold. forces the robot to lay on the floor. |
recover_sw_level | 1750 | Recover after fall threshold. Each time crosses this threshold and becomes higher than recover_sw_level, the recover after fall command is executed. |
Communication | Gait | Mean Error | Standard Deviation | Maximum Error | ||||
---|---|---|---|---|---|---|---|---|
Interface | Type | X, m | Y, m | X, m | Y, m | X, m | Y, m | |
Wi-Fi/MQTT | Walking | 0.04 | −0.02 | 0.23 | 0.11 | 0.81 | 0.47 | |
Ethernet/UDP | Walking | 0.04 | 0 | 0.17 | 0.15 | 0.73 | 0.56 | |
Wi-Fi/MQTT | Running | 0.03 | −0.1 | 0.25 | 0.28 | 0.6 | 0.78 | |
Ethernet/UDP | Running | 0.01 | −0.02 | 0.25 | 0.18 | 0.6 | 0.55 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2025 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Gyrichidi, N.; Romanov, M.P.; Tsepkin, Y.Y.; Romanov, A.M. Enabling Navigation and Mission-Based Control on a Low-Cost Unitree Go1 Air Quadrupedal Robot. Designs 2025, 9, 50. https://doi.org/10.3390/designs9020050
Gyrichidi N, Romanov MP, Tsepkin YY, Romanov AM. Enabling Navigation and Mission-Based Control on a Low-Cost Unitree Go1 Air Quadrupedal Robot. Designs. 2025; 9(2):50. https://doi.org/10.3390/designs9020050
Chicago/Turabian StyleGyrichidi, Ntmitrii, Mikhail P. Romanov, Yuriy Yu. Tsepkin, and Alexey M. Romanov. 2025. "Enabling Navigation and Mission-Based Control on a Low-Cost Unitree Go1 Air Quadrupedal Robot" Designs 9, no. 2: 50. https://doi.org/10.3390/designs9020050
APA StyleGyrichidi, N., Romanov, M. P., Tsepkin, Y. Y., & Romanov, A. M. (2025). Enabling Navigation and Mission-Based Control on a Low-Cost Unitree Go1 Air Quadrupedal Robot. Designs, 9(2), 50. https://doi.org/10.3390/designs9020050