# An Autonomous Omnidirectional Robot

Authors: Yanfei Liu; Jiaxin Zhao; Josh Apple; Torrey Frank; Matthew Saylor; Ted Siegel
Journal: Journal of Robotics
 (2010)

---

## Abstract

RoboCup is an international research and education initiative, which aims to foster artificial intelligence and robotics research by using competitive soccer as a standard problem. This paper presents a detailed engineering design process and the outcome for an omni-directional mobile robot platform for the Robocup Middle Size League competition. A prototype that can move omnidirectionally with kicking capability was designed, built, and tested by a group of senior students. The design included a mechanical base, pneumatic kicking mechanism, a DSP microcontroller-based control system, various sensor interfacing units, and the analysis of omnidirectional motions. The testing results showed that the system was able to move omnidirectionally with a speed of~2 m/s and able to kick a size 5 FIFA soccer ball for a distance of at least 5 meters.


---

## Body

## 1. Introduction

In August 2007, the College of Engineering, Technology and Computer Science at Indiana University-Purdue University Fort Wayne and a local company initiated a 5-year project to promote robotics, artificial intelligence, and software engineering in the college curricula. The main goal of this project is to build a robot team to compete in the Robocup Middle Size League competition [1] by 2012. This project also aims at introducing robotics into a variety of computer science and engineering courses. As part of the first year plan, a Pioneer 3-DX robot was purchased. Using this robot as a development platform, the first task was to design and build a kicking mechanism that is connected and interfaced with this robot [2]. As the outcome of this project, the robot with the mounted kicker (Figure 1) can locate an orange soccer ball and a green goal post, compute the angle that the robot should turn in order to line up with the ball and the post, approach the ball with the computed angle, and kick the ball towards the post. The Pioneer 3-DX robot is a sturdy and reliable commercial robot. However, it does not suit the specific needs for soccer playing. One problem is its slow speed due to its relatively large weight. Also its predetermined shape and dimensions impose additional constrains to the mounting of other components, for example, the kicker, in order to meet the dimension limits for the Robocup Middle Size League. Additionally, the traditional two-wheel with a caster structure leads to a long reaction time when the robot has to turn. Therefore, on the second year the emphasis of this project switched to the development of an omni-directional mobile robot platform specifically for the Robocup competition.Figure 1
The kicking mechanism mounted on a Pioneer 3-DX robot.A large body of robotics research in several areas related to the Robocup middle size league competition has been published during the past decade. These research areas include real-time motion planning [3], data fusion [4], robot platform design [5], communications among robots [6], and multiagent control structure [7]. Among these areas, the platform design is where a new robot team would start. However, to the best of our knowledge, there are few works published describing the initial design and building process of their basic robot platform. Usually a team’s description paper [8] only discusses the components of their robot platform without explaining the process of the design generation. To fill this blank, in this paper, a detailed process of designing, building, and testing an omni-directional mobile robot platform for the Robocup middle size league competition is presented. This design task was carried out by a multidisciplinary team of senior engineering students.The task of building an omni-directional mobile robot with kicking capability was carefully reviewed by the professors whose expertise is in robotics and in machine design, and determined to be an appropriate two-semester multidisciplinary capstone senior design project. The team was formed with two electrical/computer engineering students and two mechanical engineering students. In the fall of 2008, the students started with the formulation of the problem, generation of conceptual designs, evaluation of the conceptual designs and finished with a detailed design of the final chosen design. In the spring of 2009, the students built the robot platform and conducted the experimental testing.The remainder of this paper is organized as follows. In Section2, we describe an overview of the robot system. In Sections 3 and 4, we present the mechanical and electrical design of the mobile robot platform. Testing procedures and results are presented in Section 5. Finally, we conclude the paper in Section 6.


## 2. System Overview

At the beginning of the project the design requirements and specifications were set so that the robot was to be fully autonomous and capable of moving omnidirectionally with a speed of at least 2 m/s and able to kick a size 5 FIFA soccer ball for a distance of at least 5 meters. Due to the specific intended use of this robot it has to comply with a maximum weight constraint of 40 kg and also with other rules and regulations defined by the RoboCup Middle Size League as of 2008. Students started generating conceptual designs by breaking the whole system into the following individual modules: mobility, mechanical base, power, kicking mechanism, microcontroller, and motor control. Several conceptual designs were generated for each module. Table1 shows the design details and their ranking from best to worst. The ranking of different designs in each category is based on functional capability, easiness of implementation, modularity for interface with other components, reliability, and cost. Each criterion was assigned a specific weight factor based on its importance to the final product. A detailed description of the generated conceptual designs for each module can be found in [9]. Considering compatibility, the team combined the designs of each individual module to compose five overall conceptual designs. Figures 2, 3, 4, 5, and 6 show the 3D CAD drawings for these five conceptual designs.Table 1
Ranking of the individual design modules.
Best…… WorstMobilityFour wheelTwo wheelThree wheelMechanical basePyramidBulletBoxKicking mechanismSwing lift with plungerSpring loaded slidingPneumatic kicker with plateSwing ArmMicrocontrollerDSP microcontrollerLow power microcontroller with a laptopNetworked microcontrollerLow power microcontroller with a PCMotor controlMultiple motor controllersSingle motor controllerPower24 V DCParallel 12 V DCSingle 12 V DCFigure 2
Conceptual design 1: Bullet design with a spring kicker.Figure 3
Conceptual design 2: Pyramid structure with a swing lift kicker.Figure 4
Conceptual design 3: Bullet design with a pneumatic kicker.Figure 5
Conceptual design 4: Pyramid of two wheels with a spring-loaded kicker.Figure 6
Conceptual design 5: Pyramid of three wheels with a lift kicker.Table2 shows the individual components of each design. To choose the best design decision, matrices were generated to evaluate these five conceptual designs according to the same criteria of capability, ease of implementation, modularity, reliability, and so forth, as for the ranking in each category. The detailed evaluation process and matrices can be found in [9]. Based on this evaluation, the designs that had the top two scores, concepts 2 and 4, were picked as the primary and secondary designs, respectively.Table 2
Five conceptual designs.
Concept 1Concept 2Concept 3Concept 4Concept 5MobilityFour wheelFour wheelFour wheelTwo wheelThree wheelMechanical BaseBulletPyramidBulletPyramidPyramidKicking mechanismSpring loaded slidingSwing lift with plungerPneumatic kickerSpring Loaded SlidingSwing lift with plungerMicrocontrollerLow power microcontroller with a laptopDSP microcontrollerDSP microcontrollerNetworked microcontrollerLow power microcontroller with a PCMotor ControlSingle motor controllerMultiple motor controllersMultiple motor controllersSingle motor controllerMultiple motor controllersPowerParallel 12 V DCParallel 12 V DC24 V DC24 V DCParallel 12 V DCThe primary conceptual design, shown in Figure2, utilizes the pyramid shell with a four-drive wheel. With this design, the mobility is greatly increased over the other concepts.  With the four-wheel design, the robot should be able to maintain orientation with the goal while moving around the entire field. Four-wheel design also provides a larger wheel base to allow a larger resistance to tilt over by the robot as it might get hit in a game. Assuming uniform mass distribution and everything else equal (Mass M, adjacent wheel distance d), four-wheel design requires almost twice as much moment to tilt it over, compared with the three-wheel design, as shown in (1). In addition, the kicker on this robot will be very reliable compared to the other concepts due to its relatively simple design. Lack of reliability in other kicker options stems from the fact that more kicker parts in other designs led to more failure modes.  The Parallel 12 V DC power supply is also advantageous due to its relative simplicity and ability to produce twice as much current to actuators/motors.  The motor controller design for this concept will allow each drive motor to have complete independence by receiving independent signals from the microcontroller(1)Mtilt={Mg(33d2)=0.288MgdThreeWheelBase,Mg(d2)=0.5MgdFourWheelBase.


## 3. Mechanical Design

In the mechanical design, the design selection and optimization was focused on providing rigidity of the platform, reducing weight, increasing tilt-over resistance, while maintaining the mobility and functionality of the robot. The design first started by taking into consideration the size of the wheels and motors selected for the robot.  With this specific information along with the diameter of the ball, the desired wheel orientation and the size constraints for the base of the platform were generated. Figure7 shows the shape of the bottom plate and the wheel arrangement. The resistance to tilt over is further optimized by arranging to have heavier objects lower in the robot to lower the center of gravity. The capability of determining center of gravity of the CAD software used was utilized for verification of components arrangement. It was decided that the motors would be mounted on the underside of the plate.  A cut-out in the base plate had to be made in order for the ball to enter into the robot one third of its diameter.  The angle of the cut-out and size was determined based on the size of the ball, the motor arrangement, and the size of the plate. A detailed description of the cut-out calculations can be found in [10].Figure 7
Omni-directional wheel arrangement.The next task was to create a mounting structure for the kicker itself as well as an overall body for the robot.  During this process, it was found out that the pyramid design selected would not provide an adequate amount of space due to the dimensions of the nitrogen tank and the pneumatic components.  To solve this problem, a combination of the pyramid and bullet designs was utilized.  Figure8 shows the 3D CAD drawing of the modified design. This design allowed for more space and open areas and it also kept the weight of the robot to a minimum.  There was also enough room left in the overall height for a later addition of a vision system.  The open areas of the robot were all designed to be small enough so that the ball could not accidentally enter the inside of the robot and damage any components.  In the CAD drawing, the large mechanical components, such as the nitrogen tank, the pneumatic kicker, were modeled and added to give a better visualization of the remaining space. It shows that there was plenty of space left for the batteries, drivers, microcontrollers, and so forth. Figure 9 shows a picture of the actual robot built. Aluminum bars form the frame of the robot, providing rigidity of the structure as well as means to attach other components. Aluminum is selected as the material because of its better strength/density ratio compared with steel. Rubber bends could be wrapped around the frame to reduce the effects of impact from the ball or other robots in a game.Figure 8
3D CAD drawing for the final modified design.Figure 9
The final built robot.A final mechanical optimization was done to align the kicking plate which was pinned on top as shown in Figure9. The pneumatic cylinder pushes the plate from below and the plate rotates up, kicking the ball. For simple trajectory motion from ground level with initial velocity magnitude of v and angle of θ from the horizon, the distance of travel until hitting ground again is given by (2), which results in a maximum distance of travel when θ=45°. In lieu of this, a rubber stop was positioned on top of the plate to stop the plate motion at approximately 45° from horizon, resulting an optimal release angle of the ball to ensure the longest travel possible through air to achieve the distance requirement of the kicker(2)S=v2gsin(2θ).
The final dimensions of the robot were 45.7 × 45.7 × 62.23 cm.  The size constraints were 50 × 50 × 80 cm.  The reason the height being much lower than the maximum was to ensure that there was enough room left for a vision system to be added to the top of the robot at a later time. The final weight of the robot was 31.1 kg, which is about 9 kg under the 40 kg weight constraint. Again, the 9 kg difference left enough room for the future vision system.


## 4. Electrical Design

The electrical design of the robot includes the eZdspF28335 development board that holds the TMS320F28335 Digital Signal Controller (DSC), a printed circuit board (PCB) that contains the solenoid driving unit, the proximity sensor interface, the Hall-effect sensors interface, and the motor driving circuit. Figure10 shows a block diagram for the whole electrical system. The eZdspF28335 development board is used to program the TMS320F28335 DSC and to get easy access to the I/O pins of the DSC. The PCB was completely designed using Multisim and Ultiboard software. Figure 11 shows the PCB layout and the functions of the various components. A solenoid driver was used to drive the solenoid valves for the pneumatic cylinders. The proximity sensor was implemented to detect the soccer ball when it is close enough to be kicked. A 25.9 V Lithium Polymer Ion battery rated at 326.34 Wh (watt-hour) was selected to power the whole robot. The detailed design of all the sensor interfacing circuits and a complete power analysis for the whole system can be found in [10].Figure 10
Block diagram for the electrical system.Figure 11
The PCB layout.The motor drivers (controllers) are the Syren10 manufactured by Dimension Engineering.  The motor driver can support up to 10 A continuous and 15 A peak and support voltages from 6 V to 24 V with the absolute maximum of 30 V.  The driver has regenerative current, which means that it will return power to the batteries when the robot is decelerating or changing direction.  Regenerative current returns the inductive energy from the motor to the battery instead of dissipating it as heat.  The motor controller operated at a simplified serial mode that uses TTL level single byte serial commands. The driver outputs a pulse width modulated signal at 32 kHz.


## 5. Testing Procedures and Results

The design requirement and specification of this project were set such that the robot should be capable of moving omnidirectionally with a speed of at least 2 m/s and able to kick a size 5 FIFA soccer ball for a distance of at least 5 meters.The testing for the kicking distance started with the robot in a stationary position. Then the soccer ball was placed in front of the robot, and the kicking mechanism was actuated. The total air and rolling kicking distance was measured and recorded. The experiments were repeated 10 times. The rolling distance was well beyond the 5 meter goal. The horizontal kicking distance in the air was measured as approximately 3 meters, as shown in Table3.Table 3
Kicking distance in Air.
Trial12345678910Avg.Distance (m)3.073.222.722.722.942.893.252.862.863.302.98The speed of the robot movement was measured in eight different directions. The eight different directions are defined in angles with 0° being the direction that goes straightly forward. The arrangement of the eight directions is shown in Figure12. The robot was programmed to move and accelerate for one second, and then the distance travelled in 1 second was measured. The experiments were run 10 times on each direction. The average speeds for each direction are shown in Table 4. As shown in the table, the robot achieved the 2 m/s goal set by the problem statement for all but two of the angles, which are 135° and 315° along the same line but in opposite directions. This is due to the fact that the four motors were not mounted at the same level. The team mounted the four motors on the bottom plate using only visual inspection without the aid of any alignment tools.  As consequence, one or two of the four motors, motors 2 and 4, are slightly off the plane with respect to the other two motors. Therefore the two wheels attached to these two motors have less traction with the floor. Motor 2 and 4 are the ones that are engaged for the movements in the directions of 135° and 315°. That is the reason why the robot moves slower in these two directions when compared with the others. In the future, using proper alignment tools, the four motors will be positioned to ensure that they are at the same level, and a more uniformly distributed speed would be achieved in all directions. Also note that the 1 second test includes the acceleration of the robot. For a linear acceleration process, the final speed is twice as much as the average speed. To verify the final steady speed that the robot can achieve, an 8-second test was done to allow the robot to move in 8 seconds and the distance measured. The average speed calculated to be nearly 3 m/s which represents how fast the robot can go.Table 4
Average speed in 8 different directions.
Direction (angle in degree)04590135180225270315Speed (m/s)2.162.062.241.812.002.152.101.83Figure 12
Eight different directions.Some other requirements were also tested based on specific components involved. The power supply was designed to supply full power to the robot for 45 minutes. The capacity of the power supply was tested by turning on all four motors and allowing them to run at full speed when the robot was set on a bench. After allowing the motors to run for a total of three (3) hours, it was determined, by visual inspection, that the performance of the motors was not at all affected after this length of running time. The number of kicks a full nitrogen tank can provide was also determined through testing. The nitrogen tank used in the robot was 48 cubic inch in size, which was filled with nitrogen gas to a pressure of 3000 psi. The manual pressure regulator was set to 100 psi. The team ran the experiments three times. The results showed that on the average 126 kicks were produced per tank.As mentioned in the introduction, the initiative to design and build a new robot is to overcome the shortcomings of the Pioneer robot. The maximum speed that the Pioneer robot can reach is 1.6 m/s not considering the time required for turning. Our robot can reach a speed of more than 2 m/s in most of the directions without the need of turning. The kicker of the Pioneer robot cannot kick the ball into the air, while our robot can kick the ball into the air with an average distance of~3 meters in the air.


## 6. Discussions and Conclusions

In this paper, a multidisciplinary engineering capstone design project is described. This project is about the design, building and testing of an omni-directional robot designed specifically for the Robocup competition. The robot was designed to meet requirements of moving omnidirectionally with speed of 2 m/s, kicking a size 5 soccer ball 5 meters. Various design choices were studied and best combination for functional capability, easiness of implementation, modularity for interface with other components, reliability, and cost were selected. A prototype was built according to the final design. Testing results of the prototype show that the delivered system meets the requirements specified at the start of this project.The current design was also done with further improvements and functional additions in mind. The mass and height of the robot was well under the Robocup limit, allowing room for vision system. For the 2009-2010 academic year another group of engineering students worked at adding an omni-directional vision system to this robot platform. The team finished the design of the vision system in December 2009. In the spring 2010 semester, the team built the system and conducted experimental testing. The detailed description of the system and the experimental testing results can be found in [11]. In 2011, this robot including the vision system will be modified as needed to make it as reliable as possible. Then a couple of more robots will be replicated such that cooperative behaviors and team play strategy can be experimented.



---

*Source: 857594-2011-03-06.xml*