11.07.2015 Views

Control System for a Spherical Robot

Control System for a Spherical Robot

Control System for a Spherical Robot

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ABTEKNILLINEN KORKEAKOULUFaculty of Electronics, Communications and AutomationDepartment of Automation and <strong>System</strong>s TechnologyMasaki Nagai<strong>Control</strong> <strong>System</strong> <strong>for</strong> a <strong>Spherical</strong> <strong>Robot</strong>Thesis submitted in partial fulllment of the requirements <strong>for</strong> the degree of Masterof Science in TechnologyEspoo July 29, 2008Supervisors:Professor Aarne HalmeHelsinki University of TechnologyProfessor Kalevi HyyppäLuleå University of TechnologyInstructor:Tomi YlikorpiHelsinki University of Technology


AcknowledgementsFirst of all, I would like to acknowledge Professor Aarne Halme, Automation and<strong>System</strong>s Technology Department, TKK, Finland, <strong>for</strong> giving me this opportunityto survey and study the eld of spherical robots as well as giving me importantcomments on my work. Also, I wish to acknowledge Professor Kalevi Hyyppä,Department of Computer Science and Electrical Engineering, Luleå University ofTechnology, Sweden, <strong>for</strong> his constructive comments given at every important milestoneof this research.I am particularly grateful to Mr. Tomi Ylikorpi, Automation and <strong>System</strong>sTechnology Department, TKK, <strong>for</strong> guiding me to the completion of my thesis andtaking care of every single aspect throughout the project, including procurement,paper work, designing the mechanical part of the robot, as well as managing theSpaceMaster Programme as a whole.I would also like to gratefully appreciate the language support oered by Mr.William Martin, Department of Electrical Engineering, TKK. His support helpedme greatly to improve the understandability and structure of the thesis. Needlessto say, he helped me with the language correction.I would also like to thank Mr. Tapio Leppänen, Automations and <strong>System</strong>sTechnology Department, TKK, <strong>for</strong> supporting my thesis with manufacturing themechanical part of the prototype robot.Furthermore, we must remember that Ms. Anja Hänninen, Secretary of theAutomations and <strong>System</strong>s Technology Department, TKK, has assisted the Space-Master programme in administrative duties.Finally, I would like to extend my heartfelt gratitude to my student colleagues<strong>for</strong> their understanding, assistance, and encouragement: Mr. Tran Duy Vu Bui(Richard), Mr. Felix Cabrera Garcia, Mr. Khurram Gulzar, Mr. Jan PhilippHakenberg, Mr. Timo Paavo Kalevi Heiskanen, Mr. Farrukh Iqbal Sheikh, Mr.Tawon Uthaicharoenpong (Pipe), and Miss Vicky Yuen Kwan Wong.ii


Espoo, July 29, 2008Masaki Nagaiiii


Helsinki University of TechnologyAuthor:Title of the thesis:Masaki Nagai<strong>Control</strong> <strong>System</strong> <strong>for</strong> a <strong>Spherical</strong> <strong>Robot</strong>Abstract of the Master's ThesisDate: July 29, 2008 Number of pages: 70Faculty: Faculty of Electronics, Communications and AutomationDepartment: Automation and <strong>System</strong> TechnologyProgram: Master's Degree Programme in Space Science and TechnologyProfessorship: Automation Technology (Aut-84)Supervisors: Professor Aarne Halme (TKK)Professor Kalevi Hyyppä (LTU)Instructor: Tomi Ylikorpi<strong>Spherical</strong> robots utilizes an original locomotion system by displacing its center of gravityin order to generate torque and rotate itself. They are believed to have severalbenets. First, the only contact point with the ground allows locomotion with minimalfriction, leading to low-energy motion. Second, the spherical structure allows the motionin tightly constrained spaces. Third, the spherical body protects the inner structureagainst external shocks or dust. Finally, it cannot lose mobility simply by overturningthanks to its spherical shape.<strong>Spherical</strong> robots, however, can generate only a small amount of torque <strong>for</strong> rotation.This makes its locomotion ability <strong>for</strong> up-hill climbing and obstacle overrunning greatlylimited. There<strong>for</strong>e, this study focuses on spherical robots operating on smooth atoors. It describes the basic dynamics and control methods, which can still be applied<strong>for</strong> indoor use. This is an important step <strong>for</strong> further investigation of more complexdynamics and control methods.First, the dynamics of a spherical robot is investigated <strong>for</strong> two motions: driving andsteering. Second, this paper describes the newly developed prototype robot, includingits wireless communication system. The wireless system is one of the critical componentsof the prototype, since rotation does not allow physical wiring. Third, in order to avoidclumsy and unstable motion coming from the spherical shape, several control methods<strong>for</strong> smooth locomotion have been developed using the prototype.Keywords: sphere, pendulum, Bluetooth, PID controliv


Contents1 Introduction 12 Literature Review 32.1 History of Ball <strong>Robot</strong>s . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Principles of Locomotion . . . . . . . . . . . . . . . . . . . . . . . . 52.2.1 Using an IDU (Inside Driving Unit) . . . . . . . . . . . . . . 52.2.2 Using a Pendulum . . . . . . . . . . . . . . . . . . . . . . . 62.2.3 De<strong>for</strong>mable Body . . . . . . . . . . . . . . . . . . . . . . . . 92.2.4 Gyrover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.3 Dynamics Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.3.1 Analysis of an IDU-driven <strong>Robot</strong> . . . . . . . . . . . . . . . 122.3.2 Analysis of pendulum driven robot . . . . . . . . . . . . . . 152.4 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.4.1 Playing Toy . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.4.2 Surveillance . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.4.3 Reconnaissance . . . . . . . . . . . . . . . . . . . . . . . . . 162.4.4 Space Exploration . . . . . . . . . . . . . . . . . . . . . . . 192.4.5 Entertainment . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Theory 213.1 Dynamics of Driving . . . . . . . . . . . . . . . . . . . . . . . . . . 213.1.1 Horizontal Motion . . . . . . . . . . . . . . . . . . . . . . . 213.1.2 Uphill and Downhill Motion . . . . . . . . . . . . . . . . . . 233.1.3 Obstacle crossing . . . . . . . . . . . . . . . . . . . . . . . . 243.2 Dynamics of Steering . . . . . . . . . . . . . . . . . . . . . . . . . . 263.2.1 Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.2.2 Ball traveling at low speed . . . . . . . . . . . . . . . . . . . 273.2.3 Ball traveling at intermediate speed . . . . . . . . . . . . . . 283.2.4 Ball traveling at high speed . . . . . . . . . . . . . . . . . . 30v


3.2.5 Numerical Calculation . . . . . . . . . . . . . . . . . . . . . 324 Prototype <strong>Robot</strong> 334.1 <strong>System</strong> Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334.2 Electronic Architecture . . . . . . . . . . . . . . . . . . . . . . . . . 344.2.1 Block Diagram Description . . . . . . . . . . . . . . . . . . . 354.2.2 Magnetic Compass . . . . . . . . . . . . . . . . . . . . . . . 364.2.3 Tri-axial Accelerometer . . . . . . . . . . . . . . . . . . . . . 364.2.4 Gyroscope . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.2.5 Servo Motor . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.2.6 DC Motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384.2.7 Battery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394.2.8 Motor <strong>Control</strong>ler . . . . . . . . . . . . . . . . . . . . . . . . 394.2.9 Tachometer . . . . . . . . . . . . . . . . . . . . . . . . . . . 404.2.10 Main board . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.2.11 Main switch . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.2.12 Mounting . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.3 Specications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 <strong>Control</strong> Methods: Driving 445.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445.2 Stability of the robot rotation . . . . . . . . . . . . . . . . . . . . . 455.2.1 Voltage to Ball Rotation . . . . . . . . . . . . . . . . . . . . 465.2.2 Motor Speed to Ball Rotation . . . . . . . . . . . . . . . . . 495.2.3 Motor Torque to Ball Rotation . . . . . . . . . . . . . . . . 495.3 <strong>Control</strong> method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505.3.1 Rotation Speed <strong>Control</strong> . . . . . . . . . . . . . . . . . . . . 505.3.2 Torque <strong>Control</strong> . . . . . . . . . . . . . . . . . . . . . . . . . 525.3.3 Other assistant controls . . . . . . . . . . . . . . . . . . . . 526 <strong>Control</strong> methods: Steering 546.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546.2 Stabilizing the roll angle . . . . . . . . . . . . . . . . . . . . . . . . 556.2.1 Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556.2.2 Determination of roll angle . . . . . . . . . . . . . . . . . . . 576.2.3 Stabilization Method . . . . . . . . . . . . . . . . . . . . . . 58vi


7 Simulation and Test Results 597.1 Driving <strong>Control</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597.2 Roll angle stabilization . . . . . . . . . . . . . . . . . . . . . . . . . 617.3 Driving angle limitation . . . . . . . . . . . . . . . . . . . . . . . . 627.4 Steering characteristics . . . . . . . . . . . . . . . . . . . . . . . . . 628 Conclusions 648.1 Prototype robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648.1.1 Bluetooth communication . . . . . . . . . . . . . . . . . . . 648.1.2 Low self-discharge Ni-MH battery . . . . . . . . . . . . . . . 658.2 Sensors <strong>for</strong> the feedback control . . . . . . . . . . . . . . . . . . . . 658.3 Theoretical analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 658.3.1 Stability without sensors on the ball . . . . . . . . . . . . . 658.3.2 Gyro eect . . . . . . . . . . . . . . . . . . . . . . . . . . . 668.4 <strong>Control</strong> methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668.4.1 Stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668.4.2 Driving control . . . . . . . . . . . . . . . . . . . . . . . . . 668.4.3 Steering control . . . . . . . . . . . . . . . . . . . . . . . . . 67References 68Appendices 71A Main Board Description 71B Battery Charging 78C Prototype <strong>Robot</strong> Operation 79C.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79C.1.1 Denition, Benets, and Purpose of the Procedure . . . . . . 79C.1.2 Intended Audience . . . . . . . . . . . . . . . . . . . . . . . 80C.1.3 Prior Knowledge and Skills Needed by the Audience . . . . . 80C.1.4 Brief Overall Description of the Procedure . . . . . . . . . . 80C.1.5 Materials, Equipment, and Special Conditions . . . . . . . . 80C.1.6 Working Denitions . . . . . . . . . . . . . . . . . . . . . . . 81C.1.7 Warnings, Cautions, Dangers . . . . . . . . . . . . . . . . . 81C.1.8 List of Major Procedures . . . . . . . . . . . . . . . . . . . . 81C.2 Required Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82vii


C.2.1 Switching on MarsBall . . . . . . . . . . . . . . . . . . . . . 82C.2.2 Starting MarsBall<strong>Control</strong>ler . . . . . . . . . . . . . . . . . . 82C.2.3 Connecting to MarsBall from your computer . . . . . . . . . 82C.2.4 <strong>Control</strong>ling the MarsBall with the MarsBall<strong>Control</strong>ler . . . 83C.2.5 Connecting the Joystick (Option) . . . . . . . . . . . . . . . 84C.2.6 <strong>Control</strong>ling MarsBall . . . . . . . . . . . . . . . . . . . . . . 85C.2.7 Data Acquisition . . . . . . . . . . . . . . . . . . . . . . . . 85C.2.8 Terminating <strong>Control</strong> of MarsBall . . . . . . . . . . . . . . . 87C.2.9 Disconnecting MarsBall . . . . . . . . . . . . . . . . . . . . 87C.2.10 Shutting down the MarsBall . . . . . . . . . . . . . . . . . . 87D Discussion about Rotational Radius 89E Friction Evaluation 91E.1 Static friction coecient . . . . . . . . . . . . . . . . . . . . . . . . 91E.2 Friction <strong>for</strong> driving . . . . . . . . . . . . . . . . . . . . . . . . . . . 92E.3 Friction <strong>for</strong> steering . . . . . . . . . . . . . . . . . . . . . . . . . . . 92viii


List of Figures2.1 Mechanical Toy by E. E. Cecil (U.S. Patent 933,623) . . . . . . . . 42.2 The hamster ball design by A.D. McFaul (U.S. Patent 1,263,262) . 42.3 IDU of the Rollo robot 2nd generation developed at TKK (reproducedfrom Spitzmueller, 1998) . . . . . . . . . . . . . . . . . . . . . . . . 52.4 IDU of the Rollo robot 3nd generation developed at TKK (Copiedfrom the Automation and <strong>System</strong>s Technology Department, TKK) . 62.5 The Squiggleball (reproduced from Ylikorpi, 2005) . . . . . . . . . . 72.6 The Mars Ball (Ylikorpi, 2005) . . . . . . . . . . . . . . . . . . . . 82.7 The IWBS <strong>Robot</strong> (reproduced from Koshiyama 1992a) . . . . . . . . 92.8 The "Tumbleweed Ball"(reproduced from Jones 2001) . . . . . . . . 102.9 Soft body spherical robot Koharo (Copied from the Koharo projectwebsite at Ritsumeikan University, Japan, http://www.ritsumei.ac.jp/se/ hirai/research/softrobot-j.html) . . . . . . . . . . . . . . . . . . . 102.10 Gyrover (copied from the Gyrover project website, http://www.cs.cmu.edu/ cyberscout/gyrover.html) . . . . . . . . . . . . . . . . . . . . . . . 112.11 Basic Principle <strong>for</strong> Turning . . . . . . . . . . . . . . . . . . . . . . 122.12 Modeling (reproduced from Halme, 2005a) . . . . . . . . . . . . . . 132.13 Steering Motion Modeling (reproduced from Koshiyama, 1996) . . . 142.14 Roball(left), A boy playing with a Roball(right)(both reproduced fromMichaud 2000) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.15 Surveillance <strong>Robot</strong> (reproduced from Knight, 2005) . . . . . . . . . . 172.16 Cyclops (reproduced from Chemel et al., 1999) . . . . . . . . . . . . 182.17 Conical Mass (reproduced from Chemel et al., 1999) . . . . . . . . . 182.18 <strong>Spherical</strong> Micro <strong>Robot</strong>s sent to Mars (reproduced from Young, 2006) 192.19 Entertainment <strong>Robot</strong> Q.taro (reproduced from Nakamura 2002) . . . 193.1 Modeling of the ball (driving) . . . . . . . . . . . . . . . . . . . . . 223.2 Modeling of the ball (uphill/downhill) . . . . . . . . . . . . . . . . . 243.3 Obstacle crossing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25ix


3.4 Modeling <strong>for</strong> steering . . . . . . . . . . . . . . . . . . . . . . . . . . 263.5 Modeling <strong>for</strong> steering with low speed . . . . . . . . . . . . . . . . . . 273.6 Modeling <strong>for</strong> steering with intermediate speed . . . . . . . . . . . . . 283.7 Forces on each element . . . . . . . . . . . . . . . . . . . . . . . . . 283.8 Rotational radius against pendulum steering angle . . . . . . . . . . 324.1 Prototype robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334.2 <strong>System</strong> Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.3 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.4 The Crumb128-CAN Module (left), The IOGEAR Bluetooth SerialAdapter (right) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.5 The Hitachi HM55B Compass Module . . . . . . . . . . . . . . . . . 364.6 The position of the compass . . . . . . . . . . . . . . . . . . . . . . 374.7 The Kionix Tri-axial Accelerometer KXM52-1050 (left), The KondoKRG-3 Gyro (right) . . . . . . . . . . . . . . . . . . . . . . . . . . 384.8 The BlueBird BMS660MG-HS servo motor (made in Taiwan)(left),TheMabuchi RS540SH DC Motor (right) . . . . . . . . . . . . . . . . . 394.9 Sanyo Low self-discharge NiMH battery Eneloop (left), 6-AA-batterypack used <strong>for</strong> the prototype (right) . . . . . . . . . . . . . . . . . . . 394.10 The standard motor controller used at TKK (left), The handmadetachometer with a photo coupler (right) . . . . . . . . . . . . . . . . 404.11 The main board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.12 The main switch (left), The holder of the electronics (right) . . . . . 424.13 The whole electronic system(left: front view, right: rear view) . . . . 425.1 Block diagram of driving motion Stabilization . . . . . . . . . . . . 526.1 Position of accelerometer . . . . . . . . . . . . . . . . . . . . . . . . 576.2 Block Diagram of Sideways Motion Stabilization . . . . . . . . . . . 587.1 Simulation result of the motor speed control . . . . . . . . . . . . . 597.2 Test result of motor speed control . . . . . . . . . . . . . . . . . . . 607.3 Simulation result of roll angle stabilization . . . . . . . . . . . . . . 617.4 Test result of roll angle stabilization . . . . . . . . . . . . . . . . . . 627.5 Test results of steering . . . . . . . . . . . . . . . . . . . . . . . . . 637.6 Prototype robot and its trajectory . . . . . . . . . . . . . . . . . . . 638.1 Block diagram of the ball robot . . . . . . . . . . . . . . . . . . . . . 67x


A.1 Circuit design of the main board . . . . . . . . . . . . . . . . . . . . 71A.2 Main Board Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . 72A.3 Circuit design of the motor controller . . . . . . . . . . . . . . . . . 76A.4 Motor controller trax layout . . . . . . . . . . . . . . . . . . . . . . 77A.5 Motor controller assembly drawing . . . . . . . . . . . . . . . . . . 77B.1 SANYO Eneloop and its propriety charger . . . . . . . . . . . . . . 78C.1 MarsBall<strong>Control</strong>ler Icon . . . . . . . . . . . . . . . . . . . . . . . . 82C.2 MarsBall<strong>Control</strong>ler window . . . . . . . . . . . . . . . . . . . . . . 83C.3 Communication Groupbox (Choose COM port and click Connect) . 84C.4 Communication Groupbox after successful connection with the greentextbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84C.5 Joystick Groupbox . . . . . . . . . . . . . . . . . . . . . . . . . . . 84C.6 <strong>Control</strong> Groupbox (Click Start rst, then drag ticks in the trackbars)(Leftside: be<strong>for</strong>e start controlling, Right side: after start controlling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85C.7 Acquired data in graphs . . . . . . . . . . . . . . . . . . . . . . . . . 86C.8 Received Data and Transmitted Command . . . . . . . . . . . . . . 87C.9 <strong>Control</strong> Groupbox (Click "Stop"to stop operation of MarsBall)(Left:be<strong>for</strong>e stop controlling, Right: after stop controlling . . . . . . . . . 87C.10 Communication Groupbox (Click Disconnect to disconnect and closethe COM port)(Left: be<strong>for</strong>e disconnection, Right: after disconnetion 88D.1 <strong>Spherical</strong> robot (left), closeup of between the robot and the surface(middle), ground track of the robot(right) . . . . . . . . . . . . . . . 89E.1 Simulation model <strong>for</strong> determining rotation acceleration of the robot 92E.2 Friction <strong>for</strong>ce needed <strong>for</strong> steering . . . . . . . . . . . . . . . . . . . 92xi


List of Tables4.1 Specications of the pendulum . . . . . . . . . . . . . . . . . . . . . 424.2 Specications of the ball . . . . . . . . . . . . . . . . . . . . . . . . 434.3 Specications of the DC motor . . . . . . . . . . . . . . . . . . . . . 434.4 Specications of the battery . . . . . . . . . . . . . . . . . . . . . . 434.5 Specications of the electronics . . . . . . . . . . . . . . . . . . . . 43A.1 Component location on the main board . . . . . . . . . . . . . . . . 73A.2 Component list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74A.3 Software list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75E.1 Friction coecients (static) . . . . . . . . . . . . . . . . . . . . . . . 91xii


Symbols and AbbreviationsIDU Inside Driving UnitTKK Teknillinen korkeakoulu (Helsinki University of Technology)AS Automation and <strong>System</strong>s Technology Department at TKKJPL Jet Propulsion Laboratory (NASA Research Center in Cali<strong>for</strong>nia, USA)IWBS Inside Wheel Balancing <strong>System</strong>MIT Massachusetts Institute of TechnologyQ.taro Quasi-stable Traveling and Action <strong>Robot</strong>CG Center of GravityOBC On Board ComputerGS Ground StationAVR Chip microcontroller developed by the Atmel CooporationDC Direct CurrentPID Proportional-Integral-DerivativeLSD Low Self-DischargeNiMH Nickel-Metal HydrideUSART Universal Synchronous Asynchronous Receiver TransmitterLAN Local Area NetworkADC Analog-to-Digital ConverterRS232 Recommended Standard 232USB Universal Serial BusCAN <strong>Control</strong>ler Area NetworkDIP Dual Inline packageAA AA battery typeLED Light-Emitting DiodePWM Pulse Width Modulationxiii


Chapter 1IntroductionAmong diverse types of mobile robots, spherical robots have become increasinglyattractive in the last decade. They are believed to have several benets. First,they have only a single contact point with the ground with minimal friction <strong>for</strong>locomotion. There<strong>for</strong>e, they would be able to save energy <strong>for</strong> locomotion. Second,the spherical structure makes it possible to move even in tightly constrained spaces.Third, the spherical exoskeleton can protect the inner structure against externalshocks or dust. It is even possible to be made liquid and gas proof. Finally, thereis no chance <strong>for</strong> a ball to tip over, turn over, and then lose mobility. This is critical<strong>for</strong> other types of robots, such as humanoid robots and rover robots.Until now, a considerable amount of research has been conducted on realizingspherical robots. Jones (2001) proposed a wind-driven spherical robot <strong>for</strong> planetaryexploration on Mars. It is a large inatable ball with scientic instrumentsinside its 6m-diameter body. The ball is controlled with a simple strategy it isstopped by partial deation and be driven again by full ination. The idea of thewind-driven robots has been inherited to another spherical robot called the "MarsBall". (Ylikorpi, 2005) It has a two-degree-of-freedom pendulum inside <strong>for</strong> activelocomotion as well as ns harnessing the wind on Mars <strong>for</strong> passive locomotion.Except <strong>for</strong> this wind-driven type of spherical robots, they can normally generateonly little amount of torque to rotate themselves. This makes it dicult <strong>for</strong> therobots to overcome obstacles and climb uphill. There<strong>for</strong>e, this study focuses onspherical robots operating on smooth at oors <strong>for</strong> indoor use. Some previous


2 Introductionstudies also discuss the locomotion on at oors as follows.Koshiyama (1996) has analyzed the dynamics of spherical robots and developed aprototype robot. First, he separated driving and steering motions <strong>for</strong> simplicity.Then Lagrange equations are used to obtain motion equations. He also conductedan experiment of the motion using the prototype robot. Laplante (2005) oereda mathematical background and simulation results determining the relationshipbetween the steepness of steering and the amount of displacement of the innermass of a spherical robot. As expected, slower speeds and larger steering angleslead to a steep steering of the robot. Spitzmueller (1998) has developed a prototypeand invented a simple open-loop control method <strong>for</strong> it.However, there are some problems in previous studies. First, the dynamics analysishas ignored the possible gyro eect of a rolling spherical body. The gyro eectderives from the rotation of the spherical body during the movement of a sphericalrobot. Although this eect can be disregarded when the speed is slow, it cannotbe neglected when the speed is high.Previous studies have also failed to develop control methods supporting manualcontrol. So far, manual control has been very clumsy in previous studies, even withfeedback control of a human operator. Feedback in this context means sensing thestatus of a robot with human eyes and controlling the robot accordingly.Hence, the aim of this research is to develop a dynamic model as well as suitablecontrol methods <strong>for</strong> supporting the manual control of the at-oor operation.This study focuses on (1) developing the dynamics model, especially <strong>for</strong> turningthat takes into account the gyro eect, (2) developing a prototype robot, and (3)proposing control methods <strong>for</strong> supporting manual control.The rest of the paper is organized in the following manner. Chapter 2 reviews thehistory and previous studies of spherical robots. Chapter 3 shows the basic theoryof its dynamics. Chapter 4 describes the developed prototype robot. Chapter 5proposes a control method <strong>for</strong> driving. Chapter 6 proposes control methods <strong>for</strong>steering. Chapter 7 shows test results of the control methods using the prototype.Chapter 8 contains concluding remarks based upon the results of the tests.


Chapter 2Literature ReviewThis study reviewed the literature in several stages in order to improve our understandingof the current status of spherical-robot research.2.1 History of Ball <strong>Robot</strong>sA short history of self-propelled movable balls was outlined by Ylikorpi (2005)in his paper entitled "A Biologically inspired rolling robot <strong>for</strong> planetary surfaceexploration". The rst movable ball was a spring-propelled toy patented in 1893(U.S. Patent 508,558), which rolls on a straight path. The design was improvedby B. Shorthouse in the year 1906 to make the ball follow a predened curvedtrajectory. Since then, various mechanisms have been proposed and patented, thusallowing <strong>for</strong> the irregular motion of self-propelled movable balls. Figure 2.1 showsone design invented in 1909 <strong>for</strong> an amusement toy. It has a pendulum inside, whichcreates motion of the ball. The invention of the locomotion system of displacingthe center of mass, which is currently still being used in most spherical robots,dates back a century.Another popular locomotion system was patented by A.D. McFaul in 1918. It isknown as the hamster-ball design. This design utilizes a wheeled counterweight ina ball. Today, this counterweight is known as an IDU, or Inside Driving Unit, andis currently employed in some spherical-robot designs. The main feature of thisdesign is that rolling motion comes from the friction between the inner surface of


4 Literature ReviewFigure 2.1: Mechanical Toy by E. E. Cecil (U.S. Patent 933,623)the spherical body and the IDU wheels. This requires small torque <strong>for</strong> a propellingsystem, unlike the pendulum locomotion system mentioned above, which requiresa signicantly greater amount of torque.Figure 2.2: The hamster ball design by A.D. McFaul (U.S. Patent 1,263,262)Subsequently, the use of a spring, as the power source, was replaced with batteriesand electric motors in the patent led by J.M. Easterling in 1957. The addition ofan electric system to the spherical robots brought lots of functions <strong>for</strong> the robot,such as sensing and switching.


2.2 Principles of Locomotion 52.2 Principles of LocomotionAlthough most spherical robots utilize displacement of the center of mass as theirdriving <strong>for</strong>ce, they can vary in the strategies used <strong>for</strong> displacing the mass. Thissection discusses three locomotion principles.2.2.1 Using an IDU (Inside Driving Unit)One locomotion method is to use an IDU, or a box with wheels, which moves onthe inner surface of the spherical body. One example of an IDU-driven sphericalrobot is the Rollo robot 2nd generation developed at TKK in 1998.(Spitzmueller,1998) Its IDU has two driving wheels sideways and two un-driven wheels on thetop to ensure a tight t in the sphere. This robot employed electronics, such assensors, motors, a transceiver, and a computer. Those components are necessary toensure the smooth control of the robot. Dynamics modeling and rough open-loopcontrol were conducted and the control turned out to be suciently accurate.Figure 2.3: IDU of the Rollo robot 2nd generation developed at TKK (reproducedfrom Spitzmueller, 1998)It has encoders, a gyro, and an inclinometer. Since the locomotion system utilizesan IDU, two encoders <strong>for</strong> both wheels are equipped. Without any reference posein<strong>for</strong>mation, the accuracy of the data has not been evaluated. Instead, the datawas just used <strong>for</strong> estimating rough dynamic motions, such as the vibration, of therobot. The sensor data is not even used <strong>for</strong> the control.The 3rd generation Rollo following the 2nd generation has the dierent design of an


6 Literature ReviewIDU. Its IDU can turn itself by rotating along the rim gear on the inner surface ofthe ball, thus selecting the orientation of the ball on the spot. The driving motion isgenerated by swinging up the main mass of the IDU. This driving strategy is sameas that of pendulum-driven type spherical robots mentioned in the next section.This study, however, classies Rollo as an IDU-driven robot.Figure 2.4: IDU of the Rollo robot 3nd generation developed at TKK (Copied fromthe Automation and <strong>System</strong>s Technology Department, TKK)One limitation, however, of IDU-driven robots is their size constraint. As a matterof fact, this type of robot requires a smooth and hard spherical body in order to letthe IDU drive on the inner surface. Hard spherical bodies can easily be employed<strong>for</strong> small robots, such as the robots mentioned above. Furthermore, large plastichard bodies require thick shells <strong>for</strong> structural strength, which leads to signicantincreases in weight. This could be critical in space missions where prohibitively highlaunch costs greatly depend on the weight of a payload. This creates somethingof a great paradox, since the larger the spherical robot is, the easier it is <strong>for</strong> it toovercome rough and rocky terrain on Mars and the Moon.2.2.2 Using a PendulumAnother way to displace mass <strong>for</strong> locomotion is to utilize a pendulum. Pendulumsare usually connected to the geometric center of the sphere, without touchingthe exoskeleton. There<strong>for</strong>e, any type of spherical body can be employed, such asinatable, deployable, or wired bodies.


2.2 Principles of Locomotion 7The Squiggle Ball toyOne example of such robots is the Squiggle Ball toy, distributed by Hart Toys, Inc.(http://www.harttoys.com) It has a driving mass called a ballast, or pendulum,inside its body. Although the Squiggle Ball has no control system nor radio link toa ground station, it can change its direction of motion upon encountering obstacles.Even when it faces an obstacle, the ballast inside still climbs up, thanks tothe rubber band employed outside the ball, preventing slippage between the balland the obstacle. When the ballast reaches the uppermost position, the ball rollsbackwards, changing the direction of motion due to the slight extension of the rubberband outwards from the body. In this manner, the Squiggle Ball can changeits direction of motion automatically and even make its way out from a dead endin a maze.Figure 2.5: The Squiggleball (reproduced from Ylikorpi, 2005)The Mars BallAnother example is the Mars Ball proposed by Ylikorpi (2005) at the HelsinkiUniversity of Technology. It has a two-degree-of-freedom pendulum connected tothe midpoint of the main shaft, which also shares the main rotation axis. Themain feature of the robot is that it utilizes the winds on Mars <strong>for</strong> its secondarypropulsion. For this purpose, ns are attached to the spherical body, which is madeup of several arc wires. The ns are <strong>for</strong> harnessing available wind power. Thewired arcs enable a light-weight body and also oer the potential of a deployablestructure. The Mars Ball has a large body (6m in diameter <strong>for</strong> the ight model,1.3m <strong>for</strong> the prototype model) to overcome the rough terrain of Mars.


8 Literature ReviewThe IWBS <strong>Robot</strong>Figure 2.6: The Mars Ball (Ylikorpi, 2005)Koshiyama (1992a) has also developed a pendulum-driven type spherical robot.Unlike most of the robots with only interior sensors, such as inertial sensors andmagnetic sensors, his rolling robot, called the IWBS <strong>Robot</strong>, Inside Wheel Balancing<strong>System</strong> <strong>Robot</strong>, has employed some exterior sensors to measure status precisely.However, putting exterior sensors may ruin some of the benets of spherical robots,such as complete sealing of the electronics from the outside environment, and robustnessdue to the complete spherical shape. Koshiyama's robot, nevertheless, canstill be used <strong>for</strong> indoor applications. (Koshiyama and Yamafuji, 1992a) (Koshiyamaand Yamafuji, 1992b) (Koshiyama and Yamafuji, 1992c)The IWBS robot just looks like a head with a set of headphones on it. Theheadphones part is an arch used <strong>for</strong> controlling the motion of the robot. In addition,this arch part can be stabilized and even be used <strong>for</strong> carrying humans or other items,which is normally not possible <strong>for</strong> other spherical robots, because they do not haveany unrotating parts accessible from outside.The two rods sticking out from the ears of the robot are called the ContactingRods. The tip of the rods are always touching and sweeping the oor. In thisway, measurements can be per<strong>for</strong>med with respect to the oor. Each rod has twosensors. One is a rotary encoder measuring the travel distance of the robot. Theother one is an angular sensor measuring the inclination of the rod and yieldingthe roll angle of the ball itself.These measurements are used <strong>for</strong> closed-loop control of the robot. Koshiyama's


2.2 Principles of Locomotion 9Figure 2.7: The IWBS <strong>Robot</strong> (reproduced from Koshiyama 1992a)paper shows that the stabilization and smooth motion control was successful usingthose measurements.Although the concept and design of pendulum-driven robots is suitable <strong>for</strong> planetaryexploration, the previous studies lack mathematical dynamics modeling andits evaluation using hardware. These are described later in greater detail in thisstudy.2.2.3 De<strong>for</strong>mable BodyAnother locomotion system employs something known as a de<strong>for</strong>mable or inatablebody.The tumbleweed ballOne example is the tumbleweed ball developed by the JPL (Jet Propulsion Laboratory)in the US. (Jones, 2001) It is a large inatable ball, similar to a giant beachball, with scientic instruments inside its 6m-diameter body. Instead of using amoving mass inside, it is purely propelled by the winds on Mars. Very simplemotion control is achieved by simply adjusting the inatable body: it could bestopped by partial deation and moved again with full ination.Koharo <strong>Robot</strong>Another interesting de<strong>for</strong>mable robot is Koharo developed at the Ritsumeikan Universityin Japan. (Sugiyama et al., 2005) Koharo is capable of locomotion on rough


10 Literature ReviewFigure 2.8: The "Tumbleweed Ball" (reproduced from Jones 2001)terrain by rolling and bouncing. It has a de<strong>for</strong>mable soft body and exible actuatorsmade of shape memory alloy, and can roll and bounce on the ground simplyby changing the shape of the soft body.Figure 2.9: Soft body spherical robot Koharo (Copied from the Koharoproject website at Ritsumeikan University, Japan, http://www.ritsumei.ac.jp/se/ hirai/research/softrobot-j.html)Furthermore, the Koharo robots were proudly exhibited at the 2005 Aichi WorldExposition in Japan. At the exposition, a number of cutting edge technologieswere presented, including robotics, automobiles, and environmental engineering.The author himself has visited Aichi and witnessed rst hand the workings of the"Koharo" robots.


2.2 Principles of Locomotion 112.2.4 GyroverThe Gyrover is a disk-shaped rolling robot developed at the Carnegie Mellon Universitythat utilizes the gyroscopic eect of a spinning mass inside <strong>for</strong> stability.(Tsai et al., 1999) Although the Gyrover is not strictly a spherical robot, studyingthe Gyrover is useful to deepen the understanding of the motion of sphericalrobots.Figure 2.10: Gyrover (copied from the Gyrover project website,http://www.cs.cmu.edu / cyberscout/gyrover.html)The main feature of the Gyrover is its spinning mass, or gyroscope, inside the body.The basic locomotion system <strong>for</strong> moving <strong>for</strong>wards and backwards is similar to thatof a pendulum-driven spherical robot, where a pendulum is used <strong>for</strong> driving. Thesteering principle, however, is dierent from either IDU-driven or pendulum-drivenrobots. The Gyrover uses a servo motor attached to the spinning gyroscope thattilts the rotation axis of the gyroscope, resulting in a steering motion of the body.The fundamental equation <strong>for</strong> these dynamics is the gyroscopic precession equation:τ = Jω × Ω (2.1)where τ is the torque on the gyroscope, J is the moment of inertia of the gyroscope,ω is the angular rate of the gyroscope, and Ω is the precession rate. Based on thisprecession equation, the turning motion of the robot can be generated by applyingmoment on the gyroscope, as shown in Figure 2.11.


12 Literature Review2.3 Dynamics AnalysisFigure 2.11: Basic Principle <strong>for</strong> TurningAs with other areas of earlier research, it is necessary to review the dynamicsanalysis in order to have full background knowledge of the processes involved.2.3.1 Analysis of an IDU-driven <strong>Robot</strong>With Newton's Law of MotionHalme (1996) has conducted a basic motion analysis <strong>for</strong> an IDU-driven sphericalrobot. (Halme and Wang, 1996) First, the structure of the robot has been simpliedas is shown on the left side of Figure 2.12. Here each part is represented by a pointmass and moment of inertia around its center of gravity (CG). (On the right sideof Figure 2.12)Based on this model, the motion analysis has been conducted using the followingmotion equation <strong>for</strong> rotation:T = J d2 φdt 2 (2.2)where, T is torque, J is moment of inertia, and φ is rotation angle. The equationabove can be expressed as follows:


2.3 Dynamics Analysis 13Figure 2.12: Modeling (reproduced from Halme, 2005a)rmg sin θ = I ball α (2.3)where, r is the distance between the CG of the ball and the CG of the IDU, m isthe mass of the IDU, θ is the tilting angle, or the inclination of the IDU, I ball is themoment of inertia of the ball excluding the IDU around the contact point on theground (note: not the moment of inertia around the center of gravity of the ball),g is the acceleration of the gravity, and α is the rotational acceleration, or the 2ndderivative of the rotational angle of the ball. This motion analysis was conducted<strong>for</strong> the following cases:• Driving on an even plane• Driving uphill• Driving over an obstacle• Driving taking into account rolling frictionThis analysis was only <strong>for</strong> driving, or moving <strong>for</strong>ward. Motion analysis <strong>for</strong> steeringwas not per<strong>for</strong>med.With Lagrange EquationKoshiyama (1996) has also conducted a basic motion analysis <strong>for</strong> an IDU drivenrobot. He separated the driving and steering motions <strong>for</strong> simplicity. He usedLagrange equations to yield motion equations <strong>for</strong> both driving and steering cases.(Koshiyama and Fujii, 1996)


14 Literature ReviewSince the driving motion analysis is almost the same as the analysis in Section ,this section only demonstrates the dynamics analysis <strong>for</strong> the turning motion of anIDU-driven robot.The motion equations <strong>for</strong> turning can be yielded in the following manner.Figure 2.13: Steering Motion Modeling (reproduced from Koshiyama, 1996)Energies (potential, kinetic, and rotational) <strong>for</strong> both the ball and the IDU are givenas follows:U 1 = U 2 = K 1 = K 2 = 0 (2.4)T 1 = 1 2 J z1ωz1, 2 T 2 = 1 2 J z2(ω z1 + ω z2 ) 2 (2.5)J z1 : Moment of inertia of the ball around its vertical axisJ z2 : Moment of inertia of the IDU around its vertical axisθ z1 : Rotation angle of the ball around its vertical axisθ z2 : Rotation angle of the IDU with respect to the ball around its vertical axisω z1 : Angular rate of the ball around its vertical axisω z2 : Angular rate of the IDU with respect to the ball around its vertical axisThe Lagrange equation is given by:L = K 1 + K 2 + T 1 + T 2 − U 1 − U 2= 1 2 J z1ω 2 z1 + 1 2 J z2(ω z1 + ω z2 ) 2 (2.6)hence, the Lagrange equation of motion can be calculated to be:


2.3 Dynamics Analysis 15T z − T zf = d ( ) ∂L− ∂Ldt ∂ω z1∂θ z1= d dt( ∂L∂ω z1)= a z2 J z2 + a z1 (J z1 + J z2 ) (2.7)−T z = d ( ) ∂L− ∂Ldt ∂ω z2∂θ z2= d dt( ∂L∂ω z2)= a z2 J z2 + a z1 + J z2 (2.8)where T z is torque applied between the ball and the IDU, T zf is torque comingfrom the friction between the ball and the ground, a z1 is the angular accelerationof the robot around its vertical axis, and a z2 is the angular acceleration of the IDUaround its vertical axis.Koshiyama also conducted an experiment of steering-while-driving which determinedthe relationship between the steepness of steering and the amount of innermassdisplacement of a spherical robot. This is purely experimental without anytheoretical dynamics investigation to support the author's claims. (Koshiyama andYamafuji, 1992c) This experiment is very important, because, unlike an IDU-drivenrobot, the motion of a pendulum-driven spherical robot cannot be categorized separatelyinto driving and steering. When it steers, both driving and steering occursimultaneously like the motion of a normal car.2.3.2 Analysis of pendulum driven robotLaplante (2004) oered a mathematical motion analysis of steering-while-driving<strong>for</strong> pendulum driven robots. Since the analysis is almost the same as the one inSection 3.2.3, this section gives only a short comment on the analysis.One unclear issue of this study is that it assumes that the turning radius dependson the roll angle of the robot, without taking into account any gyro eect of therotating body. This assumption is correct when the gyro eect can be disregarded.If a gyro eect exists, which tends to hold the direction of the rotating shaft, thetrajectory of the robot may not follow the estimated trajectory of this study. Moreover,the study conducted by Laplante includes no practical hardware experiments.(Laplante, 2004)


16 Literature Review2.4 Applications2.4.1 Playing ToyMichaud (2000) has developed a spherical toy robot, which is implicitly appealing<strong>for</strong> children because they are used to playing with ball-shaped objects, such asrubber, plastic, or inatable balls. In addition, the round shape has nothing stickingout, which may hurt children or be broken easily. This robot is called the Roball,and employs a pendulum-propelling system. (Michaud and Caron, 2000)The motion of the Roball is behavior based, oering four types of motion, "emergency","spin", "straight", and "cruise", which can be activated or deactivatedaccording to events. These simplied motions would be enough <strong>for</strong> toys.Experiments with children have also been conducted. The tests showed that childrenbecame interested in the Roboll and started to play with it. The playing withthe children also revealed that the robustness of the robot is signicantly importantbecause children often throw toys on the oor.2.4.2 SurveillanceAnother application <strong>for</strong> spherical robots is surveillance. Rotundus, a Swedish companyfounded in 2004, has developed the pendulum-driven surveillance sphericalrobot shown in Figure 2.15. (Knight, 2005) Surveillance robots have to be able tonavigate all types of terrain, such as mud and snow. <strong>Spherical</strong> robots oer greatadvantages <strong>for</strong> those terrain types. The robot has a radar as well as some othersensors <strong>for</strong> detecting intruders, and an alarm <strong>for</strong> reporting.2.4.3 ReconnaissanceCyclops is a miniature spherical mobile robot designed <strong>for</strong> remote surveillance andreconnaissance in an urban area. (Chemel et al., 1999) The motivation <strong>for</strong> thespherical miniature design came from the great demand <strong>for</strong> police or military missionsin urban areas. The small size allows covert surveillance in an enclosed area.


2.4 Applications 17Figure 2.14: Roball(left), A boy playing with a Roball(right)(both reproduced fromMichaud 2000)Figure 2.15: Surveillance <strong>Robot</strong> (reproduced from Knight, 2005)In addition, remote surveillance enables people to survey a dangerous situationfrom afar. It is also suciently small in dimensions and light in weight to be carriedby hand. The locomotion and control system of the Cyclops robot is mainlybased on an on-board sensing system listed below:The locomotion system has two degrees of freedom, having two motors both alongits vertical and horizontal axes. One motor along the vertical axis is <strong>for</strong> turningthe heading of the robot. When the motor rotates a mass embedded in the robot,the spherical body itself turns in the opposite direction due to the reaction torque.The other motor along the horizontal axis is <strong>for</strong> moving <strong>for</strong>wards and backwards.By rotating the same mass to either the front or the back in the spherical body,the robot can rotate <strong>for</strong>wards or backwards thanks to the torque generated by thegravity.


18 Literature ReviewFigure 2.16: Cyclops (reproduced from Chemel et al., 1999)The control and power system consists of micro-controllers, a miniature transceiver,and a power system. The micro-controllers control the peripheral components suchas gyro, compass, and power system. The transceiver links the robot to the groundstation operated by the human. The power system including batteries is completelyself-contained in the robot's spherical body, allowing it to move freely.The sensing system in this context means sensors <strong>for</strong> surveillance, excluding anysensors <strong>for</strong> control and locomotion. The main sensor <strong>for</strong> Cyclops is a subminiatureblack-and-white camera. The vision of the camera is transmitted to the groundstation, enabling the operator to control the robot.The robot is still, however, a prototype and there are future improvements thatcan be made. For instance, a further miniaturized high-resolution omni-directionalcamera is currently being developed. A high power video transmitter is also underdevelopment. In addition, the improvement of the whole robot in size, power, androbustness is now being planned.Figure 2.17: Conical Mass (reproduced from Chemel et al., 1999)


2.4 Applications 192.4.4 Space ExplorationThe Massachusetts Institute of Technology (MIT) in the US is developing sphericalrobots that can move by bouncing and rolling. (Young, 2006) These robots can besent to other planets arranged altogether in an egg-carton-like container.(See gure2.18)The advantage of using dozens of micro robots is that they can cooperate to achievetheir collective goal. For example, given correct positioning, they can relay messagesback to the central unit even from deep within a cave.Figure 2.18: <strong>Spherical</strong> Micro <strong>Robot</strong>s sent to Mars (reproduced from Young, 2006)2.4.5 EntertainmentAlready in 2002, the Sony Corporation, naturally, has developed a spherical robot<strong>for</strong> entertainment purposes called Q.taro which is short <strong>for</strong> "Quasi-stable Travelingand Action <strong>Robot</strong>". (Nakamura, 2002)Figure 2.19: Entertainment <strong>Robot</strong> Q.taro (reproduced from Nakamura 2002)


20 Literature ReviewQ.taro has an impressive 36 sensors in total. It switches itself on and o by sensinghuman hands, and avoids obstacles automatically. On top of all that, in scenariosutilizing numerous Q.taro robots, they start to communicate and cooperate witheach other. They also recognize voice and noise.


Chapter 3Theory3.1 Dynamics of DrivingFirst of all, the modeling and dynamics analysis of the driving motion is explained.The Lagrange equation is utilized to derive the motion equations. The analysis ofKoshiyama in 1996 has been modied and corrected <strong>for</strong> pendulum-driven sphericalrobots.3.1.1 Horizontal MotionEnergies (potential, kinetic, and rotational) <strong>for</strong> both the ball and the pendulum ofa robot are given as follows:U 1 = 0, U 2 = −M 2 ge cos (θ 1 + θ 2 ), K 1 = 1 2 M 1(rω 1 ) 2K 2 = 1 2 M {2 (rω1 − e cos(θ 1 + θ 2 )(ω 1 + ω 2 )) 2 + (e sin(θ 1 + θ 2 )(ω 1 + ω 2 )) 2}T 1 = 1 2 J 1ω 2 1, T 2 = 1 2 J 2(ω 1 + ω 2 ) 2 (3.1)U 1 : Potential energy of the ball with respect to the height of its centroidU 2 : Potential energy of the pendulum with respect to the height of the ball's centroid


22 TheoryFigure 3.1: Modeling of the ball (driving)K 1 : Kinetic energy of the ballK 2 : Kinetic energy of the pendulumT 1 : Rotational energy of the ballT 2 : Rotational energy of the pendulumr: Radius of the balle: Distance between centroids of the ball and the pendulumθ 1 : Rotation angle of the ballθ 2 : Rotation angle of the pendulum with respect to the ballω 1 : Angular rate of the ballω 2 : Angular rate of the pendulum with respect to the ballJ 1 : Moment of inertia of the ball around its centroidJ 2 : Moment of inertia of the pendulum around its centroidM 1 : Mass of the ballM 2 : Mass of the pendulumg: Acceleration of gravityHere, the Lagrange function can be calculated as follows:L = K 1 + K 2 + T 1 + T 2 − U 1 − U 2 (3.2)Now, the Lagrange equation of motion can be expressed as follows:


3.1 Dynamics of Driving 23( )d ∂Ldt ∂ω 1ddt− ∂L∂θ 1= −T + T f (3.3)( ∂L∂ω 2)− ∂L∂θ 2= T (3.4)where t is time, T is torque applied between the ball and the pendulum, and T f isthe torque coming from the friction between the ball and the ground. There<strong>for</strong>e,we have:−T + T f = a 1 (J 1 + J 2 + M 1 r 2 + M 2 r 2 + M 2 e 2 − 2M 2 re cos(θ 1 + θ 2 ))+a 2 (J 2 − M 2 re cos(θ 1 + θ 2 ) + M 2 e 2 )+M 2 re sin(θ 1 + θ 2 )(ω 1 + ω 2 ) 2 + M 2 ge sin(θ 1 + θ 2 ) (3.5)T = a 1 (J 2 − M 2 re cos(θ 1 + θ 2 ) + M 2 e 2 ) + a 2 (J 2 + M 2 e 2 )+M 2 ge sin(θ 1 + θ 2 ) (3.6)For simplicity, the tilting angle of the pendulum with respect to the vertical line,namely θ 2 − θ 1 , is called the driving angle in this paper.3.1.2 Uphill and Downhill MotionOnce the horizontal motion equations have been calculated, it is easy to derivedynamics <strong>for</strong> uphill and downhill motion. If it is taken that the only dierencebetween the horizontal motion and the uphill or downhill motion is the directionof the gravity, there is a need <strong>for</strong> a slight change in the values of U 1 and U 2 asmentioned in the section above.U 1 = −M 1 grθ 1 sin α (3.7)U 2 = −M 2 grθ 1 sin α − M 2 ge cos (θ 1 + θ 2 + α) (3.8)where α is the inclination of the slope.


24 Theory−T + T f = a 1 (J 1 + J 2 + M 1 r 2 + M 2 r 2 + M 2 e 2 − 2M 2 re cos(θ 1 + θ 2 ))+a 2 (J 2 − M 2 re cos(θ 1 + θ 2 ) + M 2 e 2 )+M 2 re sin(θ 1 + θ 2 )(ω 1 + ω 2 ) 2+M 2 ge sin(θ 1 + θ 2 + α) − (M 1 + M 2 )gr sin α (3.9)T = a 1 (J 2 − M 2 re cos(θ 1 + θ 2 ) + M 2 e 2 ) + a 2 (J 2 + M 2 e 2 )+M 2 ge sin(θ 1 + θ 2 + α) (3.10)Figure 3.2: Modeling of the ball (uphill/downhill)3.1.3 Obstacle crossingThis section shows the obstacle crossing motion of the robot. Figure 3.3 depictsthe static conguration of a spherical robot encountering an obstacle. It is assumedhere that no slippage and no momentum are taken into account.In order to clime up the obstacle, the driving torque must be greater than the


3.1 Dynamics of Driving 25 Figure 3.3: Obstacle crossingcounter torque by the gravity as shown in the following equations.(Driving torque) > (Counter torque)M 2 ge sin θ > (M 1 + M 2 )g √ r 2 − (r − h) 2. . . M 2 2 e 2 sin 2 θ > (M 1 + M 2 ) 2 {r 2 − (r − h) 2 }. . . (r − h) 2 > r 2 − e2 sin 2 θM 2 2. . . h < r −√. . . h max = r −r 2 −√(M 1 + M 2 ) 2( ) 2e sin θM2M 1 + M 2r 2 −( eM2M 1 + M 2) 2(3.11)where h is the height of the obstacle, θ is the driving angle of the pendulum. Bysubstituting the parameters <strong>for</strong> the prototype robot developed in this study, themaximum height of an obstacle which can be driven over by the robot can becalculated to be 0.0012m = 1.2mm.Compared to the robot radius of 22cm, 1.2mm is signicantly small, meaning obstaclecrossing is a critical weakness in the spherical robot motion. There<strong>for</strong>e, somesolutions <strong>for</strong> obstacle crossing would be needed. These include taking advantage ofthe momentum of the robot, using a "jumping" by moving the pendulum rapidly,and utilizing a wired body of which the "opening" allows to cross over an obstacleeven without touching it.


26 Theory3.2 Dynamics of Steering3.2.1 ModelingFigure 3.4 shows the modeling of the steering motion. Figure 3.4: Modeling <strong>for</strong> steeringθ: Roll angle of the ballγ: Tilting angle of the pendulum with respect to the ballω: Angular rate of driving of the ballΩ: Angular rate of steeringr: Radius of the balle: Distance between the centroids of the ball and the pendulumI: Moment of inertia of the ball around its roll axisM 1 : Mass of the ballM 2 : Mass of the pendulumg: Acceleration of the gravityFor simplicity, the sideways tilting angle of the pendulum with respect to the ball,namely γ, is called the steering angle in this paper. Note that the inclination ofthe main shaft, or θ, is called the roll angle.


3.2 Dynamics of Steering 273.2.2 Ball traveling at low speedThe basic principles <strong>for</strong> this analysis as well as the analysis in Section 3.2.3 are:• Equilibrium of <strong>for</strong>ce and torque including the centrifugal <strong>for</strong>ce of steering• The robot follows the circumference where the center point is the intersectionof the oor and the line of the rotating shaft of the robot.Figure 3.5: Modeling <strong>for</strong> steering with low speedCentrifugal <strong>for</strong>ce can be disregarded in the calculation process when the robottravels at very low speed. In such cases, the roll angle θ is the same as the steeringangle of the pendulum γ. The steering radius ρ can be calculated as:The angular rate <strong>for</strong> steering Ω is:ρ =rtan γ(3.12)(P ath Length) = ωr cos γ = ρΩ (3.13)Ω =ωr cos γρωr cos γ tan γ=r= ω sin γ (3.14)


28 Theory3.2.3 Ball traveling at intermediate speedWhen the robot travels at intermediate speed, the gyro eect can be disregardedbut the centrifugal <strong>for</strong>ce, however, has still to be taken into account.Figure 3.6: Modeling <strong>for</strong> steering with intermediate speedFigure 3.7: Forces on each elementF 1 : Centrifugal <strong>for</strong>ce on the centroid of the ballF 2 : Centrifugal <strong>for</strong>ce on the centroid of the PendulumN: Vertical reaction <strong>for</strong>ce from the contact pointf: Friction at the contact point


3.2 Dynamics of Steering 29F 1 = M 1 ρΩ 2 (3.15)F 2 = M 2 (ρ − sin(γ − θ)e)Ω 2 (3.16)(3.17)Ω = v ρEquilibrium of <strong>for</strong>ce and torque:F 1 + F 2 = f (3.18)N = (M 1 + M 2 )g (3.19)rf = e sin(γ − θ)M 2 g + e cos(γ − θ)F 2 (3.20)From the round shape of the sphere:tan θ = r ρ(3.21)For simplicity, it can be assumed that θ and γ−θ are suciently small thus allowingapproximation as follows:sin(γ − θ) ≈ (γ − θ) (3.22)cos(γ − θ) ≈ 1 (3.23)tan θ ≈ θ (3.24)In addition, by disregarding the multiplication of small values, the following equationis obtained:ρ = (M 1 + M 2 )rv 2 + eM 2 (gr − v 2 )egM 2 γ(3.25)


30 Theory3.2.4 Ball traveling at high speedWhen the ball travels at high driving speed, neither the gyro eect nor the centrifugal<strong>for</strong>ce can be neglected. Here, ρ ≫ r > e is approximated.Frictional <strong>for</strong>ce at the contact point is:f = F 1 + F 2= M 1 ρΩ 2 + M 2 (ρ − sin(γ − θ)e)Ω 2≈ (M 1 + M 2 )ρΩ 2 (3.26)Torque applied to the ball is:N = e sin(γ − θ)M 2 g + e cos(γ − θ)F 2 − rf≈ M 2 ge sin(γ − θ) + M 2 ρΩ 2 e cos(γ − θ) − r(M 1 + M 2 )ρΩ 2 (3.27)ω = Ωẑ − ˙θˆl + ωˆk= Ω(cos θ ˆm − sin θˆk) − ˙θˆl + ωˆk ( . . .ẑ = cos θ ˆm − sin θˆk)= Ω cos θ ˆm + (ω − Ω sin θ)ˆk ( . . ˙θ = 0) (3.28). . . L = IΩ cos θ ˆm + I 3 (ω − Ω sin θ)ˆk (3.29). . . N = −Nˆl = dLdt = Ω × L= IΩ 2 cos θẑ × ˆm + I 3 Ω(ω − Ω sin θ)ẑ × ˆk= IΩ 2 cos θ(− sin θ)ˆl + I 3 Ω(ω − Ω sin θ)(− cos θ)ˆl= −ˆl(IΩ 2 cos θ sin θ + I 3 Ω cos θ(ω − Ω sin θ)) (3.30). . . N = IΩ 2 cos θ sin θ + I 3 Ω cos θ(ω − Ω sin θ)= I 3 Ωω cos θ(1 + I − I 3I 3Ωsin θ)ω= I 3 Ωω cos θ ( . . . I − I 3I 3≪ 1,ω: Angular velocity vector of the ballΩ: Angular rate of the revolution of the ballΩω≪ 1) (3.31)


3.2 Dynamics of Steering 31θ: Roll angle of the ballL: Angular momentum vector of the ballI 3 : Moment of inertia of the ball around its spinning axisI: Moment of inertia of the ball around the axis perpendicular to the spinningaxisN: Torque vector applied to the ballEquating (3.27) and (3.31), we get:M 2 ge sin(γ − θ) + M 2 ρΩ 2 e cos(γ − θ) − r(M 1 + M 2 )ρΩ 2 ≈ I 3 Ωω cos θ (3.32)There is also another equation on the path length:Ω = rω cos θrω cos θρ. . . Ω =rω cos θI 3 ω cos θ ≈ M 2 ge sin(γ − θ) + M 2 ρ r2 ω 2 cos 2 θe cos(γ − θ)ρρ 2−r(M 1 + M 2 )ρ r2 ω 2 cos 2 θρ 2. . . I 3rω 2 cos 2 θρ≈r 2 ω 2 cos 2 θM 2 ge sin(γ − θ) + M 2 e cos(γ − θ)ρ−r(M 1 + M 2 ) r2 ω 2 cos 2 θρ. . . ρM 2 ge sin(γ − θ) ≈ rω 2 cos 2 θ(I 3 − M 2 re cos(γ − θ) + r 2 (M 1 + M 2 )). . . ρ ≈ rω2 cos 2 θ(I 3 − M 2 re cos(γ − θ) + r 2 (M 1 + M 2 ))M 2 ge sin(γ − θ)If θ = 0 is stabilized by the gyro eect, the following equation is obtained:ρ ≈ rω2 (I 3 − M 2 re cos γ + r 2 (M 1 + M 2 ))M 2 ge sin γ(3.33)


32 Theory3.2.5 Numerical CalculationUsing the following parameters <strong>for</strong> the prototype robot, it is possible to calculatethe steering radius <strong>for</strong> several dierent conditions. Note that the zero speed inFigure 3.8 means innitively slow speed. It can also be interpreted as the steeringcharacteristics disregarding centrifugal <strong>for</strong>ce completely.e = 0.065m, g = 9.8m/s 2 , M 1 = 3.294kg, M 2 = 1.795kgr = 0.226m, I 3 = J 1 = 6.33 × 10 −2 kgm 2 , v = rω108642 00 5 10 15 20 25 30Figure 3.8: Rotational radius against pendulum steering angleAs shown in Figure 3.8, the steering is steeper with larger steering angles and slowerspeeds.The most important fact revealed here is that with or without the gyro eect, thebasic trend does not change at all; the slower the speed and the greater the steeringangle of the pendulum, the steeper the steering would be. Since this trend remainsthe same with or without the gyro eect, the basic strategy <strong>for</strong> steering can beconsistent.


Chapter 4Prototype <strong>Robot</strong>4.1 <strong>System</strong> OverviewThe objective of the development of a prototype robot is to investigate the appliedcontrol methods. The system consists of the following two main components: theprototype robot and the ground station (GS). The prototype robot is equippedwith an on-board computer (OBC), a power source, a communication system, andsome sensors of which the data is used <strong>for</strong> feedback control. The prototype alsohas motors <strong>for</strong> locomotion.Figure 4.1: Prototype robot


34 Prototype <strong>Robot</strong>The ground station is <strong>for</strong> processing and displaying the sensor data, and <strong>for</strong> controllinghigher level functioning, such as "set speed", "break", "turn left" or "turnright". For controlling lower level functioning such as "accelerate to the commandedspeed" or "keep the orientation of the robot", the OBC uses the controlmethods proposed in this study. The following graph depicts the system layout ofthe whole system.Figure 4.2: <strong>System</strong> Overview4.2 Electronic ArchitectureThe electronic structure comprising the ground station (GS) can be represented asshown in the following block diagram.SensorActuator BatteryGround StationData-HandlingPlanningNavigationLocalizationServo MotorDC MotorData-HandlingCommunicationSensor DataCommandFigure 4.3: Block Diagram


4.2 Electronic Architecture 354.2.1 Block Diagram DescriptionOn-Board Computer and Level ConverterThe on-board computer is the Crumb128-CAN module. It is a module that combinesan Atmel AT90CAN128 AVR 8-bit microcontroller with a standard serial portwith an RS232 transceiver and a USB2.0 device interface. The main componentsused to provide the necessary features used in this project are as follows:• 8-channel 10-bit analog-to-digital converter (ADC) <strong>for</strong> acquiring data fromanalogue-output sensors• Dual Programmable Serial Universal Synchronous-Asynchronous Receiver/Transmitter (USARTs) <strong>for</strong> communication with the ground station via a wirelessserial link• 128kbytes of on-chip, non-volatile ash memory <strong>for</strong> program code storageWireless <strong>System</strong>The robot is equipped with the IOGEAR Class1 Bluetooth Serial Adapter GBA301<strong>for</strong> wireless communication with the ground station. It allows Bluetooth wirelessconnection of RS232 serial equipment up to a range of 100 meters. The transferrate selected is 9600 baud, the slowest one, as it provides the best quality.Figure 4.4: The Crumb128-CAN Module (left), The IOGEAR Bluetooth SerialAdapter (right)


36 Prototype <strong>Robot</strong>4.2.2 Magnetic CompassA magnetic compass is implemented to determine the direction of travel of therobot. The component is the Hitachi HM55B Compass Module with a dual-axismagnetic eld sensor. It also makes all the power and signal connections accessiblein a breadboard-friendly 6-pin dual inline package (DIP). The signicant featuresare:• Sensitivity to microtesla variations in magnetic eld strength• Simplied direction by resolving magnetic eld measurements into two-componentaxes• Capability <strong>for</strong> 6-bit (64-direction) resolution measurements after software calibration• Relatively short measurement time (30 to 40 ms)Figure 4.5: The Hitachi HM55B Compass ModuleIn order to avoid the electromagnetic noise from the main electronic board andmotors, the compass is attached at a distance from them at the tip of a plastic rod.(See Figure 4.6)4.2.3 Tri-axial AccelerometerThe Kionix tri-axial accelerometer KXM52-1050 is mounted to measure the accelerationof the pendulum. The main features of the device are as follows:• Package: 8-pin DIP• Output: Analogue 660mV/G• Oset Voltage: 1.65V• Supply Voltage: 3.3 5V


4.2 Electronic Architecture 374.2.4 GyroscopeFigure 4.6: The position of the compassThe Kondo KRG-3 Gyro is used to detect the angular velocity of the roll angle ofthe ball, or the main shaft. It is extremely small in size, light-weight, and of singleaxis detection. The main features of the device are as follows:• Angular Rate Range: ± 300deg/sec• Output: Analogue 0.67mV/(degree/sec)• Oset Voltage: 1.35V• Supply Voltage: 3 5V• Weight: 1.8g• Size: 22.5 x 12.5 x 7.8 mm4.2.5 Servo MotorTwo servo motors are used to tilt the pendulum inside the spherical robot. Thebodies of the servo motors are mounted on the pendulum, and the arms are xed


38 Prototype <strong>Robot</strong>Figure 4.7: The Kionix Tri-axial Accelerometer KXM52-1050 (left), The KondoKRG-3 Gyro (right)to the main shaft of the robot. In this way, the rotational motion of the motorstilts the direction of the pendulum. The servos used it the tests are the Blue-Bird BMS660MG-HS high-torque metal-gear servos made in Taiwan, which wereoriginally designed <strong>for</strong> racing toy cars. The main features of the device are asfollows:• Angular Rate Range: ± 300deg/sec• Torque at 4.8V : 13kg cm• Ball Bearing: Dual• Supply Voltage: 4.8 6.0V• Weight: 54g• Size: 40.5 x 20.0 x 42.5 mm4.2.6 DC MotorA DC motor is used to continuously rotate the pendulum mass <strong>for</strong> driving therobot. The Mabuchi RS540SH DC motor is used. The main features of the deviceare as follows:• Nominal Voltage: 12V• Speed (No Load): 17500 rpm• Current (No Load): 0.95A• Weight: 160g• Size: 35.8 φ x 50.0 mm


4.2 Electronic Architecture 39Figure 4.8: The BlueBird BMS660MG-HS servo motor (made in Taiwan)(left),TheMabuchi RS540SH DC Motor (right)4.2.7 BatteryLow self-discharge NiMH batteries (LSD NiMH) are used as the power supply. TheLSD NiMH battery is the newest technology introduced in 2005. The batterieshave signicantly reduced self-discharge, thereby being always ready-to-use aftercharging. They also have a reduced memory eect, allowing charging them evenafter slight discharge, making management of the charging process easy. Thesefeatures are suitable <strong>for</strong> testing the robots intermittently and charging batterieswhenever convenient.Figure 4.9: Sanyo Low self-discharge NiMH battery Eneloop (left), 6-AA-batterypack used <strong>for</strong> the prototype (right)4.2.8 Motor <strong>Control</strong>lerIn order to control speed and torque of the DC motor by adjusting the supplyvoltage, a motor controller is used, connected between the main board and the


40 Prototype <strong>Robot</strong>DC motor. This motor controller is a standard controller designed and developedby the Automation and <strong>System</strong>s Department, TKK. The controller receives thefollowing inputs:• Enable: To enable the control (0V or 5V)• Direction: To set the direction of rotation (0V or 5V)• (Pulse Width Modulation) PWM: To control the speed or torque by adjustingthe voltage (0V to 5V, maximum frequency 30kHz)4.2.9 TachometerThe tachometer mounted on the prototype is a handmade one using a photo coupler,which was not in use in the lab where testing was carried out. Un<strong>for</strong>tunately,the manufacturer and the product name <strong>for</strong> the photo coupler are unknown. Thephoto coupler and its peripheral circuit gives 0V when the light path of the coupleris blocked, and otherwise 3.4V. The rotating disk has eight blades, intermittentlyblocking the light path while rotating, generating eight pulses per rotation of themotor. The AVR microchip constantly monitors the pulses and increments a certainparameter every rising and falling edge of the pulse, thus incrementing 16 ticksper rotation of the motor.Figure 4.10: The standard motor controller used at TKK (left), The handmadetachometer with a photo coupler (right)


4.2 Electronic Architecture 414.2.10 Main boardThe main electronic board is a hub connecting all the sensors, power supplies,communication adapter and motors. It also has some LEDs indicating the on/ostatus of the main board, servo motors, and the AVR microchip itself.Figure 4.11: The main board4.2.11 Main switchThe main switch receives 7.2V from two 6-AA-battery boxes and 4.8V from one4-AA-battery box, and supplies 7.2V to the motor controller, 7.2V to the mainboard in which a regulator converts it to 5.0V, and 4.8V to the servo motors withonly one switch.4.2.12 MountingA plastic case is attached at the bottom of the aluminum pendulum, holding batteryboxes, the main board, the motor controller, and the Bluetooth adapter altogether.


42 Prototype <strong>Robot</strong>Figure 4.12: The main switch (left), The holder of the electronics (right)Figure 4.13: The whole electronic system(left: front view, right: rear view)4.3 SpecicationsThis section describes the specications of the prototype robot and components.Table 4.1: Specications of the pendulumParameters Values SymbolsTotal mass 1795g M 2Moment of inertia (around rotation axis) 0.007428kgm 2 J 2Moment of inertia (around horizontal line normal to shaft) 0.007728kgm 2 J 2sDistance between ball center and pendulum CG 0.065m e


4.3 Specications 43Table 4.2: Specications of the ballParameters Values SymbolsMass of right hemisphere985gMass of left hemisphere with plastic stripe1230gLeft plastic (connecting main shaft and ball)96gRight plastic (connecting main shaft and ball)106gTotal mass (excluding pendulum) 3294g M 1Moment of inertia (around rotation axis) 0.0633kgm 2 J 1Moment of inertia (around horizontal line normal to shaft) 0.0777kgm 2 J 1sRadius 0.226m rTable 4.3: Specications of the DC motorParameters Values SymbolsMass158gNo load speed 17500rpmStall torque 230mNmTorque constant 0.00852 Nm/A K tSpeed constant 0.00638 Vs/rad K eTerminal resistance 0.324 Ω RTable 4.4: Specications of the batteryParametersValuesMass of battery box (6xAA) 168gMass of battery box (4xAA) 114gTypical capacity 2000mAhMinimum capacity 1900mAhVoltage 1.2VTable 4.5: Specications of the electronicsParametersMass of Crumb128AVRMass of motor driverMass of RS232 connectorMass of Bluetooth adapterMass of the servo motorValues32g52g6g22g54g


Chapter 5<strong>Control</strong> Methods: DrivingThe use of the term "control methods" in this study is taken to refer to control supportingmethods <strong>for</strong> manual control. First, this section describes control supportingmethods <strong>for</strong> the driving motion of the prototype robot.5.1 BackgroundManual control of the spherical robot is dicult due to the spherical shape of therobot. The robot displays clumsy motion when no control supporting methods areimplemented. There<strong>for</strong>e, some kind of control supporting system is necessary. Inorder to achieve this, however, there are two diculties that must be taken intoaccount. The rst one is that the conditions of the terrain to be driven over is notalways predictable. For instance, the terrain might be uphill, downhill, rocky, orat. This means that the dynamics modeling is not always useful <strong>for</strong> controllingthe robot. Especially, the friction T f cannot be determined if the condition of theterrain is not xed. There<strong>for</strong>e, control supporting methods should be eective evenon dierent types of terrain.Another diculty is that sensors cannot be mounted on the sphere in order tomeasure its status directly. All electronics and sensors must be mounted onto orwired to the pendulum of the robot, thus making it impossible to mount sensors onthe outer spherical surface of the robot. There<strong>for</strong>e, only the status of the pendulum


5.2 Stability of the robot rotation 45with respect to the sphere can be measured, but not the status of the sphere withrespect to the ground it travels over.As a result, feedback control using the status of the ball with respect to the groundis not possible. For example, it is not possible to measure the parameter θ 1 , whichis the rotated angle of the sphere with respect to the ground. Instead, only the θ 2can be measured, which is the rotated angle of the pendulum with respect to theball.Consequently, some control methods using only the status inside the ball, namelythe rotated angle of the pendulum with respect to the ball, and without xeddynamic modeling are necessary.5.2 Stability of the robot rotationThis study proposes the following three control methods.1. <strong>Control</strong> by supply voltage to the motor2. <strong>Control</strong> by motor rotation speed3. <strong>Control</strong> by torque of the motorIn fact, the rst one, controlling by supply voltage, needs no control supportingsystem at all. The voltage to the DC motor is the lowest level input to the robotwithout any processing. Alternatively, the other two control methods need somekind of control supporting system. This system has to somehow realize the targetedrotation speed or torque by adjusting the applied voltage to the DC motor.Assuming voltage, speed, and torque are completely controllable, let us considerif the control of the ball can be stable or not. The transfer functions are derivedfrom the input parameters (voltage, speed, and torque) to the rotation of the ball,θ 1 . These functions allows evaluation whether the system is stable or not. As thereare no sensors on the outer surface of the ball, the open-loop transfer functions arederived here.


46 <strong>Control</strong> Methods: Driving5.2.1 Voltage to Ball RotationIn order to analyze the relationship between the supply voltage and the rotationof the ball, the motor should be modeled.DC motor modelingA DC motor can be modeled with two basic equations; One is the equation ofvoltage, and the other is the equation of torque and current.V = IR + K e ω (5.1)T = K t I (5.2)I: Current owing through the armatureR: Resistance of the motorV : Supplied voltageK e : Speed constantT: Generated torgueω: Rotating velocityK t : Torque constantBy eliminating the current I from the equations, it is possible to arrive at thefollowing equation:V = T K tR + K e ω 2. . . T = K tR (V − K eω 2 ) (5.3)


5.2 Stability of the robot rotation 47Friction modelingThe friction in this section means the one between the robot and the surface drivenover by the robot. The friction of the ball rotation, T f , consists of two major typesof friction. One is the Coulomb friction, which is almost constant in spite of thechange in rotation speed. The other is the viscous friction, which is proportionalto the speed of the ball. Here we model T f as:T f = T c + T v ω 1 (5.4)where T c is the Coulomb friction, which can be both positive and negative dependingon the direction of the rotation, and T d is the coecient <strong>for</strong> the viscous friction,which is a negative value.Linearization of the dynamics equationIn order to derive a transfer function, the dynamics equations (3.5) and (3.6) shouldbe simplied. First, it is assumed that the pendulum is oriented almost downwards,there<strong>for</strong>e θ 1 + θ 2 ≪ 1, ω 1 + ω 2 ≪ 1, and a 1 + a 2 ≪ 1. Here you can get thelinearized equations (5.5) and (5.6):−T + T f = a 1 (J 1 + J 2 + M 1 r 2 + M 2 r 2 + M 2 e 2 − 2M 2 re)+a 2 (J 2 − M 2 re + M 2 e 2 ) + M 2 ge(θ 1 + θ 2 ) (5.5)T = a 1 (J 2 − M 2 re + M 2 e 2 ) + a 2 (J 2 + M 2 e 2 )+M 2 ge(θ 1 + θ 2 ) (5.6)Let the Laplace trans<strong>for</strong>m of θ 1 and θ 2 be Θ 1 (s) and Θ 2 (s) respectively, those ofω 1 and ω 2 be sΘ 1 (s) and sΘ 2 (s), and that of T be T (s), and that of V be V (s).Eliminating T f using (5.4), and disregarding T c since it has no eect on the transferfunctions in question, we can trans<strong>for</strong>m the equations (5.5), (5.6), and (5.3) usingLaplace trans<strong>for</strong>m:


48 <strong>Control</strong> Methods: Driving−T = [ −sT v + egM 2 + s 2 { J 1 + J 2 + r 2 M 1 + (e − r) 2 M 2}]Θ1+ [ s 2 J 2 + e { g + (e − r)s 2} ]M 2 Θ2 (5.7)T =[{s 2 J 2 (Θ 1 + Θ 2 ) + eM } ]2 g + (e − r)s2Θ 1 + (g + es 2 )Θ 2 (5.8)T = K tR (V − K esΘ 2 ) (5.9)The transfer function can be obtained by eliminating T and Θ 2 from equations(5.7), (5.8), and (5.9):Θ 1A + Bs 2C + Ds + Es 2 + F s 3 (5.10)V=A = −2egK t M 2B = K t (−2J 2 + e(−2e + r)M 2 )C = −egRT v M 2 + 2egK e K t M 2D = −T v K e K t + egRJ 1 M 2 + egr 2 RM 1 M 2 + egr 2 RM22E =(−RT v J 2 + 2J 2 K e K t − e 2 RT v M 2 + K e K t J1 + r 2 M 1 + ( 2e 2 − 3er + r 2) )M 2F = e 2 RJ 1 M 2 + e 2 r 2 RM 1 M 2 + RJ 2(J1 + r 2 (M 1 + M 2 ) )The characteristic equation, which can be used to calculate the poles of the system,is the denominator of the transfer function (5.10):C + Ds + Es 2 + F s 3 = 0 (5.11)Using the values shown in Section 4.3, the poles of the systems can be calculatedas:s 1 = −0.43 (5.12)s 23 = −0.041 ± 9.40i (5.13)This shows that the system is stable.


5.2 Stability of the robot rotation 495.2.2 Motor Speed to Ball RotationBy eliminating T from equations (5.7) and (5.8), the following transfer functioncan be obtained:Θ 1Θ 2=−2s 2 J 2 + e (−2g + (−2e + r)s 2 ) M 2−sT v + 2egM 2 + s 2 (J 1 + 2J 2 + r 2 M 1 + (2e 2 − 3er + r 2 ) M 2 )(5.14)For our prototype robot, it is:−8.33 − 0.014s 28.336 + 0.510s + s 2 (5.15)The characteristic function is:−sT v + 2egM 2 + s 2 ( J 1 + 2J 2 + r 2 M 1 + ( 2e 2 − 3er + r 2) M 2)= 0 (5.16)The poles are calculated as follows:s = T v ± √ T 2 v − 8egM 2 (J 1 + 2J 2 + r 2 M 1 + (2e 2 − 3er + r 2 ) M 2 )2 (J 1 + 2J 2 + r 2 M 1 + (2e 2 − 3er + r 2 ) M 2 )(5.17)Since T v < 0, this system is stable. For the prototype robot, the poles are:s 12 = −0.26 ± 2.88i (5.18)This means that the whole system is stable if the motor speed is controllable.5.2.3 Motor Torque to Ball RotationBy eliminating Θ 2 from equations (5.7) and (5.8), the following transfer functioncan be obtained:


50 <strong>Control</strong> Methods: DrivingΘ 1T = −2s 2 J 2 + e ( −2g + (−2e + r)s 2) M 2esM 2 ((g + es 2 ) (−T v + sJ 1 + r 2 sM 1 ) + gr 2 sM 2 ) + s 3 J 2 (−T v + sJ 1 + r 2 s (M 1 + M 2 ))The characteristic function is:esM 2((g + es2 ) ( −T v + sJ 1 + r 2 sM 1)+ gr 2 sM 2)+ s 3 J 2(−Tv + sJ 1 + r 2 s (M 1 + M 2 ) ) = 0(5.19)The poles of this system are:s 1 = −0.43 (5.20)s 23 = −0.036 ± 9.40i (5.21)s 4 = 0 (5.22)This means that the whole system is stable if the motor torque is controllable.5.3 <strong>Control</strong> methodThe previous section shows that the ball rotation can be stable even if the rotationparameters are not measured. There<strong>for</strong>e, it is enough to focus on controlling thependulum, or the DC motor, with respect to the ball. This section describes thespeed control and torque control of the DC motor.5.3.1 Rotation Speed <strong>Control</strong>In order to reach the target speed of the motor by controlling the supply voltage,the PID control is used with the tachometer measurement feedback. First, thetransfer function from V to Θ 2 is determined:


5.3 <strong>Control</strong> method 51Θ 2V= K t (−sT v + 2egM 2 + s 2 (J 1 + 2J 2 + r 2 M 1 + (2e 2 − 3er + r 2 ) M 2 ))s(A + Bs + Cs 2 + Ds 3 )(5.23)A = −egRT v M 2 + 2egK e K t M 2B = −T v K e K t + egRJ 1 M 2 + egr 2 RM 1 M 2 + egr 2 RM22C =(−RvisJ 2 − e 2 RT v M 2 + K e K t J1 + 2J 2 + r 2 M 1 + ( 2e 2 − 3er + r 2) )M 2D = RJ 1 J 2 + e 2 RJ 1 M 2 + e 2 r 2 RM 1 M 2 + r 2 RJ 2 (M 1 + M 2 )For the prototype, the transfer function is:Θ 2V = 14.35 + 0.8786s + 1.721s 238.34s + 88.31s 2 + 0.5161s 3 + s 4 (5.24)There<strong>for</strong>e, the transfer function from V to the motor rotation speed ω 2 is:Ω 2V = 14.35 + 0.8786s + 1.721s 238.34 + 88.31s 1 + 0.5161s 2 + s 3 (5.25)where Ω 2 = sΘ 2 is the Laplace trans<strong>for</strong>m of ω 2 .According to the ultimate sensitivity method, or the Ziegler-Nichols method, thegains <strong>for</strong> the PID control can be calculated as (Kano, 2005):The gains <strong>for</strong> the PI control are:K P = 3.66 (5.26)K I = 0.2 (5.27)K D = 0.05 (5.28)Here, the PID control is utilized as shown in Figure 5.1.K P = 2.74 (5.29)K I = 0.33 (5.30)


52 <strong>Control</strong> Methods: Driving Figure 5.1: Block diagram of driving motion Stabilization5.3.2 Torque <strong>Control</strong>One diculty of torque control is that the target torque cannot always be reachedduring operation. The applied torque should be canceled by counter torque, suchas friction from outside. However, operation on smooth oor surfaces needs onlysmall torque to maintain speed, resulting in the continuous acceleration of the robotdue to the excessive torque, and the robot easily reaches its maximum speed. Indoing so, this causes vibration of the driving motor, generating large noise in theaccelerometer.There<strong>for</strong>e, torque control is not suitable <strong>for</strong> supporting manual control. For thisreason, torque control has neither been designed nor implemented in the prototype.5.3.3 Other assistant controlsSome other control methods <strong>for</strong> assisting the main control methods are also implementedin the prototype. These include: voltage increment limit, driving anglelimitation, and voltage limit.Voltage incrementation limitIn order to avoid situations where the robot accelerating too rapidly, a limit inthe change rate in voltage, namely dV/dt, is implemented. This prevents thependulum from swinging around uncontrollably when it starts moving. The voltageincrementation limit is set at 3.2V/sec.


5.3 <strong>Control</strong> method 53Driving angle limitationIn order to avoid the pendulum spinning around in a circle without acceleratingthe ball, the driving angle of the pendulum is limited. This driving angle limitationis set at 70 degrees from the vertical position of the pendulum.Voltage limitIn order to prevent the ball from reaching extremely high speed, which may breaksurrounding objects and the ball itself if they collide, the supply voltage is limitedto 8.0V.


Chapter 6<strong>Control</strong> methods: SteeringThere are two major issues in steering control related to the prototype sphericalrobot:• How to steer• How to stabilize the roll angle of the ball6.1 IntroductionEven if the dynamics modeling is not completely xed, and the status of the robotwith respect to the ground is not determined, the previous model shows very importantfacts related to steering.Section 3.2 shows that two input parameters can be used to control the steeringrate, also known as the rotational radius: the speed of the robot and the steeringangle of the pendulum. Lower speeds and larger steering angles of the pendulumlead to a larger steering rate, namely a smaller rotational radius. And vice versa,higher speeds and smaller steering angles lead to a smaller steering rate, namely alarger rotational radius.There is, however, one diculty in steering. The rotational radius depends also onthe roll angle of the main shaft. Even though the steering angle of the pendulum


6.2 Stabilizing the roll angle 55is xed, the spherical shape of the ball causes the roll angle to oscillate, thusconstantly changing the rotational radius while steering.This situation is unfavorable <strong>for</strong> the steering control, and all oscillation should besomehow suppressed to facilitate a stable steering.Nevertheless, when the rotation speed is high, thanks to the gyro stabilizationeect, the roll angle is stable. There<strong>for</strong>e, this section proposes a stabilizationmethod based on modeling with a low traveling speed.6.2 Stabilizing the roll angleIn order to achieve stable steering control during low-speed operation, the roll anglehas to be stabilized. However, this stabilization control can be switched o whenthe ball reaches a certain rotational speed.6.2.1 ModelingThe same motion equations (3.5), (3.6) <strong>for</strong> the driving can also be used <strong>for</strong> tiltingmotion, the only dierence being the interpretation of each parameter.T f − T s = a 1s (J 1s + J 2s + M 1 r 2 + M 2 r 2 + M 2 e 2 − 2M 2 re cos(θ 1s + θ 2s ))+a 2s (J 2s − M 2 re cos(θ 1s + θ 2s ) + M 2 e 2 )+M 2 re sin(θ 1s + θ 2s )(ω 1s + ω 2s ) 2 + M 2 ge sin(θ 1s + θ 2s ) (6.1)T s = a 1s (J 2s − M 2 re cos(θ 1s + θ 2s ) + M 2 e 2 ) + a 2s (J 2s + M 2 e 2 )+M 2 ge sin(θ 1s + θ 2s ) (6.2)r: Radius of the balle: Distance between centroids of the ball and the pendulumθ 1s : Roll angleθ 2s : Steering angle of the pendulumω 1s : Angular rate of the main shaft in tilting motionω 2s : Angular rate of the pendulum with respect to the ball in tilting motion


56 <strong>Control</strong> methods: Steeringa 1s : Acceleration in tilting of the main shafta 2s : Acceleration in tilting of the pendulum with respect to the ballJ 1s : Moment of inertia of the ball around its centroid about the horizontal linenormal to the main shaftJ 2s : Moment of inertia of the pendulum around its centroid about the horizontalline normal to the main shaftM 1 : Mass of the ballM 2 : Mass of the pendulumg: Acceleration of gravityT s : Torque by servo motorsT f : Friction between the ball and the travelling surfaceThe simplied equations (5.5), (5.6) can also be used:−T s + T f = a 1s (J 1s + J 2s + M 1 r 2 + M 2 r 2 + M 2 e 2 − 2M 2 re)+a 2s (J 2s − M 2 re + M 2 e 2 ) + M 2 ge(θ 1s + θ 2s ) (6.3)T s = a 1s (J 2s − M 2 re cos(θ 1s + θ 2s ) + M 2 e 2 ) + a 2s (J 2s + M 2 e 2 )+M 2 ge(θ 1s + θ 2s ) (6.4)There<strong>for</strong>e, the same transfer function (5.14) can also be used:Θ 1sΘ 2s=−2s 2 J 2s + e (−2g + (−2e + r)s 2 ) M 2−sT v + 2egM 2 + s 2 (J 1s + 2J 2s + r 2 M 1 + (2e 2 − 3er + r 2 ) M 2 )For the prototype robot, the transfer function can be calculated as:(6.5)Θ 1 2.287 + 0.00443s2= − (6.6)Θ 2 2.287 + 0.14s + 0.289s 2The real parts of the poles of this system are negative, meaning this system isstable. However, the dampening rate of the system is very low, thus taking time<strong>for</strong> stabilization, meaning that active feedback control <strong>for</strong> quick stabilization isneeded.In order to facilitate feedback control, the roll angle has to be measured somehow.The sensors that can be used here are the accelerometer <strong>for</strong> the angle itself, andthe gyro <strong>for</strong> the angular rate.


6.2 Stabilizing the roll angle 576.2.2 Determination of roll angleAlthough it may have some noise, the accelerometer on board is used to determinethe roll angle.Figure 6.1: Position of accelerometerStarting with the inertial frame, a frame rotates about the Y axis at an angle of−θ 1s , then about the X axis at an angle of ∆θ, and, nally, about the Z axis at anangle of 90 degrees.The nal orientation of the frame, which is the accelerometer frame, is given relativeto the initial frame, as:IAR = R Y (−θ 1s )R X (∆θ)R z (90 ◦ ) (6.7)⎛⎞ ⎛⎞ ⎛ ⎞cos(θ 1s ) 0 − sin(θ 1s ) 1 0 0 0 −1 0= ⎜⎝ 0 1 0 ⎟ ⎜⎠ ⎝ 0 cos(∆θ) − sin(∆θ) ⎟ ⎜⎠ ⎝ 1 0 0 ⎟⎠sin(θ 1s ) 0 cos(θ 1s ) 0 sin(∆θ) cos(∆θ) 0 0 1If it is assumed that the only acceleration applied to the measurement is the accelerationof the gravity, the output of the accelerometer (g x , g y , g z ) can be determinedas:⎛⎜⎝g xg yg z⎞ ⎛⎟⎠ = IAR T ⎜⎝⎞ ⎛00 ⎟⎠ = ⎜⎝−g−g cos(θ 1s ) sin(∆θ)g sin(θ 1s )−g cos(∆θ) cos(θ 1s )⎞⎟⎠ (6.8)


58 <strong>Control</strong> methods: SteeringNow, the two parameters, θ 1s and ∆θ, can be estimated using the output of theaccelerometer as:6.2.3 Stabilization Methodθ 1s = arcsin( g yg ) (6.9)∆θ = arctan( g xg z) (6.10)The modied dierential control method is used <strong>for</strong> the stabilization of the prototyperobot. The term "modied" means that the dierentiation is not appliedafter the subtraction of the feedback from the input, but applied to the feedbackvalue be<strong>for</strong>e subtraction.The reason why dierential control is solely used here is that only a dampeningeect, which is proportional to the speed, is needed to reduce the oscillation. Figure 6.2: Block Diagram of Sideways Motion Stabilization


Chapter 7Simulation and Test Results7.1 Driving <strong>Control</strong> Figure 7.1: Simulation result of the motor speed controlFigure 7.1 depicts the simulation result of the speed control. The model andparameters of this simulation are based on the block diagram shown in Figure5.1 with the time delay of 0.1 seconds. The input is the step function with theamplitude of 1, which is supposed to generate the motor speed of 1. Figure 7.1shows the motor speed reaching 1 thanks to the speed control. The two lines in the


60 Simulation and Test Resultslower half of the gure denote the ball rotation speed with and without the speedcontrol.Even without the speed control, the rotational speed can be stabilized, which meansthat the speed control is not necessarily needed. Nevertheless, in order to reachthe target speed, the speed control can be used.Rotation(1.6 x revolution/sec)605040Motor SpeedTarget Speed3020100-10Time(sec)0 5 10 15 20 25 30 35-20-30-40Figure 7.2: Test result of motor speed controlFigure 7.2 shows the test result of the speed control using the prototype robot.The smoother line shows the target speed, and the noisy line shows the measuredmotor speed. The measured motor speed did, in fact, follow the target speed withsome time delay and some oscillation.The speed control is similar to the "cruise mode", which is usually employed inhigh-grade automobiles. The cruise mode maintains the driving speed of a car bycontrolling the accelerator pedal. On the other hand, the voltage control, which iswithout any special control support, can be considered to be a normal driving way ofsimply adjusting the acceleration of an automobile. There<strong>for</strong>e, it can be concludedthat both the "speed control" and the "voltage control" can be implemented <strong>for</strong>spherical robots. The simple "voltage control" can be used <strong>for</strong> the normal drivingwith frequent breaks, acceleration, and turning. Alternatively, the "speed control"can be used <strong>for</strong> long distance cruising on a smooth terrain.


7.2 Roll angle stabilization 617.2 Roll angle stabilization Figure 7.3: Simulation result of roll angle stabilizationFigure 7.3 shows the simulation result of the roll angle stabilization based on themodeling of the prototype. The model and parameters of this simulation are basedon the block diagram shown in Figure 6.2 with the time delay of 0.05 seconds. Thedamping control is supposed to dampen the oscillation in a shorter time.The characteristic equation of the roll motion can be easily derived from equation(6.6).2.227 + 0.14s + 0.289 = 0 (7.1). . . s = −0.24 + 2.8i (7.2)There<strong>for</strong>e, the natural frequency of this system is 2.8 (rad/s), and its period is 2.24seconds, which can also be seen in Figure 7.5.Figure 7.4 shows the testing result with the prototype robot. The period of itssinusoidal motion without stabilization is about 2.9 seconds, which is a bit differentfrom the theoretically estimated period of 2.25 seconds. Nevertheless, Thetest results conrm the outcome of the simulation, dampening the oscillation in ashorter time. This stabilization makes the steering of the robot easy, since the rollangle of the robot, which determines the steering radius, can be stabilized.


62 Simulation and Test Results45Without <strong>Control</strong>4035302520With <strong>Control</strong>1510500 5 10 15 20 25 30Figure 7.4: Test result of roll angle stabilization7.3 Driving angle limitationDriving angle limitation control also works well with the prototype robot evenif the ball gets stuck but still tries to accelerate, the pendulum does not swingup higher than a certain angle, thus avoiding the meaningless spinning of thependulum.7.4 Steering characteristicsFigure 7.5 shows the tests results and theoretical characteristics of steering. Thethree solid lines denote the theoretical characteristics derived from equation (3.25),and the dots denote the test results.The test was conducted in the following way; the eld was about 5 by 4 metersin size. Strips of tapes were stuck on the oor and marked red every 10cm <strong>for</strong>determining the location of the robot in the eld. The motion of the robot wasvideo recorded and, especially the steering motion, was analyzed afterward.The rotational radius as well as the driving speed have been measured using thevideo, and plotted in Figure 7.5. The steering angle of the pendulum is determinedby the commands from the GS, and also indicated in the gure. The results show


7.4 Steering characteristics 632.01.51.00.50.00.0 0.2 0.4 0.6 0.8Figure 7.5: Test results of steeringthat the theory and the hardware test almost match. Although the rotationalradius has a certain amount of error from the theoretical value, the basic theoreticalcharacteristics of steering has been proven to be correct.Figure 7.6: Prototype robot and its trajectory


Chapter 8Conclusions8.1 Prototype robotThe key features of the prototype robot come from the implementation of thenewest technologies to streamline the research process. The following technologieshave proven to be research-friendly during the study.8.1.1 Bluetooth communicationOne key technology used <strong>for</strong> the prototype robot is Bluetooth wireless connectivity.Bluetooth is a widely used commercial wireless system as well as being digitalfriendly.There<strong>for</strong>e, it is easy to implement in digital systems with a computer. Inaddition, the Bluetooth class-1 wireless device allows connectivity up to a range of100m, which is more than adequate <strong>for</strong> this research purpose.In addition, the Bluetooth-serial adapter used <strong>for</strong> the robot can be connected tothe AVR easily, without any knowledge of networking which wireless LAN wouldrequire.


8.2 Sensors <strong>for</strong> the feedback control 658.1.2 Low self-discharge Ni-MH batteryLow self-discharge Ni-MH batteries have two main features: low self discharge, asthe name implies, as well as a reduced memory eect.Low self-discharge characteristics allow the batteries to be ready <strong>for</strong> use even afterseveral weeks, even more than a year, after charging. This feature reduces thefrequency of charging especially when the robot is operated intermittently.The other feature, reduced memory eect, makes the management of chargingeasy. Normal Ni-MH batteries should not be charged after being only partiallydischarged, since the memory eect lessens energy capacity. There<strong>for</strong>e, the operatorhas to take into consideration the timing of charging <strong>for</strong> normal Ni-MH batteries,but does not have to worry when using LSD Ni-MH batteries.8.2 Sensors <strong>for</strong> the feedback controlSome testing using the prototype robot revealed that it is not realistic to usedierentiation of the measured data due to the noise. There<strong>for</strong>e, the steeringcontrol denitely requires a gyroscope <strong>for</strong> the measurement of the angular rate ofthe roll angle of the robot. This research utilized the Kondo KRG-3 gyroscopeattached to the main shaft to measure the angular rate of the roll angle of therobot.It has also been proven that an accelerometer can be used to determine the pendulumtilting by measuring the gravity direction.8.3 Theoretical analysis8.3.1 Stability without sensors on the ballChapter 5 shows that the driving system is theoretically stable <strong>for</strong> any of the threeinputs (voltage supply, motor speed, and motor torque input), even without any


66 Conclusionssensors on the outer surface of the ball. This allows operation of the ball withoutsensors on its surface, thus avoiding the cabling problems between the sensors onthe rotating sphere and the main board on the pendulum.8.3.2 Gyro eectSection 3.1 shows that with or without the gyro eect, the basic trend of the changein rotational radius has no change. Namely, the slower speed and the greatersteering angle of the pendulum lead to steeper steering, despite the presence orabsence of the gyro eect. In addition, the dierence in rotational radius comingfrom the gyro eect is slight in the simulation speed range, meaning that thestrategy <strong>for</strong> steering can remain the same.8.4 <strong>Control</strong> methods8.4.1 StabilityThe fact that the robot is stable on its own is extremely important. As a result,the motor speed/torque control can be focused on without worrying about the ballstability.8.4.2 Driving controlThe input of the motor is the supply voltage. There<strong>for</strong>e, voltage input is the mostlow-level input without any control support. Nevertheless, the voltage control canbe used <strong>for</strong> normal operation with lots of braking, accelerating, and turning.On the other hand, the speed control can be used <strong>for</strong> a cruise mode, where the speedshould be maintained. This control can be realized with the simple PID controland the ultimate sensitivity method tuning. It has been proven to be working wellfrom the test results.


8.4 <strong>Control</strong> methods 67Figure 8.1: Block diagram of the ball robotThe torque control is, however, found to be unsuitable <strong>for</strong> supporting manualcontrol support, since a smooth oor surface has only slight counter torque tocancel the input torque.8.4.3 Steering controlThe theoretical study (Chapter 3) shows that:• Steering can be controlled by two input parameters: the traveling speed andthe steering angle of the pendulum.• Even if the gyro eect has a slight eect on the steering rate, the basic trendmentioned above remains the same.• Rotational radius is also aected by the roll angle of the robot, which isnot an input but one of the ball states. There<strong>for</strong>e, the roll angle should bestabilized.Consequently, Chapters 6 and 7 show that the roll angle can be stabilized withsimple dierential control.


ReferencesChemel, B., Mutschler, E., and Schempf, H. (1999). Cyclops: miniaturerobotic reconnaissance system. <strong>Robot</strong>ics and Automation, 1999. Proceedings.1999 IEEE International Conference on, 3.Halme, A. and Wang, T. (1996). Motion control of a spherical mobilerobot. Advanced Motion <strong>Control</strong>, 1996. AMC'96-MIE. Proceedings., 1996 4thInternational Workshop on, 1.Jones, J. (2001). Inatable robotics <strong>for</strong> planetary applications. 6th InternationalSymposium on Articial Intelligence, <strong>Robot</strong>ics Automation in Space: ANew Space Odyssey, Montreal, Canada, June 18, 2001.Kano, M. (2005). <strong>Control</strong> <strong>System</strong> Designing using MATLAB (MATLAB woriyou shita seigyokei sekkei)(Japanese).URL: http://www-pse.cheme.kyoto-u.ac.jp/kano/document/text-contbasic.pdfKnight, W. (2005). <strong>Spherical</strong> robot provides rolling security cover. NewScientist.comnews service.URL: http://www.newscientist.com/article.ns?id=dn6932Koshiyama, A. and Fujii, K. (1996). Development and Motion <strong>Control</strong> ofthe All-Direction Steering-Type Mobile <strong>Robot</strong> (4th Report, Mechanisms, MotionPrinciple, <strong>Control</strong> Methods and Experimental Results of a Stand-alone<strong>Spherical</strong>-wheeled <strong>Robot</strong>). Transactions of the Japan Society of MechanicalEngineers. C (Japanese), 62(602):37933801.Koshiyama, A. and Yamafuji, K. (1992a). Development and Motion <strong>Control</strong>of the All Direction Steering-Type Mobile <strong>Robot</strong> (1st Report, A Concept


REFERENCES 69of <strong>Spherical</strong> Shaped <strong>Robot</strong>, Roll and Running <strong>Control</strong>). Transactions of theJapan Society of Mechanical Engineers. C (Japanese), 58(548):11281136.Koshiyama, A. and Yamafuji, K. (1992b). Development and Motion<strong>Control</strong> of the All-Direction Steering-Type Mobile <strong>Robot</strong> (2nd Report, Analysesand Experiments on Postural Stability and Ascent/Descent on a Slope.Transactions of the Japan Society of Mechanical Engineers. C (Japanese),58(548):11371145.Koshiyama, A. and Yamafuji, K. (1992c). Development and Motion <strong>Control</strong>of the All-Direction Steering-Type Mobile <strong>Robot</strong> (3rd Report, Principle,<strong>Control</strong> Methods and Experiments on Steering of the <strong>Robot</strong>). Transactions ofthe Japan Society of Mechanical Engineers. C (Japanese), 58(548):11461153.Laplante, J.F. (2004). Etude de la Dynamique D'un <strong>Robot</strong> Spherique et deson eet sur L'attention et la Mobilite de Jeunes Enfants. (French).Michaud, F. and Caron, S. (2000). Roball - An autonomous toy-rollingrobot. Proceedings of the Workshop on Interactive <strong>Robot</strong> Entertainment.Nakamura, T. (2002). Hikaru HALO, SONY ga kyuugata no robottoQTARO wo kaihatu. IT media news (Japanese).URL: http://www.itmedia.co.jp/news/0203/27/qtaro.htmlSpitzmueller, S. (1998). Mircocontroller Based <strong>Control</strong> <strong>System</strong> <strong>for</strong> a RollingMinirobot. Master's thesis, Helsinki University of Technology.Sugiyama, Y., Shiotsu, A., Yamanaka, M., and Hirai, S. (2005). Circular/<strong>Spherical</strong><strong>Robot</strong>s <strong>for</strong> Crawling and Jumping. <strong>Robot</strong>ics and Automation,2005. Proceedings of the 2005 IEEE International Conference on, pages 35953600.Tsai, S., Ferreira, E., and Paredis, C. (1999). <strong>Control</strong> of the Gyrover.A single-wheel gyroscopically stabilizedrobot. Intelligent <strong>Robot</strong>s and <strong>System</strong>s,1999. IROS'99. Proceedings. 1999 IEEE/RSJ International Conference on, 1.Ylikorpi, T. (2005). A Biologically inspired rolling robot <strong>for</strong> planetary surfaceexploration. Degree of licentiate of technology, Helsinki University ofTechnology, Department of Automation and <strong>System</strong>s Technology, AutomationTechnology Laboratory.


70 REFERENCESYoung, K. (2006). <strong>Spherical</strong> micro-robots could explore Mars. NewScientist.comnews service.URL: http://space.newscientist.com/article/dn9610-spherical-microrobotscould-explore-mars.html


Appendix AMain Board DescriptionP221Battery x 6P3P6321Servo1P721321Servo2GNDBattery x 4P8654321S1Header 6SW3GNDS2SW2GNDGNDGNDPWM1PWM2Tachomater 5VTachomater SignalTachomater GNDGNDBAT4BAT41CAP110uFR2Res11KVCCGNDDIRENPWM3DGIC1VinGND2GNDGNDS6SW1GNDTS2940CZ-5.0 VCC3VoutD2LED1VCCBAT4PWM1PWM2PWM3R3Res11KVCC1234567891011121314151617181920212223242526272829303132D3LED1CAP210uFBluetooth SerialP10VCC6967686665NCRXDTXDNCGND/PENRXD0TXD0PE2PE3PE4PE5INT6PE7/SSSCKMOSIMISOPB4PB5PB6PB7PG3PG4RESETVCCGNDXTAL2XTAL1SCL PD0SDA PD1RXD1TXD1IC1 PD4XCK1 PD5T1 PD6T2 PD7123707172VBUSD-D+AVCCGNDAREFPF0 ADC0PF1 ADC1PF2 ADC2PF3 ADC3PF4 ADC4PF5 ADC5PF6 ADC6PF7 ADC7GNDVCCPA0PA1PA2PA3PA4PA5PA6PA7PG2PC7PC6PC5PC4PC3PC2PC1PC0 A8PG1 /RDPG0 /WRRSTGND7473GNDP1GND646362616059585756555453525150494847464544434241403938373635343312VCCBluetooth Power*1crumbDOUTDINCLKCSBGNDACCELERO_XACCELERO_YACCELERO_ZGYRO_XDGDIRENFigure A.1: Circuit design of the main boardGNDP9654321CompassVCCGNDS4F7S5VCCRESETVCCGNDGNDDOUTDINCLKCSBP412345AccelerometerP5123GYROGND


72 A Main Board DescriptionFigure A.2: Main Board Layout


A Main Board Description 73Component Name DescriptionLocationAVRCrumb128 Main uchip4.7uF Capacitor (electrolytic) CAP10.01uF(103) Capacitor (ceramic) CAP2LED Servomotor ON/OFF indicator D2LED Main board ON/OFF indicator D3L7805CV 5.0V Regulator IC12-pin connector 5.0V <strong>for</strong> Bluetooth Adapter P12-pin connector Input Power Supply 7.2V P22-pin connector Input Power Supply 4.8V P35-pin connector For Accelerometer P43-pin connector For Gyroscope P53-pin connector For Servomotor1 P63-pin connector For Servomotor2 P76-pin connector For Motor <strong>Control</strong>ler P86-pin connector For Magnetic Compass P93-pin connector For Bluetooth-Serial Adapter P10300 Resistor (metal-lm) R2300 Resistor (metal-lm) R36-leg mini-switch 7.2V supply -> main board on/o S16-leg mini-switch Servomotor on/o S2Push-switch not in use S4Push-switch For reset S56-leg mini-switch 5V from motor controller => main board on/o S6Table A.1: Component location on the main board


74 A Main Board DescriptionProduct Name Manufacturer Vender Address of Vender Qty. CostWireless Bluetooth-Serial Adapter IOGEAR eXpansys 72.38 EURMotors DC Motor RS540SH Mabuchi (Japan) Tsukumo Tokyo, Japan 1 1280 JPYBMS660MG-HS Servo Motor Bluebird (Taiwan) <strong>Robot</strong> Factory Osaka, Japan 2 8970 JPYSensors Gyroscope Sensor KRG-3 (1 axis) Kondo (Japan) Tsukumo Tokyo, Japan 1 5250 JPY3-axis accelerometer KXM52-1050 Akizuki Tokyo, Japan 1 800 JPYHitachi HM55B Compass Module Parallex inc. ELFA 1 27 EURPhoto Coupler (<strong>for</strong> tachometer) 1Battery LSD-Ni-MH AA Batteries Sanyo (Japan) Edion Mie, Japan 16 8370 JPYMain AVR Crumb board CAN Chip45 1 39 EURBoard AVR Crumb board connector Chip45 1 2.47 EURConnectors Nishikawa Nishikawa Tokyo, Japan 10 120 JPY6-leg switch Akizuki Tokyo, Japan 3 100 JPYPush-switch 2LED 2Resister 2Capacitor 25V Regulator L7805CV 1Table A.2: Component list


A Main Board Description 75Software PurposeSoftware development Microsoft Visual C# 2008 Express Edition Ground station software developmentMicrosoft DirectX SDK (November, 2007) Joystick implementationCodeVisionAVR (Ver. 1.24) On board software developmentAnalysis Mathematica 5 Dynamics modeling and analysisMatlab R2007a & Simulink <strong>Control</strong> system designing and evaluationElectronics Altium Designer 6 Mainboard circuit and trax designingIVT BlueSoleil 6 Bluetooth connection softwareThesis writing MiKTeX 2.7 Latex compilerTeXnicCenter 1 Beta 7.01 Latex editordviout <strong>for</strong> Windows 3.08.2 DVI viewerJabRef 2.3.1 Reference managementTable A.3: Software list


76 A Main Board DescriptionFigure A.3: Circuit design of the motor controller


A Main Board Description 77Figure A.4: Motor controller trax layoutFigure A.5: Motor controller assembly drawing


Appendix BBattery ChargingThe charging procedure of the Ni-MH batteries used <strong>for</strong> the prototype robot is assimple as that of traditional Ni-MH batteries. Simply use the proprietary chargerto charge the battery. The low self-discharge characteristics ease the chargingmanagement as follows:• Charging after a slight discharge is possible without worrying about the memoryeect.• Long-term intermittent operation is possible without worrying about selfdischarge.(Manufacturers claim that the batteries retain more than 85% oftheir capacity even one year after charging.)Figure B.1: SANYO Eneloop and its propriety charger


Appendix CPrototype <strong>Robot</strong> OperationThis user instruction explains how to operate the prototype robot with the softwareMarsBall<strong>Control</strong>ler, which was developed <strong>for</strong> the prototype robot operation. Herein this instruction, the prototype robot is referred as the Mars Ball.C.1 IntroductionC.1.1 Denition, Benets, and Purpose of the ProcedureMarsBall<strong>Control</strong>ler is student-made software <strong>for</strong> controlling the spherical robotcalled Mars Ball, which is under development at the Automation and <strong>System</strong>sTechnology Department at TKK. The MarsBall is a new type of robot speciallydesigned <strong>for</strong> Mars exploration.MarsBall<strong>Control</strong>ler enables the users to (1) control the MarsBall (driving andsteering), (2) acquire data from the sensors installed on the MarsBall.This procedure explains how to control MarsBall and acquire data from it usingthe MarsBall<strong>Control</strong>ler.


80 C Prototype <strong>Robot</strong> OperationC.1.2 Intended AudienceThese instructions are written <strong>for</strong> students and researchers who want to use theMarsBall <strong>for</strong> their research or study in order to understand how they should usethe MarsBall through the MarsBall<strong>Control</strong>ler.C.1.3 Prior Knowledge and Skills Needed by the AudienceTo use the MarsBall<strong>Control</strong>ler, you should already have some experience using thefollowing:• Bluetooth Management Software• Windows OS (e.g., Click, Close, Double Click, Drag)C.1.4 Brief Overall Description of the ProcedureTo control the MarsBall robot, rst you have to switch it on and connect yourcomputer and MarsBall via Bluetooth wireless technology. In the second step,you have to start the MarsBall<strong>Control</strong>ler software and connect it to the MarsBallthrough the Bluetooth connection established in the rst step. In the third step,you can send commands to MarsBall to start, drive, acquire data, and stop. Finally,you need to close the connection and switch o the robot.C.1.5 Materials, Equipment, and Special ConditionsBe<strong>for</strong>e you start controlling MarsBall, be sure you have the following items:• MarsBall robot itself• A windows computer equipped with Bluetooth wireless technology• MarsBall<strong>Control</strong>ler software (MarsBall<strong>Control</strong>ler.exe le)


C Prototype <strong>Robot</strong> Operation 81C.1.6 Working DenitionsMarsBall: A ball-shaped robot designed at the Automation and <strong>System</strong>s Departmentat the Helsinki University of Technology <strong>for</strong> exploring the surfaceof MarsMarsBall<strong>Control</strong>ler: Software <strong>for</strong> controlling and acquiring data from the Mars-BallBluetooth Wireless Technology: A specication <strong>for</strong> short-range radio links betweenmobile computers, mobile phones, digital cameras, and other portabledevicesC.1.7 Warnings, Cautions, Dangers• If you cannot connect the MarsBall with the Bluetooth wireless technology,uncoupling of the Bluetooth adapters might be needed be<strong>for</strong>e connection.Consult the instructions <strong>for</strong> your Bluetooth system , and try uncouplingyour Bluetooth adapter rst.• To save the battery, be sure to switch o the robot after operation.• Do not hit the MarsBall against walls. Do not operate MarsBall in crowdedareas. Do not drop MarsBall, since the plastic outer body is fragile.C.1.8 List of Major Procedures1. Switching on MarsBall2. Starting the MarsBall<strong>Control</strong>ler3. Connecting to MarsBall from your system4. <strong>Control</strong>ling MarsBall with MarsBall<strong>Control</strong>ler5. Data Acquisition6. Terminating <strong>Control</strong> of MarsBall7. Disconnecting MarsBall


82 C Prototype <strong>Robot</strong> Operation8. Shutting down MarsBallC.2 Required StepsC.2.1 Switching on MarsBall1, Turn on the main switch on the side of the robot. A green light will appear onthe electric main board.C.2.2 Starting MarsBall<strong>Control</strong>ler2, Simply double click "MarsBall<strong>Control</strong>ler.exe" on your Windows computer. Anew window titled MarsBall<strong>Control</strong>ler appears. Now you have successfully startedMarsBall<strong>Control</strong>ler.Figure C.1: MarsBall<strong>Control</strong>ler IconC.2.3 Connecting to MarsBall from your computerYou can connect to the MarsBall wirelessly using the Bluetooth wireless technology.3, Run the Bluetooth management software on your Windows computer4, Search <strong>for</strong> Bluetooth devices with the software. A Bluetooth device namedMarsBall should appear.5, Connect the Bluetooth device to the MarsBall using the Bluetooth managementsoftware. After successful connection, check the COM number <strong>for</strong> the Bluetoothconnection. Now the connection between MarsBall and your system has beenestablished.


C Prototype <strong>Robot</strong> Operation 83Figure C.2: MarsBall<strong>Control</strong>ler windowC.2.4 <strong>Control</strong>ling the MarsBall with the MarsBall<strong>Control</strong>lerYou can connect to the MarsBall using the connection established by the Bluetoothwireless technology mentioned above.6, In the Communication groupbox, choose the COM port number that you justconnected to via Bluetooth from the "COM port" Listbox.7, In the Communication groupbox, click Connect. The textbox below the COMport Listbox turns green once you have successfully established a connection.


84 C Prototype <strong>Robot</strong> OperationFigure C.3: Communication Groupbox (Choose COM port and click Connect)Figure C.4: Communication Groupbox after successful connection with the greentextboxC.2.5 Connecting the Joystick (Option)The MarsBall<strong>Control</strong>ler is compatible with any USB Joystick or equivalent devices,such as a gamepad.8, If you want to use a Joystick <strong>for</strong> controlling the MarsBall, connect the USB-Joystick device to any of your USB ports.9, In the Joystick groupbox, click Connect. Upon successful detection and connectionto the Joystick, the textbox below the Connect button will turn green.Figure C.5: Joystick Groupbox


C Prototype <strong>Robot</strong> Operation 85C.2.6 <strong>Control</strong>ling MarsBallYou can control MarsBall either with the two Trackbars, one <strong>for</strong> driving <strong>for</strong>ward/backwardand the other is <strong>for</strong> steering, on the MarsBall<strong>Control</strong>ler windowsor with a Joystick if you have connected one.10, In the <strong>Control</strong> groupbox, click Start. This sends a command <strong>for</strong> starting Mars-Ball. Once the controls become activated, the textbox in the top right corner ofthe group box turns green.11, For controlling the speed of MarsBall, drag the tick in the Driving Trackbarleft/right. The right side is <strong>for</strong> driving <strong>for</strong>ward, and the left side is <strong>for</strong> movingbackward. You can also control the speed and direction using a Joystick.12, For controlling the steering of MarsBall, drag the tick in the Steering Trackbarleft/right. The right side is <strong>for</strong> steering right, the left side is <strong>for</strong> steering left. Youcan also control the steering using a Joystick.Figure C.6: <strong>Control</strong> Groupbox (Click Start rst, then drag ticks in the trackbars)(Leftside: be<strong>for</strong>e start controlling, Right side: after start controllingC.2.7 Data AcquisitionThe four graphs at the bottom half of the MarsBall<strong>Control</strong>ler show the followingdata in the time domain.(From above)• Input Speed and Steering Level Blue Line: Speed input by the user


86 C Prototype <strong>Robot</strong> Operation Green Line: Steering angle input by the user• Acceleration (triaxis) measured by the onboard accelerometer• Angular rate measured by the onboard gyroscope• Motor speed measured by the onboard tachometerFigure C.7: Acquired data in graphsThe two rather large textboxs at the top-right of the MarsBall<strong>Control</strong>ler show thetransmitted/received data.• The "Received Data Textbox" (left side) shows data sent from MarsBall toyour computer in binary <strong>for</strong>mat. (Note: not in ASCII <strong>for</strong>mat) The dataincludes measurements by the onboard sensors.• The "Command Textbox" (right side) shows data sent from your computer toMarsBall in binary <strong>for</strong>mat. (Note; not in ASCII <strong>for</strong>mat) The data includescommands to MarsBall, comprising the input speed and steering.


C Prototype <strong>Robot</strong> Operation 87Figure C.8: Received Data and Transmitted CommandC.2.8 Terminating <strong>Control</strong> of MarsBall13, Simply click Disconnect in the <strong>Control</strong> groupbox to terminate controlling. TheMarsBall should stop moving within one second. The textbox in the top rightcorner of the groupbox turns red.Figure C.9: <strong>Control</strong> Groupbox (Click "Stop" to stop operation of MarsBall)(Left:be<strong>for</strong>e stop controlling, Right: after stop controllingC.2.9 Disconnecting MarsBall14, Simply click Disconnect to close the COM port.C.2.10 Shutting down the MarsBall15, Turn o the main switch of MarsBall. Otherwise, the battery will soon bedischarged. The LED on the main board should turn o now.


88 C Prototype <strong>Robot</strong> OperationFigure C.10: Communication Groupbox (Click Disconnect to disconnect and closethe COM port)(Left: be<strong>for</strong>e disconnection, Right: after disconnetion


Appendix DDiscussion about Rotational RadiusSections 3.2.2 and 3.2.3 assume that the robot follows the circumference where thecenter point is the intersection of the oor and the line of the rotating shaft of therobot. This assumption can be written mathematically as:ρ tan θ = r(D.1)where ρ is the rotational radius of the traveling robot, θ is the steering angle of therobot, and r is the radius of the spherical robot. This assumption is theoreticallyproven in this appendix. Figure D.1: <strong>Spherical</strong> robot (left), closeup of between the robot and the surface(middle), ground track of the robot(right)First, it is assumed that the tiny line element AB is touching the surface that is


90 D Discussion about Rotational Radiusdriven over by the robot. (on the leftside of Figure D.1) Let θ be the steering angleof the robot, δ be the length of the element AB, r be the radius of the ball, and φbe the rotating angle of the ball.Then, the distance from point A to the main shaft is r cos θ, and the distance frompoint B is r cos θ − δ sin θ.The rightside of Figure D.1 shows the ground track of the point A and B. The pathlength of point A and B are:A 0 A 1 = φr cos θ (D.2)B 0 B 1 = φ(r cos θ − δ sin θ) (D.3)The following equations can be obtained regarding the angle ∠A 0 CA 1 :∠A 0 CA 1 ===φr cos θρ(D.4)φ(r cos θ − δ sin θ)ρ − δ(D.5)φ(δ sin θ)= φ sin θδ(D.6)where ρ is the rotational radius of the ground track. (on the rightside of FigureD.1) There<strong>for</strong>e, the rotational radius can be written as:r = ρ tan θ(D.7)This equation proves that the assumption made in the steering motion analysiscorrect.


Appendix EFriction EvaluationThis appendix shows that the friction between the prototype robot and the surfaceoor driven on avoids slippage of the robot. This no-slippage condition is assumedthroughout this study.E.1 Static friction coecientThe website (http://www.pk-shibuya.school-info.jp/fg-slope/RollingScience) showsseveral friction coecients between plastic and other materials as shown in tableE.1.Material 1 Material 2 Friction coecientplastic wooden oor 0.57plastic rubber 1.72plastic cork 2.3plastic steel 0.38Table E.1: Friction coecients (static)Although the material of the surface oor driven on by the robot is not xed, it isassumed that the friction coecient is more than 0.3 in this study, which is belowthe smallest value in the table.


92 E Friction EvaluationE.2 Friction <strong>for</strong> drivingThe friction coecient of 0.3 allows the acceleration of maximum 9.8(m/s 2 )×0.3 =2.94(m/s 2 ) <strong>for</strong> the robot on a horizontal surface. This value can be interpreted as2.94(m/s 2 )/0.226(m) = 13.0(/s 2 ) of rotation acceleration a 2 = ˙The simulation shown in Figure E.1 revealed that the rotation reaches accelerationof only 2.5(/s 2 ) at most, which is far below the possible maximum acceleration of13.0(/s 2 ). This fact means that the robot has no slippage in its driving motion.ω 2 . Figure E.1: Simulation model <strong>for</strong> determining rotation acceleration of the robotE.3 Friction <strong>for</strong> steeringUsing the equations (3.15) to (3.18), (3.25),(3.26), and (3.33), the friction <strong>for</strong>ceneeded can be numerically calculated as shown in the following gure.Figure E.2: Friction <strong>for</strong>ce needed <strong>for</strong> steeringThe maximum friction <strong>for</strong>ce needed is less then 3N <strong>for</strong> the range of ω < 4π(radians/s)


E Friction Evaluation 93(rotation speed of the ball) and 0 < γ < 30(degrees) (steering angle of the pendulum).This friction <strong>for</strong>ce is far less than the possible maximums static friction, which is:(worstfrictioncoefficient) × (M 1 + M 2 )= 0.3 × 5.089(kg)= 1.53(kgf) = 15.0(N) (E.1)meaning that the robot can steer without slippage.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!