Kinematic Analysis of a Two-Wheeled Self-Balancing Mobile Robot Animesh Chhotray, Manas K. Pradhan, Krishna K. Pandey and Dayal R. Parhi Abstract This paper describes the development of a two-wheeled self-balancing robot and its kinematic analysis. The system architecture consists of two co-axial wheeled rectangular structure powered by a pair of DC motors. Two separate motor drivers are controlled by pulse width modulated voltage signals received from the Arduino microcontroller board. The attitude determination of the robotic platform can be accomplished by an IMU sensor, which is a combination of accelerometer and rate gyro. After mechanical system design, the velocity decomposition of the two wheels and robot body are analyzed to establish the kinematic model. In this model, local position of the robot is mapped according to the global coordinates. Finally, the kinematic constraints are established for fixed standard wheels of the two-wheeled robot. Keywords Two-wheeled self-balancing robot constraints Kinematic model Kinematic 1 Introduction Current considerable research on human–robot interaction in the public domain with real-time responses results in the development of two-wheeled mobile robots. These robots have better potential for use in indoor environments as personal A. Chhotray (&) M.K. Pradhan K.K. Pandey D.R. Parhi Robotics Laboratory, Department of Mechanical Engineering, National Institute of Technology, Rourkela, Sundergarh 769008, Odisha, India e-mail: chhotrayanimesh@gmail.com M.K. Pradhan e-mail: manas.pradhan141@gmail.com K.K. Pandey e-mail: kknitrkl@yahoo.in D.R. Parhi e-mail: dayalparhi@yahoo.com © Springer India 2016 D.K. Lobiyal et al. (eds.), Proceedings of the International Conference on Signal, Networks, Computing, and Systems, Lecture Notes in Electrical Engineering 396, DOI 10.1007/978-81-322-3589-7_9 87 88 A. Chhotray et al. assistance, tour guidance, surveillance, and as cleaning robots in households. It is much easier to make a two-wheeled robot with tall structure than the bipedal structure without compromising the ability to turn on the spot with greater agility. Rather these robots offer higher levels of mobility and maneuverability than their four-wheeled counterparts due to the ability to negotiate with tight corners and corridors. This leads the research on two-wheeled self-balancing robot to be accelerated over the last decade in many control and robotic research centers [1–3]. These robots have two co-axial differential drive wheels mounted on either side of an intermediate rectangular body. The center of mass lies above the wheel axles, which actively stabilizes the robot, while traversing over steep hills or slopes. Two-wheeled robots also have smaller footprints and can spin on the spot about a single axis in various terrains. These robots are characterized by their capacity to balance on their two wheels by overcoming the inherent dynamics of the system. This additional maneuverability allows easy navigation on various terrains. These capabilities of two-wheeled robots have the potentiality to solve numerous challenges in society and industry. Many researchers have discussed several kinematic analysis approaches for various types of robots with a different number of wheels [4, 5]. The kinematic analysis establishes a relation between robot geometry, system behavior, and control parameters in an environment. In this analysis, robot velocity is generated after considering the speed of the wheels, rotation angle, and geometric parameters from the robot configuration [6–8]. 2 Mechanical Systems Design For the robot to be able to balance successfully, it is essential that the sensors provide reliable information about the inclination of the robotic platform and its angular velocity. This is also, of course, to ensuring that the control system, motor drivers, and motors themselves are properly designed. The design process here is completed in several phases. At first 3D sketches of the rectangular body structure with wheels is created through CATIA as shown in Fig. 1. The wheels are placed parallel to each other and driven by two separate motors. As power source battery are placed as high as possible above the wheel axis to get better stability, the power transmission from the motor shaft to the wheel axis is achieved by gear chain assembly. In the next phase to enable stabilizing control, the two-wheeled robot is equipped with appropriate actuators and sensors, which are connected with each other through microcontroller and motor drivers. An Arduino microcontroller board is having ATmega328 controller and six analog inputs with fourteen digital input or output pins from which six can be used as PWM outputs. The microcontroller sends a suitable signal to PWM generator to generate commands of required force for the DC motor of the two wheels. The sensor used here is an IMU sensor called Kinematic Analysis of a Two-Wheeled Self-Balancing Mobile Robot 89 Fig. 1 CAD model of the Lab-built two-wheeled mobile robot MPU6050 which contains 3-axis accelerometer and a 3-axis gyroscope in a single chip. It is very accurate and captures X, Y, Z axis values simultaneously. Gyroscope measures the rate of change of angular orientation, i.e., the angular velocity with respect to a reference frame. Accelerometers are used to find the rate of change of linear velocity that the body experiences when a force is applied on it. Also two separate motor drivers of 6–16 V, 20 A capacity are used to control the direction and speed of the wheels through motors. These drivers can be interfaced with the microcontroller and receive digital signals as pulse width modulation to control motor velocity. 3 Kinematic Model of Two-Wheeled Mobile Robot Kinematics is the most basic study to understand the mechanical behavior of the robot. While designing appropriate mobile robots for performing desired tasks and to create suitable control software for any instance of robot hardware, prior knowledge of proper kinematic model is highly essential. Also, Robotic direction cannot be measured instantaneously; rather it is integrated over time. Also, slippages of wheels add some inaccuracies to the motion. Therefore, to get precise robot position is always an extremely challenging task. Since each wheel contributes to robot motion and both are coupled together on robot chassis, their individual constraints combine to figure the overall constraints affecting final robot 90 A. Chhotray et al. motion. Hence, to formulate the kinematic model the actual model is simplified with the following assumptions. 1. The Robot must be considered as a rigid body irrespective of joints and degrees of freedom due to wheel and steering assembly. 2. The plane of operation should be treated as horizontal. 3. Robot motion is pure rolling without slipping, skidding, or sliding between wheel and floor. 4. There should not be any friction for rotation around contact points. 5. Steering axes must be orthogonal to the surface. 6. During motion, the wheel and the horizontal plane is get in touch with a single point. The understanding of the robot motion starts with analyzing the individual contribution of each wheel toward the whole robot motion. Also the effect of constraints like lateral skidding cannot be overlooked. As the wheels are tied together according to the robot chassis geometry, their constraints are also combined to affect the overall motion. Therefore, while describing a robot’s navigation as a function of its geometry and wheel behavior, we have to introduce notations for its motion in a global reference frame and local reference frame as in Fig. 2. In the kinematic analysis of a two-wheeled differential robot the position of the robot is described by a local reference frame as {XL, YL} in a global reference frame {XG, YG}. If the angle of orientation of the robot is h then its complete location in the global reference frame is given by 2 3 x nG ¼ 4 y 5 h ð1Þ YG vl ωl Vrobot rl vr θ yl ωr D D 2 rr D ωrobot 2 θ xl Fig. 2 Two-wheeled differential robot kinematics XG Kinematic Analysis of a Two-Wheeled Self-Balancing Mobile Robot Mapping between two frames can be established matrix as 2 cosðhÞ sinðhÞ RðhÞ ¼ 4 sinðhÞ cosðhÞ 0 0 91 by considering the rotational 3 0 05 1 ð2Þ Therefore, the local position of the robot can be mapped with respect to global coordinates as 3 2 3 2 cosðhÞ_x þ sinðhÞ_y x_ n_ l ¼ RðhÞn_ G ¼ RðhÞ 4 y_ 5 ¼ 4 sinðhÞ_x þ cosðhÞ_y 5 ð3Þ h_ h_ Let us consider a two-wheeled robot with two independently driven wheels mounted on the same axis as in Fig. 1. The movement of robot is described by both translation of center and orientation of centroid. The above two action can be accomplished by controlling the wheel speeds of left and right wheels. Robot linear velocity Vrobot(t) and angular velocity xrobot(t) are functions of the linear and angular velocities of its right wheel, ʋr(t), xr(t) and left wheel, ʋl(t), xl(t), respectively. The distance between the two wheels is taken as D and the right and left wheel radius are taken as rr, rl respectively. The rotation angle of the wheel about its horizontal axis is denoted by ur and ul accordingly. The robot velocities can be expressed as Vrobot ¼ vr þ vl vr v l ; xrobot ¼ 2 D The kinematic equation can be written in 2 3 2 cosðhÞ x_ ðtÞ 4 y_ ðtÞ 5 ¼ 4 sinðhÞ _ 0 hðtÞ ð4Þ global coordinate or initial frame as 3 0 V 0 5 robot ð5Þ xrobot 1 And in according to local coordinate it is 2 3 2 3 x_ l ðtÞ r=2 r=2 xl ðtÞ 4 y_ l ðtÞ 5 ¼ 4 0 5 0 xr ðtÞ h_ l ðtÞ r=D r=D ð6Þ 4 Wheel Kinematic Constraints The primary step of a kinematic model is to find out the number of constraints that are affecting the motion of each wheel. By assuming that the wheels always remain vertical with pure rolling condition and a single point contact the analysis become 92 A. Chhotray et al. Fig. 3 Fixed standard wheel kinematic constraints quite simplified. Here in local coordinate, velocity in Y axis is always zero; since the possible motion for wheel is to move back and forth along wheel plane and rotate around its contact point with the ground plane as in Fig. 2. Hence from Fig. 3 the kinematic constraints for a two-wheeled robot having fixed standard wheels can be derived as. 1. Rolling Constraints ½sinða þ bÞ cosða þ bÞðlÞcosbRðhÞn_ l r u_ ¼ 0 ð7Þ 2. Sliding Constraints ½cosða þ bÞ sinða þ bÞ lsinbRðhÞn_ l ¼ 0 ð8Þ 5 Conclusions The two-wheeled mobile robot can be a better alternative than multi-wheeled and humanoid robots to work in indoor environments like narrow corridors and tight corners. The kinematic analysis establishes the relation between position and orientation of the robot in local reference frame to that of global reference frame. A relation for both linear and angular velocity of the robot has been derived taking Kinematic Analysis of a Two-Wheeled Self-Balancing Mobile Robot 93 the left and right wheel velocities and robot dimensions. Finally, the kinematic constraints like rolling and sliding constraints are established for fixed standard wheels of the two-wheeled robot. References 1. Grasser, F., D’arrigo, A., Colombi, S., Rufer, A. C.: JOE: a mobile, inverted pendulum. Industrial Electronics, IEEE Transactions, 49, 107–114 (2002). 2. Anderson, D.P.: nBot Balancing Robot. Retrieved March 1, (2007) http://www.geology.smu. edu/*dpa-www/robo/nbot. 3. Ooi, R. C.: Balancing a two-wheeled autonomous robot. University of Western Australia, 3, (2003). 4. Morin, P., Samson, C.: Motion control of wheeled mobile robots. In Springer Handbook of Robotics, 799–826. Springer Berlin Heidelberg (2008). 5. Alves, S. F., Ferasoli Filho, H., Rosario, J. M., Rincón, L. K., Yamasaki, R. A.: Conceptual Bases of Robot Navigation Modeling, Control and Applications (2011). 6. Siegwart, R., Nourbakhsh, I. R., Scaramuzza, D.: Introduction to autonomous mobile robots. MIT press (2011). 7. Deepak, B. B. V. L., Parhi, D. R.: Kinematic Analysis of Wheeled Moblie Robot. Automation and Systems Engineering, 5(2) (2011). 8. Novak, G., Seyr, M.: Simple path planning algorithm for two-wheeled differentially driven (2wdd) soccer robots. WISES, 4, 91–102 (2004).