Hygrobot: Hydrogen-Powered Mobile Robotic Platform for Rough Terrain: Electro-Mechanical Design, Physical Implementation, and Experimental Testing
Abstract
:Featured Application
Abstract
1. Introduction
2. Mechanical Design and Structural Implementation
3. Design and Sizing of the Hydrogen-Battery Hybrid Power System
3.1. PEM Fuel Cell Subsystem
3.2. Hydrogen Storage Sizing
3.3. Battery Subsystem
3.4. Design of the Rheostatic Brake System
4. Movement and Navigation Control Subsystem
4.1. Integration, Control, and Testing of BLDC Wheels
4.2. Control of Robotic Platform Movement via the Remote Control and Software Development
5. Results
5.1. Power Balance and Autonomy Evaluation
5.1.1. Power Tests Under Different Profiles
5.1.2. Autonomy Evaluation
5.2. Movement and Navigation Tests
5.2.1. Speed Tests
5.2.2. Traction Test
5.3. Safety Tests
5.3.1. Battery Subsystem Safety Test
5.3.2. Hydrogen Supply Failure Test
5.3.3. Operating Condition Tests
6. Discussion
7. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
Abbreviations
Acronyms | |
AWD | All-wheel drive |
BLDC | Brushless DC |
BMS | Battery management system |
BoP | Balance of plant |
FWD | Front two-wheel drive |
PEM | Proton exchange membrane |
PM | Particulate matter |
RWD | Rear two-wheel drive |
SoC | State of charge |
Nomenclature | |
battery subsystem capacity (Ah) | |
battery subsystem discharge rate | |
bar length (m) | |
lever arm length (m) | |
energy stored in the battery subsystem (J) | |
electrical energy delivered by the fuel cell (J) | |
energy stored in the form of hydrogen (J) | |
bar force (N) | |
weight force applied by mass (N) | |
hydrogen lower heating value (120 MJ/kg) | |
number of wheels | |
gravitational attraction force due to the mass of the platform (637 N) | |
battery subsystem power (W) | |
maximum power provided by the battery subsystem (W) | |
power consumed by the BoP of the PEM fuel cell (W) | |
average power dissipated by brakes (W) | |
fuel cell power (W) | |
maximum power provided by the hydrogen–battery hybrid system (W) | |
power consumed by the robotic platform (W) | |
maximum power consumed by the robotic platform (W) | |
power consumed by the wheel (W) | |
maximum power consumed by the wheel (W) | |
wheels resistance force (N) | |
rolling resistance coefficient | |
battery continuous operating time (h) | |
PEM fuel cell continuous operating time (h) | |
experimental continuous operating time range of the PEM fuel cell (min) | |
maximum torque developed by the Hygrobot platform (Nm) | |
torque developed wheel (Nm) | |
hydrogen volume stored in the bottle (dm3) | |
battery subsystem voltage (V) | |
hydrogen bottle storage capacity (dm3) | |
average hydrogen consumption flow (dm3/min) | |
slope angle of the surface | |
hydrogen density at 20 °C and 1 atm (0.089 g/dm3) | |
PEM fuel cell efficiency (%) |
Appendix A. C++ Hygrobot Movement Code
// Pins and library declaration //------------------------------------------------------------------------------ // Digital pins Arduino mega 2560 #define pin_INT_Avance 20 // Advance control (Channel 3) #define pin_INT_Giro 21 // Left-right turn control (Channel 1) #define pin_INT_Reversa 3 // Switch de avance/retroceso (Canal 5) #define pin_INT_ON_OFF 2 // Switch ON/OFF (Channel 6) //Wheels motor pins declaration #define pin_OUT_Avance_Der 13 //Right wheels speed control #define pin_OUT_Reversa_Der 12 //Right wheel advance control #define pin_OUT_Reversa_Izq 9 //Left wheel advance control #define pin_OUT_Avance_Izq 11 // Left wheels speed control #define pin_OUT_ON_OFF 10 //Pin ON/OFF //Libraries #include <EnableInterrupt.h> //Interrupts library //------------------------------------------------------------------------------ // Variable declaartion //------------------------------------------------------------------------------ //Constants declarations float RC_Avance_consigna, RC_Reversa_consigna, RC_Reversa_consigna_inversa, RC_ON_OFF_consigna; //RC variables double RC_Giro_consigna, RC_Avance_Derecha, RC_Avance_Izquierda; //RC variables //Constant RC // Advance const int RC_max_Avance_raw = 2010; const int RC_min_Avance_raw = 1000; const float Ardu_max_Avance = 255; const float Ardu_min_Avance = 0; // Turn const float RC_max_Giro_raw = 2010; const float RC_min_Giro_raw = 965; const float Ardu_max_Giro = 10; const float Ardu_min_Giro = -10; // SWITCH REVERSE const float RC_max_Reversa_raw = 2010; const float RC_min_Reversa_raw = 940; const int Ardu_max_Reversa = 255; const int Ardu_min_Reversa = 0; // SWITCH ON/OFF const float RC_max_ON_OFF_raw = 2000; const float RC_min_ON_OFF_raw = 960; const int Ardu_max_ON_OFF = 255; const int Ardu_min_ON_OFF = 0; //------------------------------------------------------------------------------ // Interrupts declarations //------------------------------------------------------------------------------ // RC advance volatile long Avance_HIGH_us; volatile int RC_Avance_raw; void INT_Avance() { if (digitalRead(pin_INT_Avance) == HIGH) Avance_HIGH_us = micros(); if (digitalRead(pin_INT_Avance) == LOW) RC_Avance_raw = micros() - Avance_HIGH_us;} // RC turn volatile long Giro_HIGH_us; volatile int RC_Giro_raw; void INT_Giro() { if (digitalRead(pin_INT_Giro) == HIGH) Giro_HIGH_us = micros(); if (digitalRead(pin_INT_Giro) == LOW) RC_Giro_raw = micros() - Giro_HIGH_us;} // SWITCH REVERSE volatile long Reversa_HIGH_us; volatile int RC_Reversa_raw; void INT_Reversa() { if (digitalRead(pin_INT_Reversa) == HIGH) Reversa_HIGH_us = micros(); if (digitalRead(pin_INT_Reversa) == LOW) RC_Reversa_raw = micros() - Reversa_HIGH_us;} // SWITCH ON/OFF volatile long ON_OFF_HIGH_us; volatile int RC_ON_OFF_raw; void INT_ON_OFF() { if (digitalRead(pin_INT_ON_OFF) == HIGH) ON_OFF_HIGH_us = micros(); if (digitalRead(pin_INT_ON_OFF) == LOW) RC_ON_OFF_raw = micros() - ON_OFF_HIGH_us;} //----------------------------------------------------------------------------- // Programme main funtion //----------------------------------------------------------------------------- void setup() { // RC interruptions // pinMode(pin_INT_Avance, INPUT_PULLUP); // Advance speed enableInterrupt(pin_INT_Avance, INT_Avance, CHANGE); pinMode(pin_INT_Giro, INPUT_PULLUP); // Turn right-left enableInterrupt(pin_INT_Giro, INT_Giro, CHANGE); pinMode(pin_INT_Reversa, INPUT_PULLUP); // Switch reverse enableInterrupt(pin_INT_Reversa, INT_Reversa, CHANGE); pinMode(pin_INT_ON_OFF, INPUT_PULLUP); // Switch on/off enableInterrupt(pin_INT_ON_OFF, INT_ON_OFF, CHANGE); //Output controllers pinMode(pin_OUT_Avance_Izq, OUTPUT); pinMode(pin_OUT_Avance_Der, OUTPUT); pinMode(pin_OUT_Reversa_Izq, OUTPUT); pinMode(pin_OUT_Reversa_Der, OUTPUT); pinMode(pin_OUT_ON_OFF, OUTPUT); //Rehostatic break pinMode(pin_Freno, OUTPUT); // Serial port spped Serial.begin(115200);} void loop() { //RC-Arduino mapping RC_Avance_consigna = map(RC_Avance_raw, RC_min_Avance_raw, RC_max_Avance_raw, Ardu_min_Avance, Ardu_max_Avance); RC_Giro_consigna = map(RC_Giro_raw, RC_min_Giro_raw, RC_max_Giro_raw, Ardu_min_Giro, Ardu_max_Giro); RC_Reversa_consigna = map(RC_Reversa_raw, RC_min_Reversa_raw, RC_max_Reversa_raw, Ardu_min_Reversa, Ardu_max_Reversa); RC_ON_OFF_consigna = map(RC_ON_OFF_raw, RC_min_ON_OFF_raw, RC_max_ON_OFF_raw, Ardu_min_ON_OFF, Ardu_max_ON_OFF); //advance logic if (RC_Reversa_consigna <50){ RC_Reversa_consigna_inversa = 240;} else{RC_Reversa_consigna_inversa = 30;} //Turn logoc if(RC_Giro_consigna > 2.0){ RC_Avance_Izquierda = RC_Avance_consigna; RC_Avance_Derecha = RC_Avance_consigna*(1.0-(RC_Giro_consigna/10.0));} else if(RC_Giro_consigna < -2.0){ RC_Avance_Izquierda = RC_Avance_consigna*(1.0+(RC_Giro_consigna/10.0)); RC_Avance_Derecha = RC_Avance_consigna;} else{ RC_Avance_Izquierda = RC_Avance_consigna; RC_Avance_Derecha = RC_Avance_consigna;} analogWrite(pin_OUT_Reversa_Der, RC_Reversa_consigna); analogWrite(pin_OUT_Reversa_Izq, RC_Reversa_consigna_inversa); analogWrite(pin_OUT_ON_OFF, RC_ON_OFF_consigna); analogWrite(pin_OUT_Avance_Izq, RC_Avance_Izquierda); analogWrite(pin_OUT_Avance_Der, RC_Avance_Derecha); }
References
- Raj, R.; Kos, A. A Comprehensive Study of Mobile Robot: History, Developments, Applications, and Future Research Perspectives. Appl. Sci. 2022, 12, 6951. [Google Scholar] [CrossRef]
- Ullah, I.; Adhikari, D.; Khan, H.; Anwar, M.S.; Ahmad, S.; Bai, X. Mobile robot localization: Current challenges and future prospective. Comput. Sci. Rev. 2024, 53, 100651. [Google Scholar] [CrossRef]
- Llerena, F.I.; González, E.L.; Mancera, J.J.C.; Manzano, F.S.; Andújar, J.M. Hydrogen vs. Battery-Based Propulsion Systems in Unipersonal Vehicles—Developing Solutions to Improve the Sustainability of Urban Mobility. Sustainability 2021, 13, 5721. [Google Scholar] [CrossRef]
- Mikołajczyk, T.; Mikołajewski, D.; Kłodowski, A.; Łukaszewicz, A.; Mikołajewska, E.; Paczkowski, T.; Macko, M.; Skornia, M. Energy Sources of Mobile Robot Power Systems: A Systematic Review and Comparison of Efficiency. Appl. Sci. 2023, 13, 7547. [Google Scholar] [CrossRef]
- Llerena, F.I.; Barranco, Á.F.; Bogeat, J.A.; Segura, F.; Andújar, J.M. Converting a Fixed-Wing Internal Combustion Engine RPAS into an Electric Lithium-Ion Battery-Driven RPAS. Appl. Sci. 2020, 10, 1573. [Google Scholar] [CrossRef]
- Wu, Y.; Huang, Z.; Li, D.; Li, H.; Peng, J.; Stroe, D.; Song, Z. Optimal battery thermal management for electric vehicles with battery degradation minimization. Appl. Energy 2023, 353, 122090. [Google Scholar] [CrossRef]
- Dudek, M.; Zarzycki, M.; Raźniak, A.; Rosół, M. Applying a 2 kW Polymer Membrane Fuel-Cell Stack to Building Hybrid Power Sources for Unmanned Ground Vehicles. Energies 2023, 16, 7531. [Google Scholar] [CrossRef]
- Zarzycki, M.; Dudek, M.; Raźniak, A.; Masłowski, A.; Perski, A.; Czupryniak, R. Development of criteria for the selection and investigation of PEMFC stacks as components of hybrid energy sources for UGVs. In Proceedings of the 2024 28th International Conference on Methods and Models in Automation and Robotics (MMAR), Miedzyzdroje, Poland, 27–30 August 2024; pp. 568–573. [Google Scholar]
- Keiyinci, S.; Aydin, K. Ground simulation of fuel cell/battery hybrid propulsion system for small unmanned air vehicles. Aircr. Eng. Aerosp. Technol. 2021, 93, 783–793. [Google Scholar]
- Verstraten, T.; Hosen, M.S.; Berecibar, M.; Vanderborght, B. Selecting suitable battery technologies for untethered robot. Energies 2023, 16, 4904. [Google Scholar] [CrossRef]
- Ibericadrone, Ibericadron XAG R150 V2. Available online: https://www.ibericadron.com/tienda/agricultura/robot-agricola-terrestre/ (accessed on 21 November 2024).
- Tecmundo, Milidón M50. Available online: https://www.tecmundo.com/robot-para-la-agricultura-m50 (accessed on 17 November 2024).
- Robotnik, RB-VOGUI. Available online: https://robotnik.eu/es/productos/robots-moviles/rb-vogui/ (accessed on 22 November 2024).
- Hua, Z.; Zheng, Z.; Pahon, E.; Péra, M.C.; Gao, F. A review on lifetime prediction of proton exchange membrane fuel cells system. J. Power Sources 2022, 529, 231256. [Google Scholar] [CrossRef]
- Ydrefors, L.; Hjort, M.; Kharrazi, S.; Jerrelind, J.; Trigell, A.S. Rolling resistance and its relation to operating conditions: A literature review. Proc. Inst. Mech. Eng. Part D J. Automob. Eng. 2021, 235, 2931–2948. [Google Scholar]
- Steyn, W.; Warnich, J. Comparison of tyre rolling resistance for different mountain bike tyre diameters and surface conditions. S. Afr. J. Res. Sport Phys. Educ. Recreat. 2014, 36, 179–193. [Google Scholar]
- Liu, W.; Tupe, J.A.; Aguey-Zinsou, K.F. Metal Hydride Storage Systems: Approaches to Improve Their Performances. Part. Part. Syst. Charact. 2024, 42, 2400163. [Google Scholar] [CrossRef]
- ISO 16111:2018; Transportable Gas Storage Devices—Hydrogen Absorbed in Reversible Metal Hydride. International Organization for Standardization: Geneva, Switzerland, 2018.
- UN 3479; Hydrogen in Metal Hydride Storage Systems. Recommendations on the Transport of Dangerous Goods: Model Regulations (21st revised ed.). United Nations Economic Commission for Europe (UNECE): Geneva, Switzerland, 2019.
- Franco, A.; Giovannini, C. Hydrogen Gas Compression for Efficient Storage: Balancing Energy and Increasing Density. Hydrogen 2024, 5, 17. [Google Scholar] [CrossRef]
- Habib, M.A.; Abdulrahman, G.A.Q.; Alquaity, A.B.S.; Qasem, N.A.A. Hydrogen combustion, production, and applications: A review. Alex. Eng. J. 2024, 100, 182–207. [Google Scholar] [CrossRef]
- La Camera, F. International Renewable Energy Agency, Making the Breakthrough: Green Hydrogen Policies and Technology Costs; IRENA: Abu Dhabi, United Arab Emirates, 2021. [Google Scholar]
Parameter | Value | Parameter | Value |
---|---|---|---|
Empty weight | <80 kg | Autonomy | 8 h |
Payload | >30 kg | Recharging time | <10 min |
Max. speed | 10 km/h | Lifetime | >5000 h [14] |
Max. slope | >30° | Start-up time | <30 s |
Surface | Mean | Standard Deviation |
---|---|---|
Bituminous Material (1) | 0.02 | 0.01 |
Grass (2) | 0.07 | 0.02 |
Gravel (3) | 0.06 | 0.02 |
Sand/Mud (4) | 0.30 | 0.06 |
Parameter | Value | Parameter | Value |
---|---|---|---|
Oxygen supply | Open cathode | Max. airflow | 26 dm3/min |
Start-up time | <30 s (@ 21 °C) | Refrigeration | Air cooling |
N° cells | 48 | Humidification | Self-humidification |
Off voltage | 24 V | Stack weight | 10.0 ± 0.2 kg |
BoP operating voltage | 12 V | Controller weight | 2.5 ± 0.1 kg |
Efficiency | 40% @ max power | Stack size | 303 mm × 350 mm × 183 mm |
UE legislation | 2023/1542 | Impact and vibration tolerance | EU harmonised test JRC99115 |
Parameter | Value |
---|---|
H2 storage volume | 2000 dm3 |
Capacity | 3.3 dm3 |
Tank weight | 14 kg |
Pressure recharge | 0.5–3 MPa |
Certification | CE ISO 16111 [18] UN 3479 [19] |
Component | Model | Component | Model |
---|---|---|---|
PEMFC + BoP controller | FCS-H2000 (Horizon Fuel Cell technologies, Bizkaia, Spain) | H2 bottle | MyH2–2000 (H2Planet, Puertollano, Spain) |
PR-01 | Insert Deal PS 3 MPa (Insert Deal, Villasanta, Italy) | Battery Pack | 10s1p 36 V 6 Ah (SmartGyro, Madrid, Spain) |
SOV-01 | NC 2/2 7 W solenoid valve (WIKA, Barcelona, Spain) | BMS | Developed by authors |
FT-01 | Cs-Instruments VA-521 (Cs-Instruments, Zindelsteiner Straße, Germany) | DC/AC converter | BLDC motor controller (Shenzhen Renhao Weiye Technology Electronics Co., Ltd., Donnguan, China) |
SOV-02 | NO 2/2 7W solenoid valve (WIKA, Barcelona, Spain) | DC/DC converter | DC/DC converter 12 V 72 W (RS Group, London, UK) |
RLY-01 | Finder 40.31S 48VDC (Finder, Almese, Italy) | CT-01 | LXSR 6-NPS (Farnell, Madrid, Spain) |
RLY-02 | Finder 40.31S 48 VDC (Finder, Almese, Italy) | VT-01 | Developed by authors |
INT-01 | Siemens 25 A 1P+N 4.5 KA (Siemens, Munich, Germany) | MOSFET | N-Channel MOSFET (RS Group, London, UK) |
Microcontroller | Arduino Mega 2560 Pro (Adafruit Industries, New York, NY, USA) | Brake resistance | 4 Ω power resistor (RS Group, London, UK) |
Surface | Payload | Slope | Max. Lineal Speed | Distance to Top Speed | Braking Distance |
---|---|---|---|---|---|
Bituminous | 0 kg | 0° | 17.64 km/h | 2.37 m | 1.1 m |
15 kg | 0° | 15.97 km/h | 2.51 m | 1.2 m | |
Grass | 0 kg | 0° | 12.68 km/h | 2.40 m | 0.7 m |
15 kg | 0° | 9.78 km/h | 2.37 m | 0.7 m | |
Gravel | 0 kg | 0° | 11.76 km/h | 2.32 m | 0.8 m |
15 kg | 0° | 9.47 km/h | 2.41 m | 0.85 m | |
Mud | 0 kg | 0° | 11.84 km/h | 2.55 m | 0.5 m |
15 kg | 0° | 0 km/h | - | - |
Surface | Payload | Max. Uphill Slope | Max. Braking Slope |
---|---|---|---|
Bituminous | 15 kg | 10° | 12° |
Grass | 15 kg | 6° | 10° |
Power System | Parameter | Test | Conditions |
---|---|---|---|
PEM fuel cell | Temperature (a) | Test 1 | 15 °C/60% RH/1 atm |
Test 2 | 25 °C/60% RH/1 atm | ||
Test 3 | 35 °C/60% RH/1 atm | ||
Test 4 | 50 °C/60% RH/1 atm | ||
Humidity (b) | Test 5 | 50% RH/25 °C/1 atm | |
Test 6 | 60% RH/25 °C/1 atm | ||
Test 7 | 70% RH/25 °C/1 atm | ||
Test 8 | 80% RH/25 °C/1 atm | ||
LiPo battery subsystem | Temperature (c) | Test 9 | 5 °C/1 C-rate |
Test 10 | 15 °C/1 C-rate | ||
Test 11 | 25 °C/1 C-rate | ||
Test 12 | 35 °C/1 C-rate | ||
Test 13 | 50 °C/1 C-rate | ||
Discharging Rate (d) | Test 14 | 0.5 C rate/25 °C | |
Test 15 | 1.0 C rate/25 °C | ||
Test 16 | 1.5 C rate/25 °C |
Parameter | Value | Parameter | Value |
---|---|---|---|
Weight | 65 kg | Max. torque | 14.80 Nm |
Dimensions | 870 mm × 650 mm × 500 mm | Maximum power consumption | 54 W/wheel (×6) |
Power supply system | PEM Fuel Cell + Battery | Load capacity | 50 kg |
Autonomy | >8 h | Movement control | Remote control |
Range | 200 m | Protection rating | IP 50 |
Max. speed | 17 km/h | Start-up time | <30 s (Temperature 21 °C) |
Characteristic | Ibericadron XAG R150 V2 [11] | Milodón M50 [12] | Robotnik RB-VOGUI [13] | Hygrobot Author Proposal |
---|---|---|---|---|
Weight | N/A | 160 kg | 165 kg | 65 kg |
Dimensions X-Y-Z (mm) | 1515 × 1090 × 965 | 1000 × 800 × 2300 | 1044 × 776 × 742 | 870 × 650 × 500 |
Power supply system | Li-Po Battery | Battery 1 | LiPo Battery | PEM fuel cell + LiPo Battery |
Charging capacity (kWh) | 0.865 | ND 1 | 1.44 | FC: 2.37 Bat: 0.22 |
Energy density (Wh/kg) | 144 Wh/kg | ND 1 | ND 1 | FC: 118 Bat: 110 |
Energy distribution (%) | Battery 100 | Battery 100 | Battery 100 | FC: 90 Bat: 10 |
Autonomy (h) | 4 | 2 | 6 | 8 |
Recharge time (min) | 20 | 30 | 60 | 5 |
Recharge cost (EUR/kWh) | 0.107 2 | 0.107 2 | 0.107 2 | FC: 0.109–0.160 3 Bat: 0.107 2 |
Max. speed (km/h) | 4.3 | 4 | 9 | 17 |
Distance/energy relation (km/kWh) | 19.88 | ND 1 | 37.5 | 37.06 |
Max. torque/slope | 1000 Nm | 45° slope | 47° slope | 14.80 Nm 10° slope |
Load capacity (kg) | 150 | 100 | 150 | 50 |
Motor power (W) | 3000 | 1000 | 1500 | 324 |
Movement control | RTK | RTK + RC control | SLAM | Remote control |
Protection rating | IP67 | - | IP53 | IP50 |
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
Delgado Asencio, C.; Segura Manzano, F.; Andújar Márquez, J.M. Hygrobot: Hydrogen-Powered Mobile Robotic Platform for Rough Terrain: Electro-Mechanical Design, Physical Implementation, and Experimental Testing. Appl. Sci. 2025, 15, 5028. https://doi.org/10.3390/app15095028
Delgado Asencio C, Segura Manzano F, Andújar Márquez JM. Hygrobot: Hydrogen-Powered Mobile Robotic Platform for Rough Terrain: Electro-Mechanical Design, Physical Implementation, and Experimental Testing. Applied Sciences. 2025; 15(9):5028. https://doi.org/10.3390/app15095028
Chicago/Turabian StyleDelgado Asencio, Cirilo, Francisca Segura Manzano, and José Manuel Andújar Márquez. 2025. "Hygrobot: Hydrogen-Powered Mobile Robotic Platform for Rough Terrain: Electro-Mechanical Design, Physical Implementation, and Experimental Testing" Applied Sciences 15, no. 9: 5028. https://doi.org/10.3390/app15095028
APA StyleDelgado Asencio, C., Segura Manzano, F., & Andújar Márquez, J. M. (2025). Hygrobot: Hydrogen-Powered Mobile Robotic Platform for Rough Terrain: Electro-Mechanical Design, Physical Implementation, and Experimental Testing. Applied Sciences, 15(9), 5028. https://doi.org/10.3390/app15095028