Kinematics modeling and simulation of an autonomous omni-directional mobile robot
Modelado y simulación de un robot móvil autónomo omni-direccional
DOI:
https://doi.org/10.15446/ing.investig.v35n2.47763Keywords:
Mobile robots, robotics, kinematics, modeling and simulation. (en)Robots móviles, robótica, cinemática, modelación y simulación. (es)
Although robotics has progressed to the extent that it has become relatively accessible with low-cost projects, there is still a need to create models that accurately represent the physical behavior of a robot. Creating a completely virtual platform allows us to test behavior algorithms such as those implemented using artificial intelligence, and additionally, it enables us to find potential problems in the physical design of the robot. The present work describes a methodology for the construction of a kinematic model and a simulation of the autonomous robot, specifically of an omni-directional wheeled robot. This paper presents the kinematic model development and its implementation using several tools. The result is a model that follows the kinematics of a triangular omni-directional mobile wheeled robot, which is then tested by using a 3D model imported from 3D Studio® and Matlab® for the simulation. The environment used for the experiment is very close to the real environment and reflects the kinematic characteristics of the robot.
Aunque la robótica ha avanzado hasta el punto de ser relativamente accesible con proyectos de bajo costo, aún cabe la necesidad de crear modelos que representen fielmente el comportamiento físico de un robot creando una plataforma completamente virtual. Esto nos permite, por un lado, probar algoritmos de comportamiento o de inteligencia artificial y, por otro lado, encontrar probables problemas en el diseño físico. El presente trabajo propone el modelado cinemático y la simulación de un robot móvil autónomo, particularmente de un robot omni-direccional con ruedas. Se plantea la metodología para la construcción del modelo cinemático así como su implementación utilizando diversas herramientas. El resultado es un modelo que representa a un robot móvil omni-direccional triangular con ruedas, que fue probado utilizando un modelo tridimensional importado de 3D Studio®, y utilizando Matlab® para la simulación del modelo. También se implementa el mismo modelo utilizando una herramienta dedicada a la simulación de robots, que ofrece un ambiente muy completo de simulación. El ambiente de simulación ofrece un comportamiento muy cercano al real y refleja las características cinemáticas del robot.
DOI: https://doi.org/10.15446/ing.investig.v35n2.47763
Kinematics modeling and simulation of an autonomous
omni-directional mobile robot
Modelado y simulación de un robot móvil
autónomo omni-direccional
D. Garcia-Sillas1, E. Gorrostieta-Hurtado2, J. E. Vargas3, J. Rodríguez-Reséndiz4, and S. Tovar5
1 Daniel García Sillas. Electronical Engineer, Instituto Tecnológico de Querétaro, México. Master in Distributed Software Engineering, Universidad Autónoma de Querétaro, México. Affiliation: Member of IEEE. E-mail: dgarcia37@alumnos.uaq.mx.
2 Efrén Gorrostieta Hurtado. Dr. Eng. Mechatronics, Centro de Ingeniería y Desarrollo Industrial, México. Affiliation: Senior Member IEEE. E-mail: efrengorrostieta@gmail.com.
3 J. Emilio Vargas Soto. Dr. in Physics Science, Universidad Complutense de Madrid, Spain. Post Doctorade by The Electrocommunication University of Tokyo, Japan. Affiliation: Senior Member IEEE.
E-mail: emilio@mecatronica.net.
4 Juvenal Rodríguez Reséndiz. Dr. in Engineering, Universidad Autónoma de Querétaro, México. Affiliation: Senior Member IEEE. E-mail: juvenal@uaq.edu.mx.
5 Saúl Tovar Arriaga. Dr. in Biomedical Sciences, Friedrich Alexander University Erlangen, Germany. Affiliation: Senior Member IEEE. E-mail: saul.tovar@uaq.mx.
How to cite: Garcia-Sillas, D., Gorrostieta-Hurtado, E., Vargas, J. E., Rodríguez-Reséndiz, J., & Tovar, S. (2015). Kinematics modeling and simulation of an autonomous omni-directional mobile robot. Ingeniería e Investigación, 35(2), 74-79. DOI: https://doi.org/10.15446/ing.investig.v35n2.47763
ABSTRACT
Although robotics has progressed to the extent that it has become relatively accessible with low-cost projects, there is still a need to create models that accurately represent the physical behavior of a robot. Creating a completely virtual platform allows us to test behavior algorithms such as those implemented using artificial intelligence, and additionally, it enables us to find potential problems in the physical design of the robot. The present work describes a methodology for the construction of a kinematic model and a simulation of the autonomous robot, specifically of an omni-directional wheeled robot. This paper presents the kinematic model development and its implementation using several tools. The result is a model that follows the kinematics of a triangular omni-directional mobile wheeled robot, which is then tested by using a 3D model imported from 3D Studio® and Matlab® for the simulation. The environment used for the experiment is very close to the real environment and reflects the kinematic characteristics of the robot.
Keywords: Mobile robots, robotics, kinematics, modeling and simulation.
RESUMEN
Aunque la robótica ha avanzado hasta el punto de ser relativamente accesible con proyectos de bajo costo, aún cabe la necesidad de crear modelos que representen fielmente el comportamiento físico de un robot creando una plataforma completamente virtual. Esto nos permite, por un lado, probar algoritmos de comportamiento o de inteligencia artificial y, por otro lado, encontrar probables problemas en el diseño físico. El presente trabajo propone el modelado cinemático y la simulación de un robot móvil autónomo, particularmente de un robot omni-direccional con ruedas. Se plantea la metodología para la construcción del modelo cinemático así como su implementación utilizando diversas herramientas. El resultado es un modelo que representa a un robot móvil omni-direccional triangular con ruedas, que fue probado utilizando un modelo tridimensional importado de 3D Studio®, y utilizando Matlab® para la simulación del modelo. También se implementa el mismo modelo utilizando una herramienta dedicada a la simulación de robots, que ofrece un ambiente muy completo de simulación. El ambiente de simulación ofrece un comportamiento muy cercano al real y refleja las características cinemáticas del robot.
Palabras clave: Robots móviles, robótica, cinemática, modelación y simulación.
Received: December 9th 2014
Accepted: March 20th 2015
Introduction
Nowadays, there is a fast-growing interest in robotics and mechatronics systems, since robotics platforms performing different tasks are increasingly common in daily life. They can be seen in industry where it is common for them carry out tasks such as welding, painting, stacking (manipulators) and other processes like transporting or conveying objects from one place to another. Mobile robots can be legged or wheeled, or even a combination of both, depending on the kind of application for which they are intended to be used. Mobile robots can adopt a large variety of forms, sizes, and types of mobility which allow them to function in their environment whether it be land, air or water; they can be flying devices or they could even be submarine or amphibious (Rui Ding et al., 2009). Some of these morphologies are inspired by the animal kingdom, where fish or dolphin-like swimming movements can be integrated (Yu, J., et al., 2012) showing a very natural gait.
Autonomous systems are gradually part of our way of life, regardless of notice it or not. The increased use of intelligent robotic systems in indoor or outdoor applications demonstrates the efforts made by researchers in many places. Autonomous systems have greater autonomy than before, and often new applications emerge, ranging from transport systems in industrial plants, transport systems at airports, for rescue systems, and even in health and care institutions. Another important point to mention is that although autonomous robotic systems include their own set of sensors, actuators and computers there is a possibility that they are controlled from open systems in networks with distributed control systems.
This causes to emerge new and more daring applications for mobile robots. For example, one of the most important trends of the past decades has been the increased use of mobile robots on rough terrain such as mines, forests, areas of disasters and planetary surfaces, since some of these surfaces may be inaccessible to human or perhaps dangerous. To meet the requirements of these trends a greater degree of complexity to mobile robots needs to be implemented, since they need to deal with changing environments by employing a wider variety of resources like sensors sets, actuator and decision making algorithms. This does not happen for other types of robots such as manipulators or stationary robotic platforms since fewer requirements are needed to operate.
Mobile robots have much more freedom and are more flexible than manipulators, but this implies that modelling them results in more complicated models than those for manipulators.
From the viewpoint of kinematics, the main difference between a manipulator and a mobile robot is the nature and disposition of its joints (Li Xiang, et al., 2008). The manipulator robot is usually modeled as an open kinematic chain composed of an alternation of rigid bodies with joint elements of a single degree of freedom. By contrast, the kinematic structure of a mobile robot can be considered as a set of closed kinematic chains, as much as wheels in contact with the ground. Furthermore, the wheel-ground interaction is defined, from the kinematic point of view, as a planar joint with three degrees of freedom, where one of them, usually uncontrolled, represents lateral slippage. These two facts make the construction of the model more difficult.
In the following section of this paper a methodology to obtain a kinematic model of an omni-directional wheeled vehicle based on the jacobean matrix is proposed. After that, the model is tested by executing a simulation using the obtained model by using a couple of software tools. The approach proposed in this paper employs a different simulation environment already proposed (Muñoz, 2010); it resides in the simulation platform that was built in a 3D system where objects can be added to the scene, which in turn gives a more realistic feeling. Additionally, the development was concluded with the construction of the physical model in order to start working in areas like motion and tracking control. Some results are shown in the penultimate section. Further developments and conclusions are discussed in the final section of this document.
Kinematics
The robot´s motion study is based accordingly to its geometry and considering the following constraints:
- The robot is moving over a flat surface.
- There are no flexible components in the robot’s structure.
- Friction is not taken into consideration.
Wheels behave as a planar joint of DoF as described below.
Figure 1. Wheel in contact with the floor.
Assuming that the wheel is a rigid element, it is always in contact with the ground in a single point and it serves as the origin for the references system shown in Figure 1. Direction vy determines the normal direction of the wheel, vx represents the side’s slippage and wz is the rotational speed when the robot turns. In the case of a conventional wheel the component vx is null, but there are other wheels providing a different behavior as shown in Figure 2.
Figure 2. Omni-directional Wheel.
The omni-directional wheel is defined as a standard wheel provided by a rollers array, whose axis turn perpendicularly to the normal wheel direction (Jae-Bok Song, et al., 2008). In this way, when force is applied to its side, component vx is no longer null.
The robot has multiple legs with three degrees of freedom (DoF) each, which gives it the capability to execute dexterous movements. Particularly, this robot has three legs, and each one of them has three DoF and they all are bidirectional.
The floor coordinate system {M} is fixed relative to the surface and it stands for the coordinate reference system for the robot motion.
Figure 3. Kinematic structure.
The corresponding global position of the robot is represented by {C}, which is associated to the robot body; its cartesian position is given by Xc, Yc, and its angle by θc.
{Fi} is the i-th leg joint attached to the robot body. The angle αi represents the orientation relative to {C}, and λi describes its position vector.
{Di} refers to the directional component of the i-th wheel.
The directional angle is represented by βi.
{Ri} represents the systems located at the contact point with the floor of the i-th wheel. The angle and position vector between the current and the previous systems are Υi and δi respectively.
The linear speed of the robot is given by the Equation (1)(Muñoz, 2010):
(1)
Where R(θi) represents the rotation matrix on the plane; ρi and θi are defined as the position and orientation vector or the systems {Ri} seen from {C}, indicated as follows:
(2)
(3)
The robot angular speed is calculated by:
(4)
The mentioned equations above are arranged as a jacobean matrix such that:
(5)
Whereand vcx are the components belonging to vcy, pix and piy to pi, λix and λiy to λi, and finally vix and viy to vi , respectively. Additionally, ci and si represent the cosine and sine of the angle θi.
The linear speed of the wheels is obtained from the applied action of a motor. In the case of a conventional wheel, with traction but non-directional, with a radius ri and a rotation speed Wix , a matrix can be defined as follows:
(6)
Equation (6) allows to introduce the angular speed wix and to override the directional action of βi. If the wheel can have direction, matrix Wi will be represented as follows:
(7)
The jacobean matrix of the i-th wheel represented by Ji with or without direction is defined as the model that allows to compute the robot’s speed Vc according to the vector components qi. For example, in case of a non-directional wheel, Equations (5) and (6) are combined as follows:
(8)
Considering n wheels attached to the robot and according to Equation (5), a set of equation systems is proposed, where the speeds vector Vc must satisfy simultaneously the following constraint (Calandín, 2006):
(9)
where the matrix I represents the identity matrix.
Next, least squares approach is used to find a solution for the vector Vc:
(10)
Matrix J then represents the whole jacobean system of the robot. Equation (11) states that the robot has a no-slip condition assuming that the robot is correctly actuated:
(11)
And it can be expressed as follows:
(12)
Methodology
Figure 4 shows the robot kinematic setup, and it represents a particular geometric configuration of an omni-directional vehicle that is being pursued in this study. It defines an equilateral triangle with a wheel installed on each one of its vertexes.
The distance from the origin {C} is its own geometrical center to any of the wheels in question here given by L. All wheels are directional and therefore they can be translated as an equality {Fc} = {Dc} = {Rc}, it means for every i, βi = 0º y Υi = 0º
Table 1 comprises the initial parameters for the kinematic model. In order to obtain the jacobean for every wheel, matrix Ji given in (5) is multiplied by the wheel conversion matrix of the actuated wheel for an omni-directional shown in (13):
Figure 4. Kinematic setup.
Table 1. Omni-directional triangular robot kinematics initial parameters.
wheel 1 {R1} |
wheel 2 {R2} |
wheel 3 {R3} |
|
αi |
18 0º |
60º |
–60º |
βi |
0º |
0º |
0º |
Υi |
180º |
0º |
0º |
δi |
(0,0,0) |
(0,0,0) |
(0,0,0) |
λi |
(-L, 0, 0) |
|
|
(13)
Matrix Wi models a radius R wheel, omni-directional with radius r and rollers fixed to 90º, with traction but non-directional. Regarding vector q, wix represents the angular speed of the motor attached to the wheel, wir is the wheel´s rollers angular speed and wiz holds the rotational slippage in relation to the vertical axis of the wheel. Then, the jacobean for the i-th wheel can be expressed as follows:
(14)
Substituting the parameters in table 1 in Equation (14), a jacobean for each wheel is obtained:
(15)
(16)
(17)
Matrixes J1, J2 and J3 are combined in Equation (9) and the entire vehicle jacobean is solved as described in (10):
(18)
Matrix in (18) contains the relation between the vehicle speed and the rollers, but from a practical point of view only actuated degrees are taken, such that the non-slippage condition is used by applying Equation (11):
(19)
This matrix in (19) results indeterminate since there are three rows that are linear combination from the others. Because of this condition, non-actuated variables are removed accordingly to the actuated, and the following equations are obtained:
(20)
(21)
(22)
(23)
(24)
(25)
By substituting all equations obtained in Equation (18), the global speed of the wheels can be calculated:
(26)
(27)
(28)
Equations can be accommodated as a matrix and the final Jacobean of the robot is obtained:
(29)
The inverse of the Jacobean (29) of the robot can be expressed as follows:
(30)
Simulation
A simulation environment was setup in order to run the model and test the kinematic model. A 3D-model world was built using 3D Studio® where all the mechanical parts of the robot are represented within the scheme. Later on, 3D world created in 3D Studio® is loaded into MatLab® (Figure 5), where the kinematic model is programmed and computed to simulate the robot motion.
The studied model is a holonomic system that allows omni-directional motion and, therefore, any angular and linear speed combination as well. These conditions let the robot make any possible move on a plane surface.
To test the model, a basic configuration on the wheel speed was programmed to generate different moves.
Figure 5. Simulation world setup.
Linear movement
This type of movement is defined by a linear speed described by the components vcx and vcy. These components must be constant to let the robot move linearly and the angular speed θc null. Figure 6 shows the linear speed of the robot:
Figure 6. Linear displacement of the robot. Speed on wheels 2 and 3 are constant while wheel 1 is zero.
Rotational movement
In this case, the robot is spinning on its center. Components vcx and vcy are null, while θc remains constant (Figure 7).
Figure 7. Rotational move of the robot. Speed on all wheels are equal and constant.
As seen in the figures above, the robot can lead to any path based on the speed of the wheels; varying such speeds the direction of the robot can change making it go to any other place on a flat plane.
Following the interest on the robotic platform proposed here, a physical model has been built (Figure 8). The robot is provided with nine DoF. It has three legs as described in the present article, and each one of them has two motors controlling its position, and a bi-directional DC motor providing mobility to the robot. The legs position and motor speed are controlled by an Arduino development kit.
Figure 8. Physical model of the omni-directional mobile robot.
Conclusions
In the present paper a kinematic model of an omni-directional mobile robot and its simulation have been conducted. Forward and inverse kinematic models have been proposed.
The paper has two main parts: in the first section, the calculation of the kinematic models required by any controller to compute the current position of the robot is presented. Forward and inverse models needed to compute position based on the speed of the wheels and speeds needed to achieve certain position respectively are shown; in the second part, a simulation was developed in order to demonstrate full functionality of the kinematic modelling for the robot, where the results presented are very satisfactory. Two basic motion tests were performed and they were intended to demonstrate the feasibility of the model.
There is great interest in applying the models of the robot in a specific job in the future. One of the intentions of developing simulator robots or even physical construction is to use them to develop algorithms that can automatically control certain required behavior (Cárdenas, et al., 2011). Computer software like MatLab® is one of the tools used where artificial intelligence is needed to manipulate the robot without spending much developing time. Trajectory generation and control of mobile robots with artificial intelligence could be implemented using these techniques (Nardenio A. Martis, et al., 2008).
References
Calandín, L.I.G. (2006). Modelado cinemático y control de robots móviles con ruedas (Doctoral dissertation, Universitat Politècnica de València).
Cárdenas, E.F., Mendez, L.M., & Esmeral, J.S. (2011). Métodos para generar trayectorias libres de colisiones en entornos multidimensionale. Ingeniería e Investigación, 31(2), 5-17.
Jae-Bok Song, & Kyoung-Seok Byun. (2008). Design and Control of an Omnidirectional Mobile Robot with Steerable Omnidirectional Wheels. Korea University, Mokpo National University. Republic of Korea. P223.
Martins, N.A., Bertol, D., Lombardi, W.C., Pieri, E.R., & Dias, M.M. (2008, October). Neural control applied to the problem of trajectory tracking of mobile robots with uncertainties. In Neural Networks, 2008. SBRN'08. 10th Brazilian Symposium on (pp. 117-122). IEEE.
DOI: 10.1109/sbrn.2008.41.
Xiang, L., Xunbo, L., & Liang, C. (2007, December). Multi-disciplinary modeling and collaborative simulation of multi-robot systems based on HLA. In Robotics and Biomimetics, 2007. ROBIO 2007. IEEE International Conference on (pp. 553-558). IEEE. DOI: 10.1109/robio.2007.4522222.
Rui Ding, Junzhi Yu, Qinghai Yang, & Min Tan. (2009). Kinematics Modeling and Simulation for an Amphibious Robot: Design and Implementation. Institute of Automation, Chinese Academy of Sciences. Beijing 100190, China.
Yu, J., Ding, R., Yang, Q., Tan, M., Wang, W., & Zhang, J. (2012). On a bio-inspired amphibious robot capable of multimodal motion. Mechatronics, IEEE/ASME Transactions on, 17(5), 847-856. DOI: 10.1109/TMECH.2011.2132732.
Muñoz M.V.F., Gil-Gómez, G., & García, C.A. (2003). Modelado Cinemático y Dinámico de un Robot Móvil Omni-Direccional. Universidad de Málaga. Parque Tecnológico de Andalucía C/Severo Ochoa 4, 20590 Málaga.
How to Cite
APA
ACM
ACS
ABNT
Chicago
Harvard
IEEE
MLA
Turabian
Vancouver
Download Citation
CrossRef Cited-by
1. Felizardo Cuevas, Oscar Castillo. (2018). Fuzzy Logic Augmentation of Neural and Optimization Algorithms: Theoretical Aspects and Real Applications. Studies in Computational Intelligence. 749, p.241. https://doi.org/10.1007/978-3-319-71008-2_19.
2. Felizardo Cuevas, Oscar Castillo, Prometeo Cortes. (2020). Hybrid Intelligent Systems in Control, Pattern Recognition and Medicine. Studies in Computational Intelligence. 827, p.301. https://doi.org/10.1007/978-3-030-34135-0_21.
3. Chunrong Wang, Erdong Xia, Janjun Liu, Changjiong Xiong. (2018). Research on a Method for Mobile Robot Localization. 2018 5th International Conference on Information Science and Control Engineering (ICISCE). , p.441. https://doi.org/10.1109/ICISCE.2018.00098.
4. Felizardo Cuevas, Oscar Castillo, Prometeo Cortes-Antonio. (2019). Towards an Adaptive Control Strategy Based on Type-2 Fuzzy Logic for Autonomous Mobile Robots. 2019 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE). , p.1. https://doi.org/10.1109/FUZZ-IEEE.2019.8858801.
5. Md Hasibur Rahman, Samiul Haque, Md Fayed Al Monir, Mohammad Faisal Uddin, Saadia Binte Alam. (2024). Fabrication of a Revolutionary Pick-and-Place Robot with Omnidirectional Mobility. 2024 International Conference on Image Processing and Robotics (ICIPRoB). , p.1. https://doi.org/10.1109/ICIPRoB62548.2024.10544036.
6. Wojciech Kowalczyk, Arpit Joon. (2022). Design of one degree of freedom rotating platform applied in leader-follower autonomous robot control. 2022 26th International Conference on Methods and Models in Automation and Robotics (MMAR). , p.211. https://doi.org/10.1109/MMAR55195.2022.9874308.
7. Noverina Alfiany, Nur Hamid, Grafika Jati, M. Anwar Ma'sum, Wisnu Jatmiko. (2019). Kinematics and Dynamics Analysis of an Autonomous Three-wheeled Bicycle Modeling. 2019 4th Asia-Pacific Conference on Intelligent Robot Systems (ACIRS). , p.17. https://doi.org/10.1109/ACIRS.2019.8935966.
8. Chol-Guk Yun, Yong-Chol Sin, Hak-Rim Ri, Kyong-Nam Jo. (2023). Trajectory tracking control of a three-wheeled omnidirectional mobile robot using disturbance estimation compensator by RBF neural network. Journal of the Brazilian Society of Mechanical Sciences and Engineering, 45(8) https://doi.org/10.1007/s40430-023-04340-5.
9. Felizardo Cuevas, Oscar Castillo, Prometeo Cortes. (2021). Toward Humanoid Robots: The Role of Fuzzy Sets. Studies in Systems, Decision and Control. 344, p.221. https://doi.org/10.1007/978-3-030-67163-1_8.
10. Pranav Vikirtan Dhayanithi, Thangamuthu Mohanraj. (2023). Intelligent Control, Robotics, and Industrial Automation. Lecture Notes in Electrical Engineering. 1066, p.13. https://doi.org/10.1007/978-981-99-4634-1_2.
11. Avinash Kumar, Prathamesh Vhatkar, Hrijul Shende, Ashitosh Chavan, Kaliprasad Mahapatro. (2022). Real- Time Trajectory Prediction and Localization of Omni-directional Badminton Robot. 2022 IEEE Pune Section International Conference (PuneCon). , p.1. https://doi.org/10.1109/PuneCon55413.2022.10014790.
Dimensions
PlumX
Article abstract page views
Downloads
License
Copyright (c) 2015 Daniel Garcia Sillas, Efrén Gorrostieta Hurtado, Emilio Vargas Soto, Juvenal Rodríguez Reséndiz, Saúl Tovar Arriaga
This work is licensed under a Creative Commons Attribution 4.0 International License.
The authors or holders of the copyright for each article hereby confer exclusive, limited and free authorization on the Universidad Nacional de Colombia's journal Ingeniería e Investigación concerning the aforementioned article which, once it has been evaluated and approved, will be submitted for publication, in line with the following items:
1. The version which has been corrected according to the evaluators' suggestions will be remitted and it will be made clear whether the aforementioned article is an unedited document regarding which the rights to be authorized are held and total responsibility will be assumed by the authors for the content of the work being submitted to Ingeniería e Investigación, the Universidad Nacional de Colombia and third-parties;
2. The authorization conferred on the journal will come into force from the date on which it is included in the respective volume and issue of Ingeniería e Investigación in the Open Journal Systems and on the journal's main page (https://revistas.unal.edu.co/index.php/ingeinv), as well as in different databases and indices in which the publication is indexed;
3. The authors authorize the Universidad Nacional de Colombia's journal Ingeniería e Investigación to publish the document in whatever required format (printed, digital, electronic or whatsoever known or yet to be discovered form) and authorize Ingeniería e Investigación to include the work in any indices and/or search engines deemed necessary for promoting its diffusion;
4. The authors accept that such authorization is given free of charge and they, therefore, waive any right to receive remuneration from the publication, distribution, public communication and any use whatsoever referred to in the terms of this authorization.