Al-Khwarizmi Engineering Journal Al-Khwarizmi Engineering Journal, Vol. 6, No. 4, PP 1 – 9 (2010) Control of Omni-Directional Mobile Robot Motion A. Salam Al-Ammri* Iman Ahmed** Department of Mechatronics Engineering/ Al-Khawarizmi College of Engineering/ University of Baghdad * Email: asalamalammri@yahoo.com ** Email: engamosh@yahoo.com (Received 13 June 2007; Accepted 11 November 2010) Abstract This paper presents the motion programming and control of omni-directional mobile robot through the process of building and programming a small robotic platform with secondary design criteria of modularity and simplified control. This is accomplished by combining the positive aspects of several different robotics platform ideas. The platform is shaped like an equilateral triangle with a servo motor, sensors, and omni-wheel, controlled by a PIC microcontroller. In this work the kinematics, inverse kinematics and dynamic module for the platform is derived. Two search algorithms (the wall-following search and the “most-open-area” search) is designed, tested, and analyzed experimentally. Keywords: Omni-directional mobile robot. 1. Introduction Omni-directional mobile robots are unique as they can roll freely in two directions. It can roll like a normal wheel or roll laterally using the wheels along its circumference. Omni-directional wheels allow a robot to convert from a non- holonomic robot to a holonomic robot. A non- holonomic robot is that which uses normal wheels and has only two out of three controllable degrees of freedom, which move forward/backward, and rotates. The robot cannot move side ways` which make it slower and less efficient in reaching its given goal. The holonomic omni-directional wheels can overcome this problem, as it is highly maneuverable. Conventional wheel mobile robots (WMRs) are restricted in their motion because they cannot move sideways without a preliminary maneuvering [1]. Various mechanisms were developed to improve the manoeuvrability of WMR.A design which uses three centered wheels with independent steering and driving capability [2], is capable of continuously varying its orientation through 360°,as such the design may be termed omni-directional [3]. It was not known widely that the very first omni-directional wheel was patent in 1919 by Grabowiecki [4]. The assembly consists of main wheels and transversal rollers, such as those used by most RoboCup teams [5].Inventors were considering the design of vehicles to be capable of moving forward and sideways without steering the wheels. Robots constructed with these wheels normally possess three driven omni-directional wheels arranged in a Δ or Y manner [6]. Langlois[7] shows that modularity makes it easy for users to change the platform or add components to it. There are many robotic platforms that are developed to simplify the design of software and hardware. These platforms fall short of meeting the objectives of our design. These design objectives were: modularity, ease of use and construction, low cost, and an emphasis on straightforward control, in a mobile robot performing search algorithms; it must be intelligent enough to navigate the environment, avoid obstacles and finally locate the search target with the help of adequate sensors. Usually works regarding robot autonomy were studied and the usefulness of some ideas could apply and combined in an effective way to achieve This page was created using Nitro PDF trial software. To purchase, go to http://www.nitropdf.com/ http://www.nitropdf.com/ A. Salam Al-Ammri Al-Khwarizmi Engineering Journal, Vol. 6, No. 4, PP 1 - 9 (2010) 2 successfully search algorithms. YATA et. al.[8] have developed a strategy of wall following using angle information measured by an ultrasonic transducer, thus the robot can turn accurately at convex and concave corners by a sufficiently fast measurement cycle compared to the speed of the robot. This research is carried out experimentally using a highly advanced mobile robot equipped with power steering and odometry mechanisms and a high-end transducer to measure the bearing angles accurately. 2. Mathematical Model and Search Algorithm The kinematics analysis of mechanical system means the determination of the position, and velocity of the various mechanical elements forming the mechanism under consideration .The combination of position and velocity of an element at a certain time was referred to a state of this element. The calculations of the kinematics state to mechanical elements such as (position, orientation, and rate of change) on given axial motions represent direct kinematics problem. [9]. 3. Kinematic of Omni-Directional Drive System To understand the operation of the three omni- directional drives wholly, the kinematics behind each drive system must be investigated. Fig.(1)Illustrates the unconstrained and constrained motion vectors of each wheel assembly. The constrained motion of the wheel assembly was directly controlled by motors control [10]. Fig.1. Kinematics of an Individual Wheel Assembly. Using Fig.(2) the kinematics equations of The drive system can be derived. Equations that are used in the robot control system are: )()( 213  CosVCosVVVx  …(1) )()( 21  SinVSinVV y  …(2) LVLVLVV /// 321  …(3)   rwV i 3,2,1 …(4) where; r : Omni wheel radius (cm). w : Angular velocity of the wheel (rad/sec). So the velocity for each of the three wheels will be equal to the servomotor speed multiplied by wheel radius in the theoretical analysis. As the wheels are arranged in symmetrical manner (120°) apart, then δ = (60°). So Equations (1) to (3) can be rewritten in a matrix form;                                          3 2 1 /1/1/1 0 2 3 2 3 1 2 1 2 1 V V V LLLV V V y x  …(5) Fig.2. (Kinematics Representation of the Three Omni-Directional Drive System). To find the robot velocity and orientation at any point the following equations will be used. 22 VyVxV  …(6) x y V V 1tan  …(7) This page was created using Nitro PDF trial software. To purchase, go to http://www.nitropdf.com/ http://www.nitropdf.com/ A. Salam Al-Ammri Al-Khwarizmi Engineering Journal, Vol. 6, No. 4, PP 1 - 9 (2010) 3 4. Search Algorithm Two search algorithms (the wall-following search and the “most-open-area” search) were tested and their accuracy were compared in experimental work using a room like prototype. 4.1. The Wall-Following Search A wall-following search is very useful in flat- like environments where the walls act as main obstacles and separators of rooms. Therefore, if the robot can follow the wall say on its right side, then it probably can move into every room in such a layout. Therefore, this search method runs on the idea in which the robot keeps near the wall through navigating in the environment table (3). 4.2. The ‘Most-Open-Area’ Search The second algorithm runs on the idea of sparsity search. The robot will try to move into sparse areas when an obstacle blocks it from moving forward. The sparse area can be in the “north”, “north-east”, “north-west”, “east”, “west”, “south-east” or “south-west” directions. It should not retrace its own steps such that it moves back into the same explored area. Also, while moving, the robot senses an “open” area on its right or left, then it should stop and explore those areas as well. This allows the robot to cut across rooms and into empty spaces to explore. 5. Mobile Robot Construction And Test The physical design of the mobile robot is very effective. It is a combination of various physical (hardware) and computational (software) elements that integrate the subsystems of the mobile robot to work in one unit. In terms of hardware components, the robot was constructed mainly from these components; servo motor, controller, infrared sensor (IR) three omni-directional wheels, batteries, frame. The software consists of tiny embedded application (TEA) program that have been used to do the mobile robot tasks and control its behavior. IR sensors are used on the robot as collision detectors. Three (IR) sensors are mounted on the robot frame, each positioned between a pair of wheels to measure the distance between the robot and surrounding obstacles. These sensors measure the distance within a range from 10cm (~4") to 80cm (~30"), as a voltage. If the object is within the distance range of the sensor then the wheels will change the motion of the robot from going forward to turning. Once the sensor found an obstructed case, one wheel would turn off to make the robot turn. An important design consideration is how a particular component is to be assembled into the final shape. The first step in selecting a robot component is to make a plant survey to find the best operation with the robot. Next, select the appropriate type of controller, so the general purpose controller would control the motors and avoid obstacles. Also it can run reflexes to help in the navigation and sensor input. This task was easy to accomplish since close attention given to the size of the programs is developed to run on the controller modules. The general purpose of robotics controllers` worked well because they gave flexibility in the way that the system could be designed. The general purpose ability of the controller’s is to communicate through IIC (information integration center) connections to improve the usability of the platform by offering the user a means of expansion. The selected shape and dimensions of the robot, is an equilateral triangular platform with 20cm length, 5cm in height, and about 750 gm. The design shows that the four design criterion, modularity, ease of use and construction, low cost, an emphasis on straightforward control, which were considered in construction of the robot hardware, were satisfied of robot platform. Beyond design and construction of the mobile robot, experiment test has been done to achieve the following work: 1) Prove that the basic robot components worked nominally. 2) No malfunction found in the hardware. 3) Checking the performance of the robot with free path (no obstacle). 4) Study the effect of changing values and orientation of the servo's velocity on the total system velocity. 5) Confirm the kinematics analysis result by comparison it with experimental work. 6) Evaluate the robot motion in obstacle path by search algorithm. 5.1. Components of the Mobile Robot Table (1) gives the main components that have been used in the construction of the robot platform. USB connector was used to connect the robot with the PC (pentium4). This page was created using Nitro PDF trial software. To purchase, go to http://www.nitropdf.com/ http://www.nitropdf.com/ A. Salam Al-Ammri Al-Khwarizmi Engineering Journal, Vol. 6, No. 4, PP 1 - 9 (2010) 4 Table 1, Robot Parts List. Quantity Description 3 4cm Poly Roller Wheel 3 Sharp GP2D12 Detector 4 NiMH AA Battery 1 NiMH 9V Battery 1 NiMH/NiCad AA/AAA/9V Charger 1 General Purpose Controller 3 Parallax Continuous Servo 1 Robot Hardware 3 Aluminum Robot Frame Piece 1 SPDT Toggle Switch 1 Acrylic top deck 3 Red 8" wire w/crimps 3 Black 8" wire w/crimps 3 Yellow 8" wire w/crimps 3 JST PHR Connector Housing Fig.3. Mobile Robot Setup for Programming. 5.2. Experimental Test The experiments were conducted using six different combinations of robot starting positions. A stopwatch is used to time the two search methods and the algorithm ends. Each combination is used three times to test both algorithms and the average time is taken. These average values can then be used in the analysis of the search methods. An experiment “failure” occurs when the robot takes too long to end the algorithm, an unsuccessful test occurs after six minutes of long search. Therefore success rate (out of three tests) of the algorithms are also noted. 6. Results and Discussion From the kinematics modeling of a three wheeled omni-directional mobile robot the basic equation of motions for the developed mobile robot is proposed. The equation of motion has been used to calculate different suggested cases; these cases describe the motion of one wheel, two wheels, and three wheels with different velocities' value and orientations. The results' concern the velocity and direction of motion for the whole system as illustrated in table (2). The inputs' data are (V1, V2, and V3) which denote the wheels velocities (servo motor rotation) used in Eqs. (1 to 7). From the table these observations have remarked: The cases from (0-5), only one wheel is on and the two wheels are off .the robot will have the same value of VQ with different input, .The cases (6 to 11), only one wheel is off and the two wheels are on with the same direction .The robot will have the same velocity value this value is higher from the first point check.The cases (12 to 17), on which only one wheel is off, and two wheels are on in opposite direction , thus one trying to rotate the robot clockwise and the other anticlockwise) the total robot velocity in the translation V=0.1264 , and in the rotation VQ =0,then the robot moves in a straight line (forward motion)only with no rotation .In case (18) the three wheels are on, Vx=Vy =V=0; which mean that no translation motion exist ,and V reach the maximum value = 1.99 which means that the robot rotates on the center of rotation (on the spot turn)(only rotation).The cases from (19-24), when three wheels rotate in the same value but;one of them in opposite orientation it seems that VQ has the same value with case one but the equivalent (v ) is higher than it. Case (25) all the three wheels are on, shows the same type of motion in case (18) but in the positive direction of motion, since the direction of the wheel is reversed. Different wheels' velocities and orientations (forward or reversed) were tested to examine the performance of the robot. Three combinations of the robot motion is clarified. If all wheels rotate on same direction, the robot will rotate around its center; the direction of rotation is the same as direction of each wheel rotation as shown Fig. (4). This page was created using Nitro PDF trial software. To purchase, go to http://www.nitropdf.com/ http://www.nitropdf.com/ A. Salam Al-Ammri Al-Khwarizmi Engineering Journal, Vol. 6, No. 4, PP 1 - 9 (2010) 5 Table 2, Result Obtained From Different Wheel Velocity. NO. Dis. V1 V2 V3 Vx m/s Vy m/s V m/s Ψ (°) V rad/s 0. 1 ON & 2 OFF 0 0 1 0.073 0 0.073 0° .6636 1. 0 1 0 -0.0632 -0.063 0.073 60° .6636 2. 1 0 0 -0.0632 0.063 0.073 -60° .6636 3. 0 0 -1 -0.073 0 0.073 0° -.6636 4. 0 -1 0 0.0632 0.063 0.073 60 ° -.6636 5. -1 0 0 0.0632 -0.063 0.073 -60 ° -.6636 6. 2 ON & 1 OFF 0 1 1 0.0362 -0.063 0.073 -60° 1.327 7. 1 1 0 -0.073 0 0.073 0° 1.327 8. 1 0 1 0.0362 0.063 0.073 60° 1.327 9. 0 -1 -1 -0.0362 0.063 0.073 -60 ° -1.327 10. -1 -1 0 0.073 0 0.073 0 ° -1.327 11. -1 0 -1 -0.0632 -0.063 0.073 60 ° -1.327 12. 1 OFF & 2 ON in opposite direction 0 1 -1 -0.109 -0.063 0.1264 30 0 13. 0 -1 1 0.109 0.063 0.1264 30° 0 14. 1 -1 0 0 0.126 0.1264 90° 0 15. -1 1 0 0 -0.126 0.1264 -90 ° 0 16. 1 0 -1 -0.109 0.063 0.1264 -30 ° 0 17. -1 0 1 0.109 -0.063 0.1264 -30 ° 0 18. 3 ON 1 1 1 0 0 0 Nan 1.990 19. 3 ON with one opposite direction -1 1 1 0.073 -0.126 0.146 -60° .6636 20. 1 -1 1 0.073 0.126 0.146 60 ° .6636 21. 1 1 -1 -0.146 0 0.146 0 ° .6636 22. -1 -1 1 0.146 0 0.146 0° -6636 23. -1 1 -1 -0.073 -0.126 0.146 60° -6636 24. 1 -1 -1 -0.073 0.126 0.146 -60 -6636 25. 3 ON -1 -1 -1 0 0 0 Nan -1.990 Fig.4. The Robot Rotation Motion. When only one wheel is on and two wheels are off, the direction of motion is the same as the on- wheel; the obtained circular path is rotation of the robot around external center. The maximum circular path is achieved by making tangent to the on-wheel, in this case the max.circular path diameter is equal to (67cm) if the velocity of the servo is the maximum as shown in Fig (5). This page was created using Nitro PDF trial software. To purchase, go to http://www.nitropdf.com/ http://www.nitropdf.com/ A. Salam Al-Ammri Al-Khwarizmi Engineering Journal, Vol. 6, No. 4, PP 1 - 9 (2010) 6 Fig.5. Robot Circular Motion. In fig 6&7 the robot will follow a circular path with error about (6cm). Fig. 6. Error Representation of Circular Motion. Fig. 7. The Robot Motion Deviation. When two wheels rotate in the same direction and the third wheel is off, the direction of motion is the same as the three wheels on. The obtained circular path is rotation of the robot around off- wheel .The minimum circular path is achieved here due to the rotation around the off-wheel. The maximum path is the robot length as shown in Fig.(8). Fig. 8. Rotation of Robot Around off-Wheel. When three wheels are on with one of them rotate in the opposite direction, the direction of motion of robot is the same as the direction when all the wheels on. The obtained circular path is the rotation of the robot around external center, the maximum circular path is achieved by making tangent to the on-wheel, in Fig.(9) the maximum circular path diameter is equal to (94cm). Fig.9. Robot Orientation When all Wheels On. Six different cases can be obtained from this type of motion (Linear Motion), depending on the number of the active wheel and its direction as shown in following Figs (10, 11, 12, 13, 14, and 15). Fig.10. v1=1, v2=-1, v3=0. This page was created using Nitro PDF trial software. To purchase, go to http://www.nitropdf.com/ http://www.nitropdf.com/ A. Salam Al-Ammri Al-Khwarizmi Engineering Journal, Vol. 6, No. 4, PP 1 - 9 (2010) 7 Fig.11. V1=0, V2 =1, V3 =-1 Fig.12. v1=0, v2=-1, v3=1. Fig.13. v1=-1, v2=1, v3=0. Fig.14. v1=1, v2=0, v3=-1. Fig.15. v1=-1, v2=0, v3=1. 6.1. Result of Search Comparison Table (3) presents the result from the experiments on which each of the six different tests have been repeated three times and then the average time for each test was calculated. Also the success rate was found by dividing the number of the success test on the total number of the tests. Table 3, Tabulated Summarized Results of the Experiments. The results show that the wall-following search is more efficient than the most open area search .This type of search will be used when the time is not an important factor and the accuracy is required while the most open area will be used when the time is an important factor and should be taken into account. No Average time-taken for search Search Rate (out of 3 tests) Wall- following (sec) Most- open-area (sec) Wall- following Most- open-area 1 50 sec 55 sec 100% 33.3% 2 81sec 47 sec 100% 33.3% 3 101sec 39 sec 100% 66.6% 4 87sec 62 sec 100% 33.3% 5 55 sec 51 sec 100% 33.3% 6 30 sec 26 sec 100% 66.6% This page was created using Nitro PDF trial software. To purchase, go to http://www.nitropdf.com/ http://www.nitropdf.com/ A. Salam Al-Ammri Al-Khwarizmi Engineering Journal, Vol. 6, No. 4, PP 1 - 9 (2010) 8 7. Conclusions From the robot motion control the following notes can be concluded: 1. A straight line motion can be achieved by running two wheels only in opposite direction 2. The rotation of the system around its center can be obtained by running the three wheels in the same direction, 3. If the three wheels on and one of them rotate in opposite direction, the path of motion obtained is circular (motion type linear or circular). 4. No error is recognized in the motion if the three wheels rotate with the same velocity and it is not dependent on the direction of rotation of the wheels. 5. There is an error that must be taken into account when controlling the motion of robot if one or two wheel is on. 6. The error obtained from the forward linear motion is greater than the backward motion. 7. The wall following search was very consistent in term of success rate and should be used if time is not an important factor in the search. While, the most open area search was faster in completing most of the search with less accuracy. 8. References [1] S. Killoilgh, and F. Pin," Design of an Omni- directional and Holonomic Wheeled Platform Prototype", Proc. IEEE Int. Conf. on Robotics and Automation, pp. 84-90, France,1992. [2] Y. Low, J. Angeles, and K. Low, "A comparative Mobility Study of Three Wheeled Mobile Robots", Proc. The Sixth International Conference on Control, Automation, Robotics and Vision, Singapore, 2000. [3] M. West, and H. Asada," Design of Ball Wheel Vehicles with Full Mobility, Invariant Kinematics and Dynamics and Anti-slip Control", Prco. The 1994 ASME Design Technical Conference 23rd Biennial Mechanisms Conference, pp.377- 384, 1994. [4] J. Grabowiecki,n, “Vehicle Wheel”, US Patent 1,303,535, June 3, 1991 [5] N. Jones, M. Hill, and M. Shanahan, "Small- Size Soccer Robots", University of Adelaide, pp. 2-7, Australia, 2005. [6] S. Saha, J. Angeles, and J. Darcovich, "The Design of Kinematically Isotropic Rolling Robots with Omni-directional Wheels", Mechanism and Machine Theory, Vol. 8, pp.1127-1137,1995 [7] N. Langlois, " Modularity in Technology and Organizations". Thesis, the University of Connecticut;, 2000. [8] T. YATA, L. KLEEMAN and S.YUTA, "Wall Following Using Angle Information Measured by a Single Ultrasonic Transducer". IEEE Int. Conf. On Robotics & Automation, Leuven, Belgium, 1998. [9] K.Yoram, "Robotics For Engineers", McGraw-Hill Book Company."1985". [10] A. K. Bose, "Modular Omni Directional Drive for a Mobile Robot Platform", Fraunhofer Institute for Autonomous Intelligent Systems, Germany, pp.1-10 2003. This page was created using Nitro PDF trial software. To purchase, go to http://www.nitropdf.com/ http://www.nitropdf.com/ - 9 ، صفحة4، العدد 6مجلة الخوارزمي الھندسیة المجلد عبد السالم العامري 1 )2010( 9 ال متعدد االتجاھاتالسیطرة على حركة انسان آلي نق ایمان احمد زایر** عبد السالم العامري * جامعة بغداد/ كلیة الھندسة الخوارزمي/ قسم ھندسة المیكاترونكس asalamalammri@yahoo.com: البرید االلكتروني * engamosh@yahoo.com: البرید االلكتروني ** الخالصة ي ان االل ة االنس ة لمنص اء والبرمج ة البن الل عملی ن خ اوي .یقّدم ھذا البحث التجمیع النسان آلي نقال متعدد اإلتجاھات م ث متس كل مثل ى ش ة عل المنص . ل باالشعة تحت الحمراء وبثالث عجالت متعددة االتجاه و التي یتم السیطرة علیھا بواسطة مسیطر مایكروي االضالع و بمحرك مؤازر و متحسسات تعم لة و في النموذج , في ھذا العمل تم اشتقاق النموذج الحركي للمنصة من خالل التحلیل النظري ورة منفص ة بص الت الثالث رعة العج اب س م حس الحركي ت ھ ھ ل اه الحرك وت و اتج رعة الروب اب س ن حس ا یمك ن خاللھ ي م ام , الت یة للنظ ة العكس اب الحرك م حس ك ت د ذل ة . بع ة لحرك ة العاّم ائج المعادل حت النت أوض ة ات مختلف ة اتجاھ وت بثالث ة . الروب ة المختلف ة اآللّی از الحرك ة،(إلنج ة، خطّی ة دورانی رة )دائری یم متغی ة بق ارات التجریبی ض االختب ت بع رعة، (، عمل س . للعجالت) وتوجیھ ة "طقة مفتوحةأكثر من" و " متابعة الحائط " تم تصمیم و اختبار خوارزمیتان للبحث و ھي ة مختلف ة و نھای اط بدای ّتة نق ي بس كل تجریب یط .وحّللت بش المح ة . الذي تم اختبار التجارب بھ على شكل بیئة مستویة أو شبھ مكتب مكون من غرف و ابواب مفتوحة اس الدق ى اس ث عل وارزمیتي البح ین خ تمت المقارنة ب ث نتائج االختبار بینت بأّن خوارزمیتي البحث فّع. والوقت راض البح ات وأغ ا للحاج تعمالھم طبق تم اس از . التان بطرق مختلفة و ی ار اداء الجھ ائج اختب ت نت بین ام " أكثر منطقة مفتوحة"كما اظھرت النتائج أیضا بأّن ,حققت نسب نجاح عالیةجدا" متابعة الحائط"لخوارزمیتي البحث ان ب مھ ال أغل ى اكم ادرة عل ت ق كان . البحث في مّدة أسرع This page was created using Nitro PDF trial software. To purchase, go to http://www.nitropdf.com/ http://www.nitropdf.com/