Development of an Educational Omnidirectional Mobile Manipulator with Mecanum Wheels †
Abstract
1. Introduction
2. Hardware
- Raspberry Pi Pico W: The core microcontroller responsible for executing the control algorithms and managing data flow between the system components. It incorporates wireless networking capabilities, enabling remote control and monitoring.
- Motor Drivers: These components interface between the microcontroller and the motors, allowing the Raspberry Pi Pico W to control motor speed and direction via pulse width modulation (PWM) signals.
- DC/Servo Motors: Actuators that provide locomotion to the omnidirectional mobile manipulator. The specific type of motors employed is contingent on the required operational functions, such as movement and steering.
- Sensors: Various sensors are integrated into the robot to enhance its environmental awareness and capability. These may include the following:
- ○
- Ultrasonic Sensors: Utilized for distance measurement and obstacle avoidance.
- ○
- Infrared Sensors: Employed for line following or proximity detection.
- ○
- Camera Module (if applicable): Provides visual input for advanced capabilities such as image processing or object recognition.
- Power Supply: A dedicated power source that delivers the necessary voltage and current to the Raspberry Pi Pico W and the motor drivers, ensuring consistent operation throughout the system’s runtime.
- Communication Interfaces: These may include I2C, SPI, or UART communication protocols that facilitate data exchange between the Pico W and peripheral components, ensuring seamless coordination of the system’s functions.
- SDA (Serial Data Line—GPIO 20 pin) and SCL (Serial Clock Line—GPIO 21 pin):
- GND (Ground) and VCC (Voltage Common Collector):
3. Software Architecture of Educational Omnidirectional Mobile Manipulator
- Motor Control:The robot_motors.py file utilizes the PCA9685 to manage four DC motors.
- ○
- The motors are controlled via the I2C interface, specifically using GPIO20 (SDA) and GPIO21 (SCL).
- ○
- This module includes a motor driver class featuring methods to start, stop, and adjust the speed of the motors.
- Robotic Arm Control:The robot_arm.py file is responsible for controlling three MG90S servomotors through the PCA9685.
- ○
- Control is executed via I2C communication.
- ○
- The module supports smooth movement of the servomotors through the smooth_move_servo() method.
- ○
- It also includes a function to reset the arm (reset_servos()).
- Wi-Fi Communication and Web Interface:The robot_main.py file creates a Wi-Fi access point and manages requests from index.html.
- ○
- Upon startup, the mobile manipulator creates an SSID, i.e., “robot”, allowing users to connect.
- ○
- When users interact with the web interface by pressing a button, an HTTP request is sent to the robot.
- ○
- Movement and robotic arm control can be performed through sliders and buttons in the web interface.
- Power On and Initialization: The main.py script initializes robot.
- Wi-Fi Network Setup: The robot_main.py script creates the Wi-Fi access point (SSID: “robot”).
- Web Control Interface: The index.html file provides a graphical control panel for user interaction.
- Command Processing: The educational omnidirectional mobile manipulator processes requests from the web interface through robot_main.py.
- Motion and Manipulation: The robot.py script invokes the motion and control methods for the robotic arm.
- Connection Termination: The Wi-Fi connection can be terminated when the user logs off.
4. Experimental Studies
- A chassis equipped with four Mecanum wheels for enhanced multi-directional mobility.
- A manipulator featuring three axes of motion and a gripper.
- A Raspberry Pi Pico W serving as the central controller.
- A battery power supply alongside drivers for DC and servo motors.
- A web interface for controlling the robot (illustrated in Figure 2).
- The first experiment assessed the robot’s motion control to verify the system’s operational accuracy.
- The second experiment focused on the robot’s capacity to grasp, transport, and accurately place objects within the designated target area.
- Base: Rotates the manipulator’s base to the left or right.
- Arm: Adjusts the arm’s position vertically, allowing for upward or downward movement.
- Gripper: Regulates the opening and closing mechanism of the gripper.
5. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
Abbreviations
STEM | Science, technology, engineering, and mathematics |
PWM | Pulse width modulation |
SDA | Serial data line |
SCL | Serial clock line |
GND | Ground |
VCC | Voltage common collector |
I2C | Two-wire serial communication protocol using a SDA and a SCL |
SPI | Serial peripheral interface |
UART | Universal asynchronous receiver–transmitter |
HTML | Hypertext markup language |
HTTP | Hypertext transfer protocol |
AP | Access point |
DC | Direct current |
Wi-Fi | Wireless fidelity |
References
- Siciliano, B.; Khatib, O. Handbook of Robotics; Springer: Berlin/Heidelberg, Germany, 2008; Available online: https://link.springer.com/book/10.1007/978-3-540-30301-5 (accessed on 5 February 2023).
- Mason, M.T.; Pai, D.K.; Rus, D.; Taylor, L.R.; Erdmann, M.A. A Mobile Manipulator. In Proceedings of the 1999 IEEE International Conference on Robotics and Automation, Detroit, MI, USA, 10–15 May 1999. [Google Scholar]
- Islamgozhayev, T.U.; Mazhitov, S.S.; Zholmyrzayev, A.K.; Toishybek, E.T. IICT-bot: Educational robotic platform using omni-directional wheels with open source code and architecture. In Proceedings of the 2015 International Siberian Conference on Control and Communications (SIBCON), Omsk, Russia, 21–23 May 2015; pp. 1–3. [Google Scholar]
- Mamani, N.M.; García-Peñalvo, F.J.; Conde, M.Á.; Gonçalves, J. A systematic mapping about simulators and remote laboratories using hardware in the loop and robotic: Developing STEM/STEAM skills in pre-university education. In Proceedings of the 2021 International Symposium on Computers in Education (SIIE), Malaga, Spain, 23–24 September 2021; pp. 1–6. [Google Scholar]
- Mita, Y.; Kawahara, Y. 15-year educational experience on autonomous electronic information devices by flipped classroom and try-by-yourself methods. IET Circuits Devices Syst. 2017, 11, 321–329. [Google Scholar] [CrossRef]
- Loker, D. Embedded Systems using the Raspberry Pi Pico. In Proceedings of the 2022 ASEE Annual Conference & Exposition, Minneapolis, MN, USA, 26–29 June 2022. [Google Scholar]
- Loker, D.R. Raspberry Pi Pico as an IoT Device. In Proceedings of the 2023 ASEE Annual Conference & Exposition, Baltimore, MD, USA, 25–28 June 2023. [Google Scholar]
- Gfrerrer, A. Geometry and Kinematics of the Mecanum Wheel. Comput. Aided Geom. Des. 2008, 25, 784–791. [Google Scholar] [CrossRef]
- Wikipedia Contributors. (n.d.). Differential Wheeled Robot. Wikipedia, The Free Encyclopedia. Available online: https://en.wikipedia.org/wiki/Differential_wheeled_robot (accessed on 26 February 2025).
- Yovkov, S.; Chivarov, N.; Chivarov, S.; Staikova, M. Educational Mobile Robot Equipped with Intelligent Camera Huskylens. In Proceedings of the 9th International Conference on Control, Decision and Information Technologies (CoDIT), Rome, Italy, 3–6 July 2023. [Google Scholar] [CrossRef]
- Zhang, Y.; Ge, S. Analysis of the motion characteristics of Marine Mecanum transport platform. MATEC Web Conf. 2018, 232, 04006. [Google Scholar] [CrossRef]
№ | Component | Picture | Features | Main Features |
---|---|---|---|---|
1 | Raspberry Pi Pico W | Main microcontroller, which controls all peripherals and communication | ARM Cortex-M0+; 133 MHz; Wi-Fi module I2C; SPI and PWM interfaces; low power consumption | |
2 | Pololu 5 V, 2.5 A Step-Down Regulator (D24V25F5) | A step-down regulator provides a stable 5 V supply for the components | Input voltage: 6–38 V; output voltage: 5 V; maximum current: 2.5 A; up to 90% efficiency | |
3 | Pico-Motor-Driver (Waveshare) | Driver for 4 DC motors, used for drive control | Operating voltage: 6–12 V; 12-bit PWM control; H-bridge drivers TB6612FNG; I2C communication | |
4 | PCA9685 (16-channel PWM controller) | Controls the servomotors of the manipulator via hardware PWM control | Up to 16 PWM channels; I2C interface; 12-bit precision; 5 V power supply | |
5 | MG90S servomotors (3 pieces) | Control of the robotic arm—rotation, lifting, and gripping | Operating voltage: 4.8–6 V; torque: 2.2 kg/cm; metal gears | |
6 | Ultrasonic CS100A | Distance measurement and obstacle detection | Range: 2–500 cm; power supply: 3.3–5 V; TRIG/ECHO interface | |
7 | Li-Ion batteries (2 × 2600 mAh) | Provide autonomous power to the robot | Total capacity: 5200 mAh; high energy density; rechargeable |
Source | Pico W (GPIO pin) | Pico-Motor-Driver (pin) |
---|---|---|
SDA (serial data) | GP20 | SDA |
SCL (serial clock) | GP21 | SCL |
VCC (power supply) | 5 V | VCC (pin 39) |
GND (mass) | GND | GND (pin 38) |
Module (File) | Feature |
---|---|
main.py | The startup script that initializes the robot and manages Wi-Fi |
robot_main.py | Responsible for creating the Wi-Fi access point and handling HTTP requests |
index.html | Web interface to control the movement of the robot base and robotic arm via browser |
robot.py | Master class for robot control including motion methods |
robot_motors.py | Class for controlling wheel motors via PCA9685 and H-bridge driver |
robot_arm.py | Robotic arm control class using PCA9685 to control the servo motors |
pca9685.py | Driver for PCA9685 to generate PWM signals for motors and servomotors |
№ | Action | File |
---|---|---|
1. | Initialization of the system | main.py |
2. | Setting up a Wi-Fi access point | robot_main.py |
3. | Interactive web page interface | index.html |
4. | Accept and process commands | robot_main.py |
5. | DC motor control | robot.py |
6. | Arm control | robot_arm.py |
7. | Execute commands from the web interface | robot_main.py |
8. | Execute commands from the web interface | robot.py |
№ | Image | Handler Movement | Control Used (Slider) | Control Direction |
---|---|---|---|---|
1 | Row 1, Left | Start position of the gripper | - | Set to center |
2 | Row 1, Middle | Rotate to the right and slightly lower | Base, Arm | Slid right, slid left |
3 | Row 1, Right | Turn left and lift slightly | Base, Arm | Slid left, slid right |
4 | Row 2, Left | Closing the gripper | Gripper | Slid right |
5 | Row 2, Middle | Opening the gripper | Gripper | Slid left |
6 | Row 2, Right | Rotation towards center | Base | Slid to center |
№ | Stage | Action of the Robot | Comment |
---|---|---|---|
1 | Approach to the site | The robot approaches the platform where the yellow 3D-printed object is located | Control is undertaken manually via the web interface |
2 | Site capture | The manipulator positions itself above the object and grips the 3D-printed element | The servo mechanism gently closes the grip so as not to damage the object |
3 | Transport of the object | The robot moves towards the target area marked with a black circle | Movement is performed using Mecanum wheels for flexible maneuvering |
4 | Placement of the object | The manipulator positions the object over the target marker (black circle) and releases it | The positioning accuracy is controlled to be placed correctly |
5 | Completion of the experiment | The robot stops after releasing the object | The user visually confirms successful execution |
№ | Advantage | Description | Benefit |
---|---|---|---|
1 | Successfully implemented hardware and software | The robot is fully functional and works as expected | Suitable for testing, training, and further development |
2 | Connecting to the robot | The robot software creates a Wi-Fi access point, allowing for easy connection from a computer or mobile device | Quick and convenient robot startup without additional infrastructure |
3 | Control | Control is accessible via a web interface, with no complicated configuration | Easy to use even by novice users |
4 | Control flexibility | The robot can be controlled remotely via a PC without the need for additional controllers | Facilitates experimentation and learning by allowing quick changes in movements |
5 | Suitable for teaching students | Free source code and documentation make it easy to adapt the project for educational purposes | Suitable for STEM learning and developing algorithmic thinking |
6 | Functionality as expected | Basic object movement and manipulation work robustly | The reliability of the mechanics and software has been confirmed |
7 | Good maneuverability | Mecanum wheels provide freedom of movement in all directions | Suitable for complex manipulation tasks and navigation in confined spaces |
№ | Disadvantage | Description | Potential Risk |
---|---|---|---|
1 | Lack of real-time management | Commands are not executed instantaneously due to communication delays | Incorrect or delayed robot responses |
2 | Risk of communication breakdown | Control relies on Wi-Fi, which can be affected by interference | The robot may remain in the last submitted state without control |
3 | Delays in user responses | Control via sliders and buttons requires manual actions by the operator | Reduced speed in emergency situations or fine tuning |
4 | Limitations of gripper mechanics | Excessive tightening can cause servomotor failure | Lack of overstretch protection, possible blockage |
5 | Lack of autonomous adjustments on the fly | The robot does not self-correct position errors | Lower accuracy when grasping and placing objects |
6 | Risk of hardware wear | Lack of smooth transitions in motor control | Faster mechanical wear and damage in the long term |
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
Chivarov, N.; Vasilev, R.; Staikova, M.; Chivarov, S. Development of an Educational Omnidirectional Mobile Manipulator with Mecanum Wheels. Eng. Proc. 2025, 100, 16. https://doi.org/10.3390/engproc2025100016
Chivarov N, Vasilev R, Staikova M, Chivarov S. Development of an Educational Omnidirectional Mobile Manipulator with Mecanum Wheels. Engineering Proceedings. 2025; 100(1):16. https://doi.org/10.3390/engproc2025100016
Chicago/Turabian StyleChivarov, Nayden, Radoslav Vasilev, Maya Staikova, and Stefan Chivarov. 2025. "Development of an Educational Omnidirectional Mobile Manipulator with Mecanum Wheels" Engineering Proceedings 100, no. 1: 16. https://doi.org/10.3390/engproc2025100016
APA StyleChivarov, N., Vasilev, R., Staikova, M., & Chivarov, S. (2025). Development of an Educational Omnidirectional Mobile Manipulator with Mecanum Wheels. Engineering Proceedings, 100(1), 16. https://doi.org/10.3390/engproc2025100016