. .. . ., . Lasvi .3 . a . $3.9m: Mara“: .:.._“?.2wn r... ._ . :15»; f in. .3. ,. _ ;. mm»... s 5 aw: 4 . ‘ . . {awn}. . . fig “Lava? .l 3.05 nfi in n a)". 3. % Imam.» 3.13%.”. . w: = s i. a... .Y. x..‘...11.s...., 4.. tmwmw‘fi i gkuwwwf ”firbma, fisfidflfifig 2. .n .53..“ $5. . 3.12.3.115 . .51... uuurufisrfu‘fl. . a5 5 ‘ .x. 2;. s. .314.“ n .. (a. r ,4 a.» f u I :3 .finfurz‘ igtiz n. ‘5‘? . 917% $9.7 5 l V «\I _ (- 33%|)? .51".- v V .9 _. In .11: V .24. £1.33; V:3I.v a). a t ‘ :4 , v.3.lmoh.§oms¢1 r . “nanny... 154' E.» "n. rlIrCMJ-l» '1:. Li “ 1"“ PI. .7 ,1. 1‘1 :ill A.\c. Ii . ‘Fszs ‘\ O 92 This is to certify that the dissertation entitled DEVELOPMENT OF MINIATURE CLIMBING ROBOTS - MODELING, CONTROL AND MOTION PLANNING presented by JIZHONG XIAO has been accepted towards fulfillment of the requirements for PHD degreein ELECTRICAL ENGINEERING Major professor Date 7/30/02 MS U is an Affirmative Action/Equal Opportunity Institution 0-12771 LIBRARY Michigan State University PLACE IN RETURN BOX to remove this checkout from your record. To AVOID FINES return on or before date due. MAY BE RECALLED with earlier due date if requested. DATE‘alfiug :. :5 DATE DUE DATE DUE p “ he; jb ' |NI'a-o ' - _ h. ‘ Lilly 0 (,‘p ‘45 6/01 c:/CIRC/DateDuap65-p. 15 DEVELOPMENT OF MINIATURE CLIMBING ROBOTS — MODELING, CONTROL AND MOTION PLANNING By J IZHONG XIAO A DISSERTATION Submitted to Michigan State University in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING 2002 ABSTRACT Development of Miniature Climbing Robots —Mode1ing, Control and Motion Planning By J izhong Xiao An increasing interest in the development of special climbing robots has been witnessed in the last decade. Cleaning high-rise buildings, spray painting and sand blasting of gas tanks, inspecting and maintaining nuclear facilities, assisting fire fight- ing and rescue operations, remote monitoring of hazardous environment, etc. — all of these practical problems have an immediate need of automation. Climbing robots, with their ability to adhere to wall surfaces and move around carrying appropriate sensors or tools, are the best candidates for these kinds of jobs. The special character- istics and capabilities of climbing robots would not only allow them to replace human workers in these dangerous duties but also eliminate costly erection of scaffolding. This dissertation describes the development of miniature bipedal climbing robots, with an emphasis on the CRAWLER robot. This robot is the smallest such robot to date, able to climb walls, walk on ceilings, travel through pipes, and transit be- tween two inclined surfaces. Two active suction feet, where pump motors vacuum air out of suction cups, are used to support the robot on surfaces. The robot adopts the bipedal structure and an under-actuated mechanism to provide the robot with . versatile mobility and multiple locomotion modes. The under-actuated mechanism reduces the number of motors required and thereby the robot size, weight, and power consumption, but it imposes challenges on robot control and motion planning. The robot kinematic model and dynamic model are derived. The analysis of the dynamic model reveals that the robot link gravity is a dominant term in robot dy- namic effects. A joint level PD (proportional + derivative) control plus feedforward gravity compensation method is proposed. This method outperforms the conven- tional PD control method because it not only achieves the joint level control but also compensates for the gravity effects which depend on the configuration of all the robot links. A DSP-based embedded control system is designed and installed on-board to control the robot. By using the DSP (digital signal processor) chip, the number of electrical components is minimized and the control system is self-contained. In motion planning analysis, a hybrid configuration space concept is proposed which incorporates the continuous configuration space with the discrete motion sta- tus space (i.e., standing foot, motion mode). The hybrid configuration space is an effective tool to analyze the motion planning of the climbing robot since the robot motion is uniquely determined in the hybrid configuration space framework. Based on motion pattern analysis, a motion planning method is developed that consists of a global planner and a local planner. The global planner generates a possible path by simplifying the robot as a rectangular rigid object with no kinematic constraints. By using an approach called trapezoidal decomposition and a searching algorithm known as A‘, it is easy for the global planner to smooth the possible path and allow the robot to move effectively in translation mode. The possible path describes the global motion of the robot and minimizes the turns. The purpose of the local planner is to generate a feasible motion sequence around the turning point by considering the robot constraints. A cost function is defined based on the motion status information and a number of heuristics to help the search of an optimal motion sequence. This approach using global and local levels of refinement reduces the overall complexity and simpli- fies implementation. Experiments and simulations demonstrate the effectiveness of our robot system. Copyright by@ Jizhong Xiao 2002 To my parents, my wife—Jing Ye, and my son—Bowen Xiao. ACKNOWLEDGMENTS I would like to express my sincere gratitude to my advisor, Dr. N ing Xi, for his insightful guidance, enthusiastic encouragement and kind support during the research and the development of this dissertation. Without his assistance and advice, this research would not be possible. I would like to thank Dr. R. Lal Thmmala, who is the principal investigator of the micro-robot project, for his supervision, and helpful feedback and suggestions after reading many of my papers. I am very grateful to other guidance committee members: Dr. Fathi Salam, and Dr. Gang Bao. Their insightful comments and suggestions will enhance the technical soundness of this dissertation. I also would like to thank Dr. Zengyu Yu from Texas Instruments Inc. for his valuable help on the TI DSP implementation. Special thanks are dedicated to Dr. Hans Dulimarta for his help on the software coding and the collaborative contributions to the work on motion planning. I am grateful to other members of the micro-robot project and the colleagues from Robotics and Automation Lab at Michigan State University. The discussions with Mark Minor, Meng Yue, Jindong Tan, Weihua Sheng, Yu Sun, Heping Chen, Amit Goradia, and Imad Elhajj, substantially contributed to my work and broadened my knowledge. I also would like to thank the facilitators of the NSC84O writing course, Dr. Renat Snider, Dr. Ruth Barton, Dr. James Rash, and Dr. Timothy Grotjohn, for their great help in polishing my papers and dissertation. I am greatly indebted to my parents for their continuous encouragement and support throughout my academic life. Thanks also go to my wife, Jing Ye, for her patience, understanding and support during my time in graduate school. vi TABLE OF CONTENTS 1 INTRODUCTION 1 1.1 Background ................................ 1 1.2 Literature Review ............................. 2 1.2.1 Climbing Robots in Literatures ................. 2 1.2.2 Overview of Robot Motion Planning .............. 5 1.3 Our Climbing Robots ........................... 8 1.4 Challengas and Difficulties ........................ 11 1.5 Outline of the Dissertation ........................ 12 2 MODELING OF THE CRAWLER ROBOT 14 2.1 Mechanical Structure ........................... 14 2.1.1 Description of Mechanism .................... 14 2.1.2 Locomotion Modes ........................ 16 2.1.3 Robot Foot ............................ 18 2.2 Kinematic Model ............................. 21 2.2.1 Coordinate Assignment ...................... 22 2.2.2 Forward Kinematics ....................... 25 2.2.3 Inverse Kinematics ........................ 31 2.2.4 Eulerian Jacobian ......................... 34 2.2.5 Simulation ............................. 36 2.3 Locomotion Analysis ........................... 37 2.4 Dynamic Model .............................. 42 2.4.1 Lagrange-Euler Method ..................... 43 2.4.2 Derivation of the Dynamic Model ................ 49 2.5 Summary ................................. 60 vii 3 EMBEDDED CONTROL SYSTEM DESIGN 61 3.1 Control System Overview ........................ 61 3.1.1 Actuators and Sensors ...................... 61 3.1.2 Control System Structure .................... 62 3.2 Hardware Design ............................. 65 3.2.1 TMS32OLF2407 DSP Overview ................. 65 3.2.2 DSP Implementation of the Controller ............. 68 3.3 Control Strategy ............................. 70 3.3.1 Motor Dynamics ......................... 70 3.3.2 Control Algorithm ........................ 73 3.4 Software Development .......................... 79 3.4.1 Software Modules ......................... 79 3.4.2 Encoder Feedback ......................... 81 3.4.3 Servo Control Module ................. - ..... 82 3.5 Experiments ................................ 84 3.6 Summary ................................. 85 4 MOTION PLANNING OF THE CRAWLER ROBOT 88 4.1 Preliminaries ............................... 89 4.1.1 Configuration Space ....................... 90 4.1.2 Exact Cell Decomposition .................... 95 4.1.3 A‘ Algorithm ........................... 97 4.2 Motion Planning Analysis ........................ 98 4.2.1 Motion Status Space ....................... 99 4.2.2 Motion Pattern Analysis ..................... 100 4.2.3 Hybrid Configuration Space ................... 106 4.3 Motion Planning Algorithm ....................... 107 4.3.1 Problem formulation ....................... 107 viii 4.3.2 Global Planner .......................... 108 4.3.3 Local Planner ........................... 109 4.3.4 Cost Function ........................... 111 4.4 Performance Evaluation ......................... 113 4.4.1 Simulation ............................. 113 4.4.2 Experiment ............................ 115 4.5 Summary ................................. 116 CONCLUDING REMARKS 118 5.1 Conclusion ................................. 118 5.2 Future Work ................................ 119 ix 2.1 2.2 2.3 3.1 3.2 4.1 LIST OF TABLES Suction cup test results .......................... 20 Link coordinate parameters: LFS.translation mode .......... 24 Link coordinate parameters: LFSspin mode .............. 24 Actuators and sensors used in the CRAWLER robot ......... 63 Motor parameters: escap 17S78-208P from API-Portescap ...... 73 Motion status fields ............................ 99 1.1 1.2 1.3 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14 2.15 2.16 2.17 2.18 2.19 3.1 3.2 3.3 LIST OF FIGURES Picture of the FLIPPER robot ...................... Flipping mode of locomotion ....................... Picture of the CRAWLER robot ..................... Exploded view of the CRAWLER robot ................. Exploded view of the CRAWLER rack/ leg pair ............ Locomotion modes of the CRAWLER robot .............. Schematics of the suction foot ...................... Suction foot testing configuration .................... Whereabouts of the CRAWLER robot ................. Coordinate frames: LFS.translation mode ............... Coordinate frames: LFS_spin mode ................... Block diagram of kinematic model simulation ............. Simulation results of robot kinematic model in LFS_spin ....... Simulation results of robot kinematic model in LFS.translation . . Locomotion sequence to accomplish “Move forward” .......... Locomotion sequence to accomplish “Make a left turn” ........ Locomotion sequence to transit from ground to a wall surface CRAWLER robot assembly .......... - ............. Gravity analysis when the CRAWLER robot sticks on a ceiling . . . . Gravity analysis when the CRAWLER robot walks on a floor ..... Gravity analysis when the CRAWLER robot climbs up a wall Gravity analysis when the CRAWLER robot climbs down a wall . . . Sensors at robot foot ........................... Picture of the remote controller ..................... Control system block diagram of the climbing robot .......... xi 9 9 10 15 16 17 19 20 21 24 36 37 37 39 4O 42 50 56 56 57 57 62 63 64 3.4 Functional block diagram of the LF2407 DSP controller ........ 66 3.5 Block diagram of the DSP-based controller ............... 68 3.6 Equivalent circuit of DC servo motor .................. 71 3.7 PD control block diagram ........................ 74 3.8 PD+gravity compensation control block diagram ........... 76 3.9 Encoder pulse and motor direction ................... 81 3.10 Servo control interrupt service routine flowchart ............ 82 3.11 Velocity trajectory of motion profile ................... 83 3.12 Motion profile flowchart ......................... 84 3.13 The CRAWLER robot moving forward on a wall ............ 85 3.14 The CRAWLER robot making turns around a corner ......... 86 3.15 The CRAWLER robot moving between surfaces ............ 87 4.1 C—obstacle in a translational case; B.- is an obstacle, by superimpose the shape of a robot (R) all through the peripheral of the obstacle, the C-obstacle CE,- is constructed. ...................... 94 4.2 C-obstacle in translational and rotational case. B,- is an obstacle, CB,- is a slice corresponding to the Minkowski sum of the obstacle and the robot R whose shape rotates continuously from 9 = 0 to 0 = 360°. The C-obstacle is a 3-D stack of the slices. ............... 94 4.3 Tfapezoidal decomposition method ................... 96 4.4 Motion pattern of the CRAWLER robot in LFS phase ........ 101 4.5 Motion pattern of the CRAWLER robot in RFS phase ........ 102 4.6 Motion pattern of the CRAWLER robot making right turn in LFS phase 104 4.7 Motion pattern of the CRAWLER robot making right turn in RFS phase105 4.8 The CRAWLER robot collides with obstacles ............. 107 4.9 Block diagram of the motion planner .................. 108 4.10 Generated path by the A" algorithm .................. 114 xii 4.11 Smoothed path after removal of sharp turns .............. 115 4.12 Robot navigating in a maze ....................... 116 5.1 Aerodynamic attraction and a prototype wheeled climbing robot . . . 121 xiii CHAPTER 1 INTRODUCTION 1.1 Background Interest in the development of special climbing and walking robots is growing rapidly. To increase the operation efficiency and to protect human health and safety in haz- ardous tasks are the motivations behind the development of climbing robot. Climbing robots with the ability to adhere to wall surfaces and move around carrying appro— ' priate tools are currently being strongly requested by various industries in order to perform dangerous operations such as cleaning of high-rise buildings, spray painting and sand blasting of gas tanks, maintenance of nuclear facilities, aircraft inspection, surveillance in hostile environments, assistance for fire fighting and rescue operations, etc. Such capabilities of climbing robots would not only allow them to replace human workers in those dangerous duties but also eliminate costly scaffolding. By now, applications of climbing robots have been found in many industries. The chemical and nuclear industries are the two primary fields where climbing robots are expected to perform remote inspection and maintenance tasks in highly contaminated areas or radioactive environments. Application examples include: the retrieval of irradiated material samples [20], the inspection of storage tanks [76], the handling and manipulation of nuclear fuel [12] [65], and the dismantling of radioactive facilties by underwater climbing robots [5]. In construction and shipbuilding industries, applications of climbing robots are also apparent. The most relevant examples are the cleaning of windows or walls [76], the painting or sanding of ship hulls, the inspection of the metallic skeletons of bridges [1]. In military applications, climbing robots have been used for the inspection of the exterior of large aircraft [6]. In addition to those areas, other fields have benefited from the development of climbing robots. It has been shown that tiny pipe and duct climbing robots are very useful in weld inspection, leak detection, checking and cleaning of unwanted deposits in gas ducts, and sewage pipes [36], [50], [68, 69], [72]. Low-cost miniature climbing robots, with versatile maneuverability and the ca- pability to operate in areas where access is tight, have drawn much attention from national research agencies. This dissertation is based on the research work of a micro-robot project at Michigan State University funded by DARPA (Defense Ad- vanced Research Project Agency) Distributed Robotics Program. The purpose of the project is to design, build and test prototype micro-robots that incorporate con- trol, sensing and planning to perform different missions. The mission scope includes inspection in constrained environments, such as pipes and ventilation ducts, and gath- ering information about a hostile situation within a building (’Ihmmala et a1) [71]. Thus, the robots must be able to crawl through pipes, travel on surfaces with varying inclinations, such as floors, walls, and ceilings, and be able to traverse between such surfaces. 1.2 Literature Review 1.2.1 Climbing Robots in Literatures A number of climbing robots have been developed in recent years. Motivations are typically inspection or maintenance in dangerous environments like the exteriors of tall buildings, airplanes or ships; or in nuclear facilities or pipelines. One of the most important issues for climbing robots is to design a proper adhesive mechanism to ensure that the robot sticks to wall surfaces reliably. So far, three kinds of adhesive devices have been used: magnetic devices, vacuum suckers and attraction force generators based on aerodynamic principles. Magnetic adhesive devices are the most promising for robots moving around on steel structures. Robots using permanent magnets or electromagnets can be found in [23], [24], [27], [76] for climbing large steel structures and in [36], [68, 69] for the internal inspection of iron pipes. However, their applications are limited to steel walls due to the nature of magnets. In applications for non-ferromagnetic wall surfaces, robots most generally use vacuum suckers to produce the adhesive force. Example of such robots include the Robug [19, 20, 43, 44] at University of Portsmouth, UK, NINJA-1 robot [26, 49] at Tokyo Institute of Technology, Japan, and ROBIN [57] at Vanderbilt University, USA. Besides those robots built in academic institutes, some robots have been put into practical use. For example, MACS robots [6] at the Jet Propulsion Laboratory (J PL) use suction cups for surface adherence when inspecting the exterior of large military aircraft; Robicen robots [12, 65] use pneumatic actuators and suction pads for remote inspection in nuclear power plants; SADIE robots [72] use a sliding frame mechanism and vacuum gripper feet for weld inspection of gas duct internals at nuclear power stations. A wall climbing robot with scanning type suction cups is reported in [77]. An underwater climbing robot with vacuum grippers for contact arc metal drilling and cutting is reported in [5]. Other climbing robots based on pneumatic actuators and vacuum suction cups are reported in [64] and [76]. The great defect of the suction foot is limited locomotion speed, but advantages are apparent and outweigh this drawback. A suction foot is capable of producing a powerful adhesive force and their pneumatic components have an excellent weightzpower ratio. A climbing robot with articulate structure and equipped with suction feet is capable of moving between surfaces by using the degrees of motion freedom of the legs. Apart from the aforementioned adhesive mechanisms, the third choice is to create attraction force based on aerodynamics including the use of propeller [52, 53, 54] and reversedhovercraft technique. In this case, the robot is normally driven by wheels and is suitable to move quickly on the wall surface. But it has two major disadvantages. The first one is that it is difficult to produce a sufficient adhesive force due to the aperture between the robot and the wall. The second is that the transition of robot between surfaces is very difficult if not impossible. Besides the suction mechanism, mechanical structure and mobility are other design factors determined by specific applications. Climbing up large, nearly flat surfaces like ship hulls or reactor tanks or exterior of aircraft will demand simple machines with fewer degrees of freedom in their motion. Wheeled vehicles with vacuum grippers [12] [76] or robots using sliding frame systems [5] [6] may satisfy this requirement. On the other hand, in more complicated tasks where robots are required to transit from a floor to a wall or from a wall to a ceiling, articulated limbed structures with two to eight legs are predominant. Bipedal robots with the ability to move between surfaces include ROSTAM III [7], ROBIN [57], and robots designed by Nishi [51]. As alternatives for increased safety and load capacity, quadruped and more legged robots are adopted. ROBUG II [43] and NINJA-1 [26, 49] are quadruped robots featuring multiple degree-of-freedom (DOF) legs protruding from a central body and carrying suction feet. With even greater complexity and larger size, the robot in [23] has hexapod configuration and the ROBUG III [19, 20] use eight legs to provide increased stability. A spider-like pipe robot is developed in [50]. More limbs typically provide redundant support and often increase load capacity and safety. However, these benefits are achieved at the cost of increased complexity, size and weight. Thus, when compactness and efficiency are critical, as in the case of miniature robots, a structure with minimal weight and complexity is best applied. For these reasons, the biped format is an excellent candidate. Among the three adhesive mech- anisms, each of them has its advantages and disadvantages. The vacuum sucker is the most versatile device and is commonly used in the climbing robot. Our miniature climbing robots adopt suction foot and bipedal articulated structure to achieve good balance between compactness and desired mobility. 1.2.2 Overview of Robot Motion Planning The analysis techniques and algorithms for motion planning have become quite valu- able in many applications such as robotics, virtual reality systems, graphical ani- mation, and computer-aided design. A robot with motion planning ability can au- tonomously determine the detailed motion sequences to accomplish a particular task without collision with obstacles. This relieves the human operators from tediously issuing the detailed commands for the robot. The configuration space concept deveIOped by LozanO-Perez [59], [60], and J .C. Latombe [39], etc, served as a powerful representational tool for both the development and the analysis of motion planning algorithms. In the configuration space fi'amework, it becomes possible to develop algorithms that are generalizable and adaptable to a wide variety of applications. There exists a large number of techniques for solving the basic motion planning problem and they typically follow one of the three approaches: roadmap, cell decomposition and artificial potential field (see Latombe [39] for a complete survey). Cell decomposition methods partition the configuration space into regions within which a collision-free path is easy to determine, and this path can be easily connected to collision-free paths of adjacent regions. A solution to the motion planning problem is determined by searching for a sequence of collision-free cells that initially include the initial configuration and finally includes goal configuration. Approaches to con- figuration space partitioning can be categorized either as exact cell decomposition, in which cells are typically constructed by determining critical sets in an algebraic description of the configuration space [39, 66], or approximate cell decomposition, in which each cell is assumed to be of the same basic shape, and the configuration space is usually decomposed in a hierarchical manner [8, 58]. In a roadmap approach, a one-dimensional network of paths is constructed that preserves the connectivity of the free configuration space. A solution path is con- structed by connecting initial and goal configurations to the roadmap and performing a graph search on the extended roadmap. The visibility graph approach generates a roadmap by connecting certain vertices of the boundary of the free configuration space, and is primarily suitable for two-dimensional, polygonal configuration-space planning problems [17] [21] [61] [63]. The topological retraction Operation has been used in a roadmap generation approach that continuously retracts free configura- tion space onto its generalized Voronoi diagram [56]. Other roadmap methods are described in [13, 14, 15]. In the prior two approaches, a path is constructed by analyzing the global structure of free configuration space; however, in most artificial potential field methods, the robot moves locally according to some forces that are defined as the negative gradient of an artificial potential function. This approach was taken in [37] for real-time collision avoidance. The potential function is typically defined on free configuration space as the sum of an attractive potential that pulls the robot toward the goal, and a repulsive potential that pushes the robot away from obstacles. One of the primary concerns in this approach is the existence of local minima in the potential function. In [30] heuristic search is performed over nominal paths at a global level, and in [9, 10] Brownian motion is combined with motion planning to escape local extrema. In [62] it has been shown that for some problems, a global navigation function can be constructed that ensures the existence of a single minimum that lies at the goal configuration. Approaches to the basic motion planning problem are often evaluated with regard to completeness and computational complexity. An algorithm is considered to be com- plete if it is guaranteed to find a solution path whenever one exists. The exact cell decomposition method is complete, but extremely expensive with doubly-exponential time complexity in the dimension of the configuration space. The best known com- plete method constructs a roadmap through geometric stratifications and has time complexity that is exponential in dimension [14]. Approximate cell decomposition methods usually achieve resolution completeness, which means that the algorithm can dynamically adjust the resolution until a solution is found; however, due to the hierarchical partitioning of n—dimensional cells, the time and space complexity grows quickly with the dimension of the configuration space [39]. Potential field methods are typically far more computationally efficient than the other approaches; however, completeness is usually sacrificed. In recent years, random sampling has emerged as a promising new approach for motion planning. Randomized motion planners are capable of solving complex mo— tion planning problems in high-dimensional spaces. Planners based on random sam- pling are not complete. Some of them satisfy a weaker, but still interesting property called probabilistic completeness: if a path exists, the probability that the planner finds it converges to 1 quickly, as running time increases. Two of the most popu- lar approaches include the probabilistic roadmap (PRM) algorithm [3, 35], and the Rapidly-Exploring Random Tree (RRT) [38, 41] algorithm. Probabilistic roadmap method proceeds in two stages. In the preprocessing stage, it samples collision-free configurations at random and connects them by simple canon- ical paths, thus creating a probabilistic roadmap. In the query stage, it connects the two query configurations to the roadmap and searches the roadmap for a path. The first PRM planners [28, 34, 70] use a straightforward uniform distribution for sampling new configuration, possibly followed by an enhancement step to increase the sampling density in critical regions [34]. Recently a number of other sampling strategies have been developed, including shrinking the obstacles [29], sampling near the free space boundaries [2] or medial axis of the configuration space [73], using “guards” to reject unwanted samples [55]. The “lazy PRM” [11] is the variation of PRM method built with all collision checking postponed until a query is presented. The RRT method starts from a single collision free node and grows out from it in fixed-size randomly directed steps until the unexplored space is filled. RRT is particularly suited for problems that involve differential constraints. Recently, there is a trend to expand configuration space framework to handle more complicated motion planning problems, such as planning under uncertainties, plan- ning with kinematic and dynamic constraints, and multiple robot motion planning, etc. LaValle [40, 42] conducted a systematic research and extended the basic motion planning problem with game theory. He advocated the expansion from configuration space to state space and to broader space — information space to cover general motion strategy problems, involving uncertainty in sensing and control, environment uncer- tainties, and the coordination of multiple robots. Sharma and Sutanto [67] proposed a vision-based motion planning framework in which they unified the configuration space and an image feature space and considered sensors as an integral part of the motion goal. In [39], the dynamic motion planning problem, where the obstacles in the workspace are moving, was studied in configuration-time space. 1.3 Our Climbing Robots We have built two prototype climbing robots. The first generation robot is called “FLIPPER” and its picture is shown in Figure 1.1. The mechanical design of the FLIPPER robot is reported in [45, 46] by Minor, Dulimarta, et a1. Dangi, Starn and Aslam reported the design and testing of the Smart Robotic Foot in [16]. The kinematic model of the FLIPPER is reported by Yue, Minor et al. in [79]. The DSP— based controller design of the FLIPPER robot is reported in [74] by Xiao et a1. When the robot stands vertically, it measures approximately 45mm x 45mm x 248mm and weights 335 grams (11.8 Oz). The FLIPPER is a biped robot with two suction feet located at the robot extrem- ities. The middle joint is of revolute type. The motion of the FLIPPER is achieved by sticking one foot on the surface and “flipping” its body as shown in Figure 1.2. m I! ." U l I. Figure 1.1: Picture of the FLIPPER robot The flipping mode of locomotion requires space twice of the height of the robot leg, and thus it is not suitable when the robot has to travel through confined spaces, such as ventilation ducts. Figure 1.2: Flipping mode of locomotion In response to the requirement of performing missions in a constrained environ- ment, the second generation of the microrobot, “CRAWLER”, has been constructed. The picture of the CRAWLER is shown in Figure 1.3. _1.. Figure 1.3: Picture of the CRAWLER robot The CRAWLER robot achieves linear motion through extension and contraction of the robot legs. It is used to travel through inside pipes. The size and weight of the robot are minimized through under-actuated mechanism, wherein 5 joints are driven by only 3 motors. This special mechanical structure reduces robot size and weight but poses challenges in control and motion planning. The dimension of the robot is approximately 80 mm in height, and 50 mm in width. It weights about 450 grams (15.8 Oz). Our robots are the smallest of the bipedal climbing robots found in the literatures. The next larger climber is Yano’s robot [77], which measures 380mmx 250mmx 170mm and weighs 10 kg. This dissertation will only present the modeling, control and motion planning of the CRAWLER robot. 10 1.4 Challenges and Difficulties To design a miniature robot that can climb walls, walk on ceilings, crawl through pipes, and transit between different inclined surfaces is a challenging task. The re- quirements of small size, light weight and low power consumption must be satisfied. Unlike normal wheeled vehicle robots, climbing robots must have a proper ad- hesive mechanism to ensure that the robots grip wall surfaces firmly and without sacrificing mobility. The desired capabilities of the robot, such as the transition be- tween different surfaces and traveling through pipes, imposes further difficulties on the design and control. To achieve its mission, a robot with multiple forms of loco- motion is imperative. By adopting suction feet, bipedal articulated structure, and an under-actuated mechanism, our climbing robots achieve a good balance between compactness and maneuverability. As a self-contained system, the climbing robot needs to carry its own power source, sensors, control system and associated hardware. Thus minimization of power con- sumption and weight is critical to prolonged operation. The challenges in designing the robot controller are to use as few components as possible and take any measures to reduce power usage. Thus the selection of proper sensors, controller chips, compo- nents and the design of small and efficient electrical circuit becomes very important. By efficiently utilizing the resources of a DSP chip, our embedded control system minimizes the component count, reduces the power consumption, and becomes self- contained and tetherless. From a mechanical design point of view, an under-actuated mechanism reduces both weight and power consumption of a robot, since it requires fewer motors than a conventional robot. However, the under-actuated mechanism increases control com- plexity and imposes challenges in motion planning. In order to generate smooth locomotion, the robot requires a motion controller capable of computing the robot kinematic model in real-time and generating syn- 11 chronized motion control of multiple joints. The effects of gravity on the robot joints change with varying inclinations as the robot moves across different surfaces. This makes gravity compensation much more difficult than for fixed-base robots or mobile robots moving on the ground. We derive the robot kinematic and dynamic models and utilize them to plan the robot motion and propose a PD+gravity compensation method to achieve a good performance. The motion planning of climbing robots with under-actuated mechanism is more complicated than that of wheeled robots. Due to the constraints imposed by the mechanical structure and the under-actuation, the climbing robot can perform only restricted motions even in the absence of obstacles. The coupling between motion joints and the switching between different motion modes further complicate motion planning. We introduce a hybrid configuration space concept and propose an effective motion planning approach to generate a path and a motion sequence allowing the robot to travel through an environment without collision with obstacles. 1.5 Outline of the Dissertation The scope of this dissertation is to investigate the modeling, control and motion planning of the CRAWLER climbing robot. . Chapter 2 describes the modeling of the CRAWLER robot. The mechanical struc- ture and locomotion modes of the robot are introduced first. Then, the robot kine- matic and dynamic models are derived. Locomotion analysis is also presented in this chapter. Chapter 3 discusses the embedded control system design based on a DSP chip. Overview of the control system architecture, the hardware design and software devel- opment are presented. A joint level PD+gravity compensation method is proposed. This control method outperforms the conventional PD controller because it not only achieves joint level control but also compensates for the gravity effects which is de- 12 termined by the configuration of all the robot links. The experimental results are provided with snapshots showing the robot capabilities. Chapter 4 studies the motion planning of the CRAWLER robot. The hybrid configuration space concept is proposed to incorporate the continuous configuration space with discrete motion status (i.e., standing foot, motion mode) imposed by the under-actuated mechanism of the robot. The motion pattern of the CRAWLER robot is analyzed under the hybrid configuration space framework. A motion planning algorithm is develOped which consists of a global planner and a local planner to generate a collision-free path and a feasible motion sequence to travel along the path. A cost function is defined based on the motion status information to guide the search for an optimal path. Simulations and experiments have been conducted and the results verified the efficency of the method. Chapter 5 summarizes the contributions of the research and concludes the disser- tation with recommendations for the improvement of the CRAWLER robot and for future research directions of climbing robots. 13 CHAPTER 2 MODELING OF THE CRAWLER ROBOT In this chapter, the mechanical structure of the CRAWLER robot is introduced, the robot kinematic model and dynamic model are derived, and the locomotion analysis is presented. 2.1 Mechanical Structure The purpose of the climbing robot is semi-autonomous reconnaissance in confined en- vironments. The robot will be deployed on the exterior or interior surfaces of buildings and structures. It will traverse horizontal and vertically inclined surfaces and climb between them in order to provide video surveillance or deliver reconnaissance sensors to specified locations. The robot must be sufficiently small to travel through pipes, ventilation ducts and to avert visual detection. For effective and prolonged opera- tion, the robot needs to be small in size, light in weight, and consume as less power as possible. The CRAWLER robot is designed as a bipedal robot with an under-actuated mechanism to achieve good balance between compactness and maneuverability. The robot is supported by two suction feet which can hold on anticipated smooth and non-porous surfaces. The dimension of the prototype robot is approximately 80 mm in height and 50 mm in width. It weights 450 grams. It has the capability to climb on a wall, walk on a horizontal surface, crawl through pipes, and transit between two inclined surfaces. 2.1.1 Description of Mechanism The mechanical structure of the CRAWLER robot is shown in Figure 1.3. The under-actuated mechanism enables the robot to drive 5 joints using only 3 motors l4 thus reducing both the weight and the power consumption of the robot. Motors 1 and 3 independently drive joints 1 and 5, respectively; thereby adjusting the tilt angle of the suction foot 1 and foot 2 so that the robot can grip the surface firmly. Motor 2 is responsible for controlling joints 2, 3, and 4. Joint 2 and 4 are revolute joints providing steering capability of the feet relative to the legs. Joint 3 represents the prismatic motion of the legs that allows the robot expanding and contracting its legs. The clock-wise (CW) rotation of motor 2 causes contraction, i.e., both legs slide into the robot body; while the counter-clock-wise (CCW) rotation of motor 2 causes expansion, i.e., both legs translate out of the robot body. Figure 2.1: Exploded view of the CRAWLER robot A partially exploded view of the CRAWLER robot is illustrated in Figure 2.1. The robot consists of identical pairs of legs, racks, ankles and suction feet. Motor 2 drives the helical gear, through the drive pinion, making the two racks sliding in opposite directions. The innovation of the design lies in the structure of the rack/ leg pair and the lock-pin cams. Each rack has a log-pin notch (see Figure 2.2). In the normal case, 15 the lock pin passes through a slot on the leg and engages the notch by an elastic plate, resulting in the rack/ leg pair to slide together. When a rack/ leg combination slides in and pulls the lock-pin bearing into the cam slot, the lock-pin cams contained within the upper and lower halves of the body force the bearing to move along the special curve and push the lock pin outside the notch. This disengaging effect separates the leg / rack pair and prevents the leg from moving but allows the rack to continue sliding. The rack then drives the corresponding robot foot to rotate along joint 2 or joint 4. lock-pin and beating—r” lock-pin slot upper plate lock-pin notch \— gearedrack ,... .. “ _/' I ' _ " -1 @ lower plate I ' - " '9 ’/ “I “V" \ Iock-pinbearing ' ' {If/II space! s \\‘ij)/' . . F6 ankle pinion I $9 -—- ankle bracket -—— bevel gear Figure 2.2: Exploded view of the CRAWLER rack/ leg pair 2.1.2 Locomotion Modes The CRAWLER robot has three motion modes and the capability to switch between them. Motor 2 drives a set of joints (joint 2,3,4) but not all of them simultaneously. In each of the three modes, a particular subset of joints is driven and the remaining joints are locked to prevent rotation. Figure 2.3 shows the top-down view of the CRAWLER robot and their locomotion modes. Notice that the legs are essentially 16 identical, with the exception of their lock-pin locations. In the case of leg 1, the pin is adjacent to the ankle and enters its cam slot when both legs are contracted. In the case of leg 2, the lock-pin is mounted at the end opposite from the ankle and it enters its cam slot when both legs are extended. The switching between motion modes is achieved by the engaging/ disengaging of the lock-pin. (a) Translation Mode lock-pins couple both legs with racks Joint 2 lock-pin unlock the Rack 1 from Leg 1 Figure 2.3: Locomotion modes of the CRAWLER robot 0 'h‘anslation Mode: When both the lock-pin bearings are outside the cam, i.e., the legs and their corresponding racks are locked together, joint 2 and 4 are prevented from rotating; thereby the rotation of motor 2 causes translation motion of the legs. A CCW rotation of motor 2 causes the legs to extend while 17 a CW rotation causes them to contract. If the translation motion continues beyond a certain range, both in extension and contraction, one of the lock-pins will enter its cam slot on the body, causing the mode switch from the translation mode to spin-l mode or spin-2 mode. 0 Spin-1 Mode: When lock-pin on leg 1 enters its cam-slot during contraction, it disengages the rack 1 from leg 1 and allows the CW rotation of foot 1 relative to leg 1 about joint 2. Meanwhile, since the lock-pin on leg 2 still couples the leg and rack motion, leg 2 will continue to contract and joint 4 is held fixed. 0 Spin-2 Mode: If the legs of the robot keep extending in translation mode, the lock-pin bearing on leg 2 will enter its cam slot and unlock the rack 2 from leg 2 causing the CCW rotation of foot 2 about joint 4. At mean time, legl/rackl pair continues to extend along joint 3 while joint 2 is held fixed. 2.1.3 Robot Foot The two legs of the robot are supported by the suction feet that provide the robot with the ability to walk on a horizontal surface as well as climb a vertical wall. Unlike the large suction feet reported in [12], [65], where the power and air are supplied externally through a tether, our miniature suction feet are self-contained and tetherless without limitations in motion range [16] (Dangi, Starn and Aslam). The suction foot is shown schematically in Figure 2.4. Its main components are a diaphragm-type vacuum pump, a suction cup, a pressure sensor and a micro machined shape memory alloy valve. The pump is connected to the suction cup through a custom designed aluminum connector. The connector integrates the foot components and serves as a mounting platform for the robot body. The 40 mm diameter suction cup with cleats is used for adherence. The cleats increase the rigidity of the grip and provide a larger contact area to reduce slippage. The pressure sensor monitors the 18 pressure level inside the suction cup to ensure that the foot is firmly attached to the object surface. The foot is released through the actuation of the valve by a signal from the robot controller. Several touch sensors are also attached to the suction cup in different radial directions. This gives information on which part of the suction cup has touched the contact surface and facilitates the robot in adjusting the suction foot orientation. The fully assembled foot measures 40mm x 40mm x 25mm and weighs 35 grams. Motor 0 9 a Pum " w p Connector § 5 O 7 m Micro-valve Figure 2.4: Schematics of the suction foot Comprehensive tests were conducted on different types of surfaces with different cup diameters and the results were reported in [16] by Dangi, Stam and Aslam. The foot was tested in both parallel and perpendicular configurations. In the parallel configuration, as shown in Figure 2.5 (a), the load is applied via a rod at a distance D from the vertical testing surface. In the perpendicular configuration, the load direction was kept perpendicular to the horizontal surface as shown in Figure 2.5 (b). Table 2.1 shows the experimental results of the suction foot with 40 mm diameter cup. Three types of sample surfaces viz. glass, painted steel cabinet, and spray painted plastic, with increasing order of surface roughness, were used for testing. The maximum load value is obtained by gradually increasing the load until the suction foot fails to support it. The surface conditions were alternated between dry and wet. 19 a) Parallel configuration b) Perpendicular configuration Figure 2.5: Suction foot testing configuration The wet condition was simulated by spraying of deionized water from a distance of 150 mm. It can be seen that for the same surface condition (e. g. dry) the load supported decreased with increasing surface roughness. This can be attributed to loss of vacuum with rougher surfaces. It can also be seen that a wet surface supports more weight than a dry surface. A possible explanation for this phenomenon can be that water occupies the gap between the cup and test surface resulting in lower vacuum loss than dry condition. Table 2.1: Suction cup test results Glass Metal Cabinet Painted Plastic Considering the 450 grams self weight of the robot, the extra holding capacity of one foot is in the range of 650-3200 grams, more than enough to carry controller hardware, a 9V battery (40 grams), miniature reconnaissance sensors such as wireless pin-hole camera, micro-phone and transmitters, etc. Figure 2.6 are some snapshots showing where the climbing robot can go in the engineering building at Michigan 20 State University. I- 60an up stalrs Walklng on a celllng Figure 2.6: Whereabouts of the CRAWLER robot 2.2 Kinematic Model In robot systems, the control is realized in the joint space, whereas the task level commands are normally expressed in world coordinate space. For the climbing ro- bot, the reconnaissance camera is mounted at one of its feet to permit the robot to either look through a glass window or to use the camera like a periscope when the 21 alternative foot supports the robot. The tilt angle of the camera is determined by the position/ orientation of the robot’s free foot relative to its standing foot. Thus it is imperative to derive the robot kinematic model which describes the relation between the robot joint variables and the position/ orientation of the robot’s free foot with re- spect to a fixed reference coordinate frame located at the center of standing foot. The kinematic model is also very important in solving the robot motion planning problem. This section derives the kinematic model of the CRAWLER climbing robot. 2.2.1 Coordinate Assignment Because the structure of the CRAWLER robot requires that at least one foot remain in contact with the surface at all times, the setup of the coordinate frames is conducted in the three-dimensional space with respect to right-foot supporting (RFS) phase and left-foot supporting (LFS) phase. In each phase, the robot has two motion modes. One is the translation mode, which means both rack and leg pairs are locked together and thus the middle joint motor 2 drives the two legs sliding in Opposite direction. In this mode, only two rotational joints (J 1 and J5) and the prismatic joint J3 move. The other is spin mode, which occurs when one of the racks is separated from its leg pair, resulting in the corresponding foot spinning while the other leg and rack pair sliding. In spin mode, two rotational joints (J 1, J 5), one spin joint (J2 or J4) and the sliding joint (J3) are involved in the motion. Since the robot is symmetric, we only analyze the kinematics in LFS phase. The kinematic model is the same for both RFS and LFS phases. The assignment of coordinate frames based on Denavit-Hartenberg (D—H) method [18] for LFS_translation mode is shown in Figure 2.7. LFS_translation mode: In LFS.translation mode, the reference frame is at- tached to the left foot which is fixed on the ground surface. The base coordinate frame is at joint 1 with the Z0 axis aligned with .11 rotation axis. The Z1 and Z2 axes are aligned with the sliding motion axis of J3 and the rotary motion axis of J5 22 Luv. ................ X"‘._\ ................ 44 J3 Zl Jslfifl x2 I! 22 M YOII Y1 { x0 .. Y3 .1 I .1 a < 20 ”It 23 Yrefll Xref // Zref Figure 2.7: Coordinate frames: LFS.translation mode respectively. The right foot can move freely with the “end-effector frame” attached at the center of suction cup. The L is the robot height and M is the distance between robot ankle to the leg. The prismatic distance between the centers of the robot feet is denoted as d. The link coordinate parameters in LFS.translation mode is shown in Table 2.2, where a and ,3 and d are joint variables. The four geometric parameters associated with each link in Table 2.2 are defined as follows: 0 I9,- is the joint angle from the X -_1 axis to the X,- axis about the Z -_1 axis (using the right-hand rule). 0 d,- is the distance from the origin of the (i — 1)th coordinate frame to the intersection of the Z.-_1 axis with the X.- axis along the Z -_1 axis. 0 a,- is the offset distance from the intersection of the Z,-1 axis with the X ,- axis to the origin of the ith frame along the X, axis (or the shortest distance between the Zi_1 and Z; 8X68). e a.- is the offset angle from the Z,-_1 axis to the Z, axis about the X,- axis (using the right-hand rule). 23 Table 2.2: Link coordinate parameters: LFS_translation mode Motion Joint 6,- oz, a, d,- J 1 rotate a 90" M 0 J3 translate 180° 90° M d J5 rotate fl 0 L—M O LFSspin mode: The assignment of coordinate frames for LFSspin mode is shown in Figure 2.8. wan-h ............. INK. ................. ,1“. ........................... / d ”fl"; ~-...--------'N2 L w *3 J Z2 .19” 3 J1 M Y0“Z1 "L x3" 23 1 71 X1 Y4 LI, x0 "-21 L x1 J1 a X4 v 24 Yrefll 20 Net // 4.. Figure 2.8: Coordinate frames: LFSspin mode In LFSspin mode, four joints involved in the motion. Those are the rotational joint J1 and J5, prismatic slide motion of J3 and spin motion of J2. Note that Z1 is aligned with the spin motion axis of J 2. The link coordinate parameters in LFS_spin mode is shown in Table 2.3, where a, [3, 71 and d are joint variables. Table 2.3: Link coordinate parameters: LFS_spin mode Motion Joint 9; l a,- [ a,- ] diJ J 1 rotate 0: —90° 0 0 J2 spin 71 90° M J3 translate —90° 90° M d J5 rotate ,6 0 L-M O 24 In LFS_spin mode, the slide motion of joint 3 and the spin motion of joint 2 are coupled, both are driven by the motor 2. The relation is expressed as d = k'yl, where k is a constant. 2.2.2 Forward Kinematics Once the D-H coordinate system has been established for each robot link, a homoge— neous transformation matrix “ 54,- can easily be developed relating the ith coordinate frame to the (i — 1)th coordinate frame as follows: , - cos 6, — cos a,- sin 6,- sin a,- sin 0,- a,~ cos 0,- i_ 1 sin 0,- cos (1,- cos 9, — sin (1,- cos 0,- a,- sin 6,- i (2. 1) 0 sin 0:,- cos a,- d, 0 o 0 1 ] The homogeneous matrix "’7".- which specifies the location of the ith coordinate frame with respect to the reference coordinate system is the chain product of succes- sive coordinate transformation matrices of “54,-, and is expressed as ref]: : "(4094122 . . . “$4, (2.2) The robot kinematic model is expressed by the 4 x 4 homogeneous transformation matrix T='°’T,,, n is the number of robot moving joints. The T matrix has the combined effect of rotation, translation, perspective, and global scaling, and can be 25 expressed as: [- 1 n;- 33: ax p1: T: 77 §' 51: I; = ny 3y 03/ py : R3x3 P3x1 , (2.3) 0 0 O 1 n, 32 a, p, f1x3 1x1 0 0 0 1 where the upper right submatrix P3 x1 represents the end-effector position with re- spect to the reference frame; the upper left submatrix R3x3 is the rotation matrix, representing the orientation of the end-effector frame; the lower left submatrix f1x3 represents perspective transformation which is useful for computer vision. The vector ii is the normal vector which is aligned with the direction of X axis of the end-effector frame and is orthogonal to the suction cup surface. The sliding vector 5' is pointing in the direction of the Y axis of the end-effector frame which aligns with the robot slide motion direction. The approach vector 6 is aligned with the direction of Z of the end-effector. LFS_translation mode: By plugging in the parameter value in Table 2.2 to Equation 2.1, the transformation matrices for adjacent coordinate frames can be derived as follows: 10 D O 010 L—M "£40: (2.4) D 01 D 0 0 0 1 26 cosa 0 sina Mcosa 0 sina 0 —cosa M sina A1: 0 1 O O 0 0 O 1 -1 0 O —M 1 0 O 1 0 A2: 0 1 0 d O 0 O 1 Fcosfl -sinfi O (L—M)cosfi $43: srnfl cosfl O (L—M)smfl 0 0 1 O 0 O O 1 _ .l According to Equation 2.2, the robot kinematics matrix is derived as: nranalation ="f T3 = "540941912343 p I. —cos(a+fl) sin(a+fl) O —(L-M)cos(a+fl)+dsina -sin(a+fl) .—cos(a+5) O —(L—M)[sin(a+fi)—l]—dcosa 0 0 l 0 0 0 0 1 (2.5) (2.6) (2.7) (2.8) d The rotation submatrix R3x3 needs nine elements to completely describe the end- effector orientation of robot. It is necessary to find a convenient expression. A set of Euler angles (11)), (6), (o), are used to describe the orientation with respect to a 27 fixed reference frame. There are many different types of Euler angle representation [18]. Here the roll(Rz,¢), pitch(R,,,9), yaw (Raw) were used to represent the robot orientation. They correspond to the following rotations in sequence: 1. A rotation of 1,!) about the Xref axis (RM/Q. 2. A rotation of 0 about the Yref axis (Ry/,0)- 3. A rotation of o about the Z"; axis (Rm). The resultant composite rotation matrix is: Rae» = R2.¢Rv.9R¢.¢ (29) 005450039 cos¢sin08in¢ — sinrtcosz/J cos¢sin9cosz/J + sinqbsint/J - sin¢cos€ sindsinOsintl) + cos¢costb sin¢sindcosib — cosrtsintb —-sin0 cosdsinzp cosdcoszp b - Comparing this matrix with the rotation submatrix R3,“; in Equation 2.8, we have the following relationship between the joint angle and Euler angle. ¢=0 6:0 ¢=a+fl—n LFSspin mode: By plugging in the parameter value in Table 2.3 to Equation 2.1, the transformation matrices for adjacent coordinate frames in LFS_spin mode can be derived as follows: [- '1 1 0 O 0 0 1 0 L — M ”640 = (2.10) 0 0 1 0 O 0 0 1 28 ‘144 r - cos a O —— sin a 0 0 sin a 0 cos a 0 A1 = 0 —1 0 0 0 0 0 1 cos 71 0 sin 71 0 £42 = sin 71 0 — cos 71 0 O 1 0 M 0 0 0 1 li 0 O —1 O 2 —1 O O -M A3 = O 1 0 d O O O 1 d cosfi —sinfi O (L—M)cosfiq sinfl cosfl O (L—M)sinfl 0 0 l 0 O 0 0 1 (2.11) (2.12) (2.13) (2.14) According to Equation 2.2, the robot kinematics matrix in LFS_spin mode is derived as: Tspin :ref T4 = reMqul l[122}13I344 29 (2.15) sin a cos [3 + cos a sin ,8 sin 71 — sin a sin 6 + cos 0 cos 5 sin '71 — cos 0 cos 71 — cos (1 cos 6 + sin a sin fl sin 71 cos a sin 5 + sin oz cos 6 sin 71 -— sin 01 cos '71 sin fl cos '71 cos ,8 cos '71 sin 71 _ O 0 0 where p, = (L — M)(sinacosfl + cosasinflsin 71) + dcosasinyl 1),, = (L—M)(1—cosacos,3+sinozsinflsin'yl)+dsinasin71 pz = (L—M)sinflcos'71+dcosyl d=k71 It is easy to use Euler angles system I [18] to represent the robot orientation. They correspond to the following sequence of rotations: 1. A rotation of (,6 angle about the Zn, axis (Rm). 2. A rotation of 9 about the rotated Xfief axis (R159). 3. Finally, a rotation of 1]) about the rotated Zia, axis (Egg). The resultant composite rotation matrix is: R¢,0.¢ = R,,¢R,,,9R,,,,, (2-15) cos¢coszp — sinocosdsinI/J —cos¢sinz,b - sin¢cos€cos¢ sin¢sin9 = sin¢cos¢+cos¢cosl9sintb -sin¢sinz/J+cos¢cosl9cosw,b —cos¢sin6 L sin 9 sin a sin 0 cos 1/) cos I9 Comparing this matrix with the rotation submatrix 83x3 in Equation 2.15, we 30 Pa: Py Pz 1 have the following relationship between the joint angle and Euler angle. ¢=a—7r/2 0=7T/2—’71 ¢=fl Thus far, the robot transformation matrix has been deduced for both motion modes. The solution of forward kinematic problem is obtained by evaluating each element in T matrix for a given set of joint variables. The robot orientation can also be ' represented by the Euler angles. 2.2. 3 Inverse Kinematics In this section, the inverse kinematics are studied, i. e., for a given robot position and orientation, derive the corresponding joint variables which can make the robot reach the desired configuration. The solution of inverse kinematics can be obtained in many forms. In the motion planning and control of the robot, the orientation vectors play a critical role. In order to make the suction foot grip the surface firmly, we must ensure that the normal vector it be perpendicular to the contact surface. By specifying the position vector p‘ and the foot normal vector ii, the relation between the suction foot and the contact surface is determined. Therefore, it will bring convenience in the implementation if the solution of inverse kinematics only contains the two vectors it and 15'. Among the possible solutions of robot inverse kinematics, some representation of the solution may be inconsistent and ill-conditioned. For example, the arc cosine function does not behave well since its accuracy in determining the angle is dependent on the angle, i.e., cos0 = cos (—6). In order to evaluate 0 for —7r 3 0 S 1r, an arc tangent function, atan2(y,x), which returns tan-1(y/x) adjusted to the proper 31 quadrant is defined and will be used in the solution of inverse kinematics. 0" S 6 S 90° for + a: and +31 90° S 6 S 180° for — :c and +3] 6 = atan2(y, :17) = —180° S 6 S -90° for - :r and —y —90° S 6 S 0° for + a: and —y (2.17) Inverse kinematics analysis is considered in LFS_translation and LFSspin mode re- spectively. LFS-translation mode: The transformation matrix is rewritten as in the fol- lowing. ] n: 3:: ax P: n s a T = v y y Pu n, s, a, pz 0 0 0 1 —cos(a+6) sin(a+fi) 0 —(L—M)cos(a+)6)+dsina 0 O O 0 1 0 —sin(a+fi) —cos(a+fl) O —(L—M)[sin(a+fl)—l]—dcosa 0 1 b By comparing both sides of this Equation, we have: 2,: __ sin(a + 6) nz - cos(a+fi) = a + B = arctan (ny, nx) . _ __ 3—(L-M)nz d sum — p: - (L - M )m 2) tan“ — -P:+(L—M)(ny+1) dcosa=—py+(L—M)(ny+1) d=‘”‘—“.%E£-% 32 (2.18) (2.19) (2.20) From Equation 2.19 and 2.20, the joint variables are solved using position vector p‘ and the foot normal vector 71': a = atan2 [p1, - (L — M)nx, — py + (L — M)(ny +1)] 2 atan2 [ny, nx] — a (2-21) (1 _ p1—]L-—M)n, sin a LFS.spin mode: By analyzing the Equation 2.15, we have: x: L—Mn,+dcosasin _ __ Pu:(L-M)(1+ny)+dsinasinryl Pz-( — )nz 1:: L-an+dcosasin _ _ P ( ) 71 => tan ’71 = p; L(LMM)n3 (2.23) P: = (L - M)nz + dcos 71 (Pz -( - )nz) cosa n, = sin ficos '71 nz => tanfi = — (2.24) sz = cos ,6 cos 7, 3‘ Fiorn Equations 2.22, 2.23 and 2.24, the joint variables are solved as follows: a = atan2[py -— (L — M)(ny +1), p; — (L —- M)nz] 71 = atan2[px — (L — M)nx, (p, — (L — M)n,,) cos 01] (2.25) = 1‘71 fl = atan2(nz, 3,) So far, the robot inverse kinematics has been derived for both motion modes. The solutions of the inverse kinematics will be used in the implementation of the robot motion controller. 33 2. 2.4 Eulerian Jacobian This section derives the Eulerian Jacobian, which relates the linear velocity and the Euler angular velocities to the joint velocities. By differentiating the Eulerian angle and the position vector p‘ with respect to time t,' the Jacobian matrix is derived as follows. LFS_translation mode: £5? = (L ‘ M)sin(a+6)a+ 2(100806! + (L — M)sin(oz+6)6+ 23inad if} = —(L - M) cos(a + 6)d + 2dsin ad — (L - M) cos(o + )6),6 — Zoos ad(2.26) wz=d+6 In matrix form, we have - r . T 1,: .5. fly = J3x3 d (2°27) L”: . . 6 . p (L-M)sin(a+6)+2dcosa 2sina (L—M)sin(oz+6) J3x3 = —(L - M) cos(a + 6) + 2dsina —2 cosa —(L — M) cos(a + 6) 1 0 1 b andpz=0,wz=0,wy=0. 34 LFS_spin mode: The Jacobian matrix is derived as , a] 15., [a I? = J6,“ 7.1 (2.28) ()5 d . -3 . b 1L d where J[1,1] = (L — M)(cosozc036 — sinasin6sin 71) — dsinasin 'yl J[1,2] = (L-M)cosasinflcosyl+dcosacosyl J [1,3] = cosasin 71 J[1,4] = (L—M)(—sinasin,6+cosacosfisin'yl) J[2, 1] = (L - M)(sinac056 + cosasinfisin '71) + dcosasin '71 J[2,2] = (L—M)sinasin6cosyl+dsinacos'71 J [2, 3] = sinasin 71 J[2,4] = (L— M)(cosasin)6+sinacosfisinyl) J[3, 1] = O J[3,2] = —(L—M)sin,63in'yl—dsin'yl J[3, 3] = cos y, J[3, 4] = (L — M) cos6cos'71) J[4]=[1000] J[5]=[0 —100] J[6]=[0001] 35 2. 2. 5 Simulation Forward kinematics deals with the following question: given the joint variables (rotary or translation) and the geometric link parameters, what is the position and orientation of the robot end-effector. On the other hand, the inverse kinematics addresses the problem: given a desired position and orientation of the end-effector and the robot link parameter, what is the corresponding joint variables which make the robot reach the desired prescribed configuration. Computer simulation is conducted to verify the validity of the robot kinematic model as shown in Figure 2.9. The software initially generates locations in the joint space within the joint variable limits. These joint variables are inputed into the forward kinematic model to obtain the transformation matrix T. The T matrix is then fed into the inverse kinematic model to obtain the joint angle solution which should agree to the desired joints angles previously fed into the direct kinematics routine. , _ Position and orientation Joint V3" ables of end-effector r Forward kinematics = 'l' Tmatn'x Error Inverse kinematics _ Figure 2.9: Block diagram of kinematic model simulation The Tables in Figure 2.10 and 2.11 show some list of the simulation results. Based on the desired joint variables, the forward kinematics calculate the robot position and orientation of its free foot related to the reference frame located at the center of its standing foot. Then for each position and orientation, the inverse kinematics is employed to obtain the corresponding joint variables which lead to that configuration. Due to the mechanical stOp, each joint variable has its motion limits. The simulation 36 is conducted within the following joint variable ranges: 0 S a S 60°; 0 S 71 S 60°, -30° S 6 S 90°. The coupling between spin angle and robot length in LFS_spin mode is expressed as (94 — 0.2 x 71) S d S 94 mm. The limit of translation distance in LFS_translation mode is 94 S d S 140 mm. ] Simulation results of robot kinematic model in LFS_spin mode [13:11:66,061 variable Position Qiqmm’m Inverse kinematics ,(ggree) (mm) (mm) X Y Z (degree) (mm) 01 Y, [3 x y 2 [X052] [X082] [3952] 01’ 7', [3’ d' o 0 o 94.0 94.0 0 o [0,-1,0] [1,0,0] [0,0,1] 0 o o 94.0 0 0 V3 94.0 131.24 21.5 o [0.866,-o.5,o] [0.5,0.866,0] [0,0,1] 0 0 11/3 94.0 o 0 n/Z 94.0 137.0 43.9 0 [1.0.0] [0.1.0] [0.0.1] o o 7r/2 94.0 0 m4 0 93.84 66.36 0 '66-36 [0,4,0] [.707,o,-.707] [.707,0,.707] o n/4 0 93.84 0 «I4 n/6 93.84 81.56 5.76 -81.56 [.3536,-.866,-.3536][.612,.5,-.612][.707,0,.707] 0 71/4 11/6 93.84 W6 0 0 94.0 102.91 52.76 0 [o.5,-0.866,0] [0.866,0.5,0] — [0,0,1] x/6 o o 94.0 hi6 o -1r/6 94.0 31.41 47.0 0 [0,4,0] [1,0,0] [0,0,1] n/6 o —n/6 94.0 PUG 0 m 94.0 124.41 90.0 0 [1,0,0] [0,1,0] [0,0,1] «I6 0 4/3 94.0 h/G «IS an 93.79 6149 57.14 _113.5[.625,-.217,-.75][-.217,.875,-.433][.75,.433,.5] n/6 11/3 m 93.79 [m zI3 110 93.79 34.2 10223 -118. [.65,.125,-.75] [-.625,.65,-.433] [.433,.75,.5]1r/3 71/3 71/2 93.79 Figure 2.10: Simulation results of robot kinematic model in LFS_spin Simulation results of robot kinematic model in LFS_translation mode llDesined joint variable; Position Qicmatlon Inverse kinematics (degree) (mm) (mm) x Y 2 (degree) (mm) a. B d X y 2 [x933 Z] [XQY’ Z] LXDY’ Z] (1’ B ’ d , 0 o 94.0 94.0 o 0 [0.4.0] [1.0.0] [0.0.1] 0 o 94.0 0 0 100.0 100.0 0 0 {0,-1.0} [1,0,0] [0,0,1] 0 0 100.0 It/6 0 100.0 108.1 55.76 0 [03,-0.866,0] [0.866,0.5,0] [0,0,1] n/6 0 100.0 x/6 -n/6 100.0 86.60 50.0 0 [0,4,0] [1,0,0] [0,0,1] n/6 —7t/6 100.0 n/4 n/6 120,0 126.39116.7 o [0.966,-0.259,0][0.259,o.966,o][0,0,1] n/4 x/6 120,0 n/3 n/2 140.0 91.5 201.48 0 [0.5,0.866,0] [-0.866,0.5,0] [0,01] n73 7;;2 140,0 Figure 2.11: Simulation results of robot kinematic model in LFS_translation The simulation results show that the desired joint variables and the calculated joint variables matches well. This verifies the correctness of the robot kinematic model. 37 2.3 Locomotion Analysis In order to generate smooth locomotion, the robot is required to solve the robot kinematics in real-time and generate synchronized motion control of multiple joints. The key point in the motion control is to determine which motion modes should be applied to and combined together to accomplish the task. In order to distinguish between different motion modes, a contact switch is installed on each leg to determine whether the leg and rack are locked together. The contact switches give us the information on motion mode switching so that different kinematic models are used to plan the robot trajectory. For example, in order to accomplish “move forward” walking task, LFS.translation and RFS_translation motion modes get involved. Assuming foot 1 is initially the standing foot, and foot 2 is the front foot, the sequence of the joint motions to accomplish one step of moving forward is illustrated in Figure 2.12. 1. Rotate J1 to lift up the front foot off the ground, and slide J3 in LFS.translation mode to extend the robot by a stride of d. 2. Rotate .11 again in opposite direction to make the front foot touch the ground. 3. After switching the standing foot, rotate J5 to lift up the rear foot off the ground, and slide J3 in RFS.translation mode to contract the robot and bring the rear foot forward by a distance of d. 4. Rotate J5 again to make the rear foot touch the surface. With the completion of this sequence, the standing foot 1 of the robot has moved forward d distance in straight line. Stages 1 is governed by LFS.translation motion mode and stage 3 by RFS.translation motion mode, thus, Equations 2.8 and 2.21 should be used in the trajectory planning and motion control. 38 7 // ///// foot 1 StageO foot 2 (rear foot) (front foot) Intel‘d 66:50 // // Stage 1 ————4 // // ////// Stage 2 contract ////// Stage 3 a: : ///// /7/7/ Stage 4 Figure 2.12: Locomotion sequence to accomplish “Move forward” In order to change the direction of its walk, the robot needs to steer one of its feet. Steering is achieved by performing the following sequence and is illustrated in [III/l l/7777 / a. 2 51/ Amarl‘obom (fronttoot Figure 2.13. cotflac‘ /////7 e‘ as w“? .. I'.-...n‘ ' u f' ..V...-......’- . .4 /////1 / , . / 1 . Figure 2.13: Locomotion sequence to accomplish “Make a left turn” 1. Rotate J 1 to lift up the front foot off the ground, and slide J3 in LFS.translation mode to contract the robot body until the leg1 / rackl pair is separated. 2. Continue to contract in LFS_spin mode causing the robot body to spin around J2 axis. In this case, foot 1 is wound up. 3. After switching the standing foot, rotate J5 to lift up foot 1 off the surface, and slide J3 in opposite direction in RFSspin mode to unwind foot 1 until the leg 40 1 and rack 1 are locked. 4. Rotate J5 again in opposing direction to bring the rear foot in contact with the surface. Step 1 is controlled in LFS-translation motion mode, which is governed by Equa- tion 2.8. Step 2 is controlled in LFS_spin motion mode, which is governed by Equation 2.15. Step 3 is controlled in RF S_spin motion mode. After this motion sequence, the robot has made a left turn and is ready to move along the new direction. In one step, the robot cannot reach arbitrarily desired position with the desired orientation. When the robot cannot post the foot to the desired position, it needs to take several steps and adjusts its standing foot properly. The increased complexity of motion planning is the penalty paid for the under-actuation structure. The robot also has the ability to transit between differently inclined surfaces. Figure 2.14 shows the locomotion sequence when the robot move from a floor to a wall surface. The most important thing the robot needs to do is to locate itself to a proper position in front of the wall and then start to transit. Al ///// \ ///// \ ///// \ toot1 Stage 1 Stage 2 Stage 3 Stage 4 t t t t z A \ \ \ I //////// /77777777777777 /77777777777777 Stage 5 Stage 6 Stage 7 Stage 8 Figure 2.14: Locomotion sequence to transit from ground to a wall surface 41 . The robot walks to the proper location close to a wall with the robot main axis perpendicular to the wall surface. . Rotate J1 to lift up the front foot to its maximum allowed value. . Slide J3 in LFS-translation mode to extend the robot to its maximum length and rotate .15 to align the front foot with the wall surface. . Rotate J1 in opposite direction to put the robot down to the wall surface and adjust J5 until the front foot touch the wall seamlessly. . Release the suction on the rear foot, and make the front foot the standing foot. . Slide J3 in RFS.translation mode until the robot contract to its minimum length, and rotate J1 to adjust the rear foot. . Rotate J5 to bring the rear foot in contact with the wall surface. . Execute the suction of rear foot and then the robot is ready to move around on the wall. 2.4 Dynamic Model The robot dynamic model is a set of mathematical equations describing the dynamic behavior of the robot, i.e., the relationship between the robot joint forces/ torques and the robot joint positions, velocities and accelerations. Such equations of motion are useful for the design of suitable control laws or strategies to achieve a desired system performance. The dynamic model of a robot can be obtained from known physical laws such as the laws of Newtonian mechanics and Lagrangian mechanics. The derivation of the robot dynamic model based on the Lagrange-Euler (L-E) for- mulation is straight forward and systematic. This section derives the dynamic model of the CRAWLER robot based on the L—E method. 42 2.4.1 Lagrange-Euler Method In the L—E formulation, the system’s dynamic behavior is described in terms of work and energy using generalized coordinates. All the workless forces and constraint forces are automatically eliminated in this method. By directly using the L—E formu- lation and the D-H link coordinate representation of a robot arm, the resultant robot dynamic model is a compact matrix description of the robot equations of motion. Assuming a robot has n links, the L-E formulation is expressed in the following form d 6L 6L — — — — = . . = ... .2 (341') aqz- F, i 1, 2, ,n (2 9) where L: Lagrangian function: kinetic energy K — potential energy P K = total kinetic energy of the robot P= total potential energy of the robot 0 q,-= generalized coordinates of the robot qi=first time derivative of the generalized coordinate, q,- F,- = generalized force(or torque) applied to the robot at joint i to drive link i. The L—E formulation requires knowledge of the kinetic energy of the physical robot system, which in turn requires knowledge of the velocity of each joint. Let ir, be a point fixed in a link i and expressed in homogeneous coordinates with respect to ith link coordinate frame, 43 17', = yi (2.30) Zr Let 0r, be the same point ‘7‘, with respect to the base coordinate frame, “34, the homogeneous coordinate transformation matrix which relates the spatial displacement of the ith link coordinate frame to the (i — 1)th link coordinate frame, and 94, the coordinate frame matrix which relates the ith coordinate frame to the base coordinate frame; then 0r, is related to the point 1r, by = 9437‘; = 941242 ' ° ' “Mfr, (2.31) The velocity of 1"r, expressed in the base coordinate frame can be written as ND ’0; vi dt07'( i) =%:94 i7" 1') (2-32) %i}42 ' ' ' i_A"7" + dtoAiMQ ' ' ’i—Miiri + ' ° ° + 941’ ' ' t-Mi iTi + 9437.}, = (z.—:. 0"“ The partial derivative of 21, with respect to q- can be easily calculated with the J help of a matrix Q, which, for a revolute joint, is defined as 44 0 —1 O O 1 0 0 0 Q.- = 0 0 0 0 _ O 0 0 0 J and, for a prismatic joint, as 0 0 0 0 O 0 O 0 Q.- = 0 0 O 1 O O 0 0 It then follows that ai-IA, _ Q,_,A aqi — 3 I Let us define 60A, (Angi—lAi for j S i [1,]. a = 6g,- 0 for j > i (2.33) (2.34) (2.35) (2.33) Equation 2.36 can be interpreted as the effect of the motion of joint j on all the points on link i. Using this notation, v, can be expressed as 45 i 6942' . i The interaction effects of the motion of joint 3' and joint I: on all the points on link i can be expressed as 94j—1ij—lAk—1Qkk-Mi for i Z k 2 J 6U,- . Uijk é 6g): = (Mk—lek—Mj—leJ-Mi f0?" iJZ Z k (2'38) 0 . for j < j or i < k After obtaining the joint velocity of each link, we need to find the kinetic energy of link i. Let dK, be the kinetic energy of a particle with differential mass dm in link i, then dK, = éTr(v,v,-T)dm (2.39) P i r T = éTr 102:; Uipdpiri (Z: Uirqriri) dm = éTTi Z 2‘; U,p(1‘, dm TiT )Uir TqPqT] _p=l r=1 where the trace operator is the sum of diagonal elements of a square matrix, i.e., Tr(A)-— Z": a,,, where A is any square matrix with elements of a,,-. Then the kinetic energy of link i is 46 1 p i i ' t' T . . K,- =/dK, = -2-Tr ZZU,p(/'r,r, dm)U,,quq,.] (2.40) _p=1 r=l = éTr :ZU,pJ,U,,chpcj,] Lp=l r=1 where J, is the inertia of all the points on link i. J, is dependent on the mass distribution of link i and is expressed with respect to the ith coordinate frame. Hence, J, is a coefficient term needs be computed only once and can be expressed in inertia tensor f zfdm f x,y,dm f :c,z,dm f 2:,dm = (2.41) fx,z,dm fy,z,dm fzfdm fz,dm ' _ f x,dm f y,dm f z,dm f dm J - - T fxiyidm fyfdm fyizidm fy,dm J, = / ‘r,’r, dm -1314: +1" Izy Ixz mifi 131; W 11,: migi - 1:2 1112 MP miii "lift miy—i 777451 mi .. where I", 11m and I“ are known as the moments of inertia of the link about the axes 2:, y and 2, respectively, which are defined as In = f(y2 + 22)dm IW = f(:r2 + 22)dm (2-42) I,z = f(:l:2 -l- y2)dm 47 Ixy, In, and Iyz, are known as the products of inertia which are defined as I“, = In = fxydm I“ = In = fxzdm (2-43) 1,,z = 12,, = fyzdm and where 1'7", = [27,, 37,, 2,, 1]T is the center of mass vector of link i expressed in the ith link coordinate frame. Hence, the total kinetic energy K of the robot is n i i (2.44) K II M 3 ll NI 1—4 M M M E 5 S4 S 29 5°. :9. The total potential energy of the robot can be obtained by summing all the po- tential energies in each link, P, n n P = 2P; = 2 -mig(9\ITI) (2-45) i=1 i=1 where g = [gm g,, g,, 0] is a gravity row vector expressed in the base coordinate system, and [g]: g = 9.8062m/sec2 is the gravitational constant. The lagrangian function L = K — P is given by L = $22: [Tr(U,,-J.-U.-.T)q,-q.] + ZWECAITI) (2.43) i=1 j=l k=l i=1 Applying the L-E formulation to this Lagrangian function yields the generalized 48 force required to drive the ith link of the robot, for i = 1, 2, - - - , n d 6L 6L F.- = — — — . dt 3,.) aq. (2 47) n .l n .l .l n = Z 2 measure + :3 z 2 measures. - : mngjt’fj [=1 k=1 [=1 k=1m=1 5:: = Z 0.th + Z Z htkmqkqm + c.- k=l k=1 m=l In a matrix form, the robot dynamics can be expressed as F(t) = D(a(t)) — Rz.(t)+L d, TOTm(t) = JmilmU) + fmde) + Vb(t) Taking the Laplace transform of these equations we have: 71 Torm(s) = KaIa(s) (3.2) (3.3) Terms) = sszqmo) + sfmqmls) (3.4) By manipulating terms, we obtain the transfer function from the applied voltage to the angular displacement of the motor shaft qm(3) _ Kc VJ?) ’ s[s2JmL + (L f... + 12.1...)3 + R f... + Kara] (3'5) Since the electrical time constant of the motor is much smaller than the mechanical time constant, we can neglect the armature inductance effect, L. Also assume that the friction is zero,i.e., fm = 0, the above equation is simplified as qm(s) _ Kc K Va(s) — s(sRJm + KaKb) = s(Tms + 1) (3'6) where K é l/K, is called the motor gain constant, and the motor time constant. Table 3.2 lists the actual parameters of the motors [47] used in the CRAWLER robot which are selected from API Motion company. Table 3.2: Motor parameters: escap 17S78-208P from API-Portescap Parameters variable unit value Back EMF constant Kb V/1000rpm (Vs/rad) 0.56 (0.0053) Torque constant K, mN m / A 5.3 Terminal resistance R ohm 6.9 Rotor inductance L mH 0.15 Rotor inertia Jm lrcgm2.10"7 0.50 Mechanical time constant Tm ms 12 3. 3. 2 Control Algorithm When the motors are used to drive the robot joints, gear trains are installed to increase the motor load capability and to couple the motor shaft with the joint shaft. If the gear ratio n = g: < 1, where qL is the angular displacement of the joint shaft, then we have qL(s) _ nKa V3?) ‘ s(sRJ,,. + Kara) (3'7) ' The purpose of the joint level controller is to servo the motor so that the actual angular displacement of the joint will track a desired angular displacement specified by a preplanned trajectory. The PD feedback controller is designed as follows 73 W) = Kplqmt)—qL(t)l:KvlddL(t)—qr(t)l (3.3) er(t) + Kve(t) where KP, K” are the positional feedback gain and error derivative feedback gain, respectively. The gear ratio n is included to compute the applied voltage referred to the motor shaft. qu(t), qu(t) are the desired position and velocity, respectively, which are precomputed from a trajectory planner. Taking the Laplace transform of Equation 3.8 and substituting into Equation 3.7 yield the closed-loop transfer function relating the actual angular displacement to the desired angular displacement as: qL(s) _ KaKvs + KaKp _ 7 3.9 qu(s) 32RJm + s(KaKb + KaKv) + KaKp ( ) Figure 3.7 shows the block diagram of this closed-loop PD control system. Tor,(.r) 932/ r x 1 :13)“ 1 . 1 1 .(3 9,0) +3 ' w — r — w K. r — - n i Wail ' I WK R 705(3)” SJ. 3 Kb Figure 3.7: PD control block diagram Notice that the torque generated at the motor shaft has to compensate for the load torque, thus from Equation 3.4 we have 74 Torm(s) = sszqm(s) + sfmqm(s) + TorL(s) (3.10) where TorL(s) is the Laplace transform of the load torque referred to the motor shaft. The transfer function relating the load torque to the actual joint displacement is given by qL(S_____)__ ________| —nR TorL(s) 4%“): 0: 32521... + s KaKb + K,K.,) + KaK P (3.11) Using the superposition principle and Equations 3.9 and 3.11, we can obtain the actual displacement of the joint from these two inputs as follows: (s)- (K K s+K K)p)q“L(s ~nRTorL(s) q” 3212.]... + s(K K, + K K.) + K K,, (3.12) The robot dynamic model has been derived in section 2.4 and we restate it as below in Equation 3.13. Tor(t) = D(Q)q'(t) + h(q,r1)+G(Q) +f(6 Figure 4.1: C-obstacle in a translational case; B,- is an obstacle, by superimpose the shape of a robot (R) all through the peripheral of the Obstacle, the C-Obstacle C8,- is constructed. //x 7% s \\\\\\\\\\ ///// /////,’// 7//////// /////’/7/2 Figure 4.2: C—obstacle in translational and rotational case. B; is an obstacle, CE.- is a slice corresponding to the Minkowski sum of the obstacle and the robot R whose shape rotates continuously from 9 = 0 to 6 = 360°. The C-Obstacle is a 3-D stack of the slices. 94 Now consider a more complex articulated manipulator robot. This robot R is made of 11: moving rigid Objects R1, - - -, R,c connected by mechanical joints (revolute or prismatic joints) which constrain their relative motion. Let f3, be the frame attached to R,~,i E [1, k]. The configuration Of R is a specification of the position and orientation of every frame $3,, i = 1 to k, with respect to fw. Therefore, the configuration space of a fixed—base articulated robot with k revolute and prismatic joints and no kinematic loop is a k-dimensional smooth manifold. 4.1.2 Exact Cell Decomposition There are three general approaches to the basic motion planning problem [39]: cell decomposition methods, roadmap methods, and artificial potential field methods. In this section, an exact cell decomposition method is presented in the simple case where C = R2 and the C-Obstacle region forms a polygonal region in C. The decomposition of C ,m and the associated connectivity graph are defined as follows: Definition 4.1.7 convex polygonal decomposition/3.9]: A convex polygonal de- composition IC of C 1m is a finite collection of convex polygons, called cells, such that the interiors of any two cells do not intersect and the union of all the cells is equal to the closure of Cine. Two cells k and k’ in [C are adjacent if and only if k n k’ is a line segment of non-zero length. Definition 4.1.8 connectivity graph (39/: The connectivity graph g associated with a convex polygonal decomposition [C of Cfm is the non-directed graph specified as follows: 1) g ’3 nodes are the cells in IC. 2) Two nodes is g are connected by a link if and only if the corresponding cells are adjacent. The exact cell decomposition algorithm for planning a free path connecting q...“ and (1,001 is the following: 95 1. Generate a convex polygonal decomposition [C of C free. 2. Construct the connectivity graph 9’ associated with IC. 3. Search 9 for a sequence of adjacent cells between q,-,,,-¢ and qgoa). 4. If the search terminates successfully, return the generated sequence of cells; otherwise, return failure. The output Of the algorithm is a sequence k1, m, kp of cells called a channel, such that qi'nit 6 k1, qgmz E kID and for every j E [1,p — 1], k,- and k,“ are adjacent. A continuous free path can be computed from the channel, for example by connect- ing the initial configuration to the goal configuration through the midpoints of the intersections Of every two successive cells. gm 1 0 11 19 Figure 4.3: TIapezoidal decomposition method An efficient exact cell decomposition method called trapezoidal decomposition is illustrated in Figure 4.3. The free space is externally bounded by a polygon and 96 internally bounded by three polygonal obstacles. The first step Of the method consists of exactly decomposing the free space into trapezoidal and triangular cells. These cells are built by drawing vertical rays from the C-Obstacle vertices. Two cells are adjacent if they share a portion Of an edge of non-zero length. The second step is to construct the connectivity graph representing the adjacency relation between the cells and search this graph for a path (thick lines in Figure 4.3 B). A path in the connectivity graph determines a channel in free space. The channel is the sequence of cells labeled as 3, 4, 7, 8, 9, 12, 14, 16, 17 and 18. The third step of the method consists Of transforming this channel into a free path, by connecting the initial configuration to the goal configuration through the midpoints of the intersections of every two successive cells. 4.1.3 A“ Algorithm In many cases, motion planning involves searching a graph to find a minimum-cost path connecting the initial node and the goal node. A“ Algorithm [25, 39, 33]is the most popular method for graph searching, guaranteed to return a path of minimum cost whenever the path exists. A‘ explores a weighted graph G iteratively by following paths originating at Ninit- The cost of a path is defined as the sum of the costs Of its arcs. A" employs an additive evaluation function f (N) = g(N) + h(N), where g(N) is the cost of the currently evaluated path from Ninit to N, and h(N) is a heuristic estimate Of the cost of the path remaining between N and goal node N900). A‘ constructs a tree T of selected paths of C using the elementary operation Of node-expansion, i.e., generating all successors Of a given node. T is represented by associating to each visited node N a pointer to its parent node in the current T. Starting with Nina, A‘ selects for expansion the leaf node of T that has the lowest f value, and only maintains the lowest f path to any given node. It is known that if f (N) is a lower bound to the 97 cost of any continuation path from N to N900), then A“ is admissible, that is, it is guaranteed to find the optimal path. A‘ algorithm is described as follows: 1. Put the start node, Nina, on a list called OPEN of unexpanded nodes. . If OPEN is empty, exit with failure; no solution exists. Remove from OPEN a node, N, at which f(N)=g(N)+h(N) is minimum (break ties arbitrarily, but in favor of a goal node) and place it on a list called CLOSED to be used for expanded nodes. . If N is a goal node, exit successfully with the solution Obtained by tracing back the path along the pointers from N to NW}, ( pointers are assigned in steps 5 and 6). . Expand node N, generating all its successors with pointers back to N. . For every successor N’ of N: e Calculate f(N’) e If N’ was neither in OPEN nor in CLOSED, then add it to OPEN. Assign the newly computed f (N ’ ) to node N’. e If N’ already resided in OPEN or CLOSED, compare the newly computed f (N ’ ) with that previously assigned to N’. If the new value is lower, substi- tute it for the old (N ’ now points back to N instead of to its predecessor). If the matching node N’ resided in CLOSED, move it back to OPEN. 7. GO to (2). 4.2 Motion Planning Analysis For a given robot and set of obstacles, the basic motion planning techniques under configuration space framework only consider geometric issues to determine a collision- 98 free path. For more complicated problems, it is beneficial to broaden configuration space framework to handle sensory information, kinematic and dynamic constraints, etc. Sharma and Sutanto [67] proposed a vision-based motion planning framework in which they unified the configuration space and an image feature space and con- sidered sensors as an integral part of the motion goal. In [39], the dynamic motion planning problem — where the Obstacles in the workspace are moving, was studied in configuration-time space. The approach is to add a dimension —- time — to the robot’s configuration space and take the specificity of the time dimension into account. LaValle [42, 40] introduced a game-theory—based mathematical foundation upon which analyzes and algorithms can be developed for a broad class of motion planning problems. He advocated the expansion from configuration space to state space and to broader space — information space to cover general motion strategy problems, involving uncertainty in sensing and control, environment uncertainties, and the coordination of multiple robots. The framework is general enough to encom- pass every motion planning issue; however, more work needs to be done to tailor the idea to specific applications. In this section, “hybrid configuration space” concept is proposed to incorporate the continuous configuration space with discrete motion status space. The broadened space is a more effective tool to analyze the motion planning of the climbing robot. 4.2.1 Motion Status Space The robot motion status has two fields as shown in Table 4.1. It represents precisely which foot is supporting the robot and in what motion mode the robot is moving. Table 4.1: Motion status fields [ Standing Foot ] Motion Mode ] 99 Notice that there exist only two choices for the first field, either LFS or RF S. Neither foot grips the floor is an invalid motion status, because in this case the robot cannot climb a wall and the motion direction is undetermined. Both feet grip the floor is also a invalid status because the robot cannot move except to release one of the foot. We assign three values (-—1,0, +1) to represent each of the motion modes, i. e. 0 represents translation mode, —1 represents spin mode 1, and +1 represents spin mode 2. The combination Of the fields makes six motion statuses, namely LFS- 1, LFSO, LFS+1, RFS-1, RFSO and RFS+1. For example, LFS-1 means the left foot supports the robot while the right root is free to move, and the robot is under spin-1 mode. The motion status space is defined as follows: Definition 4.2.1 (Motion Status Space) Let’s define a motion status set S whose elements are the six motion statuses, i.e. S ={LFS-1, LFSO, LFS+1, RFS-1, RFSO, RFS +1}. The collection of all subsets of S is a topology on S and is called the discrete topology. We say the topological space S the motion status space. 4.2.2 Motion Pattern Analysis When the CRAWLER robot walks on a 2-D plane, motor 2 controls the robot to move forward/backward or make turns. Motors 1 and 3, which control the robot tilt angles a and ,6, only help the robot to lift the free foot up from or down to the contact surface to reduce the friction. For the ease Of explanation, we assume that the friction between the free foot and the contact surface is zero when the foot slide along the surface. Thus motors 1 and 3 can be ignored when studying the motion planning on a 2-D plane, and motor 2 is the only driving motor. Throughout the paper, foot 1 is assumed to be the left foot while foot 2 is the right foot. 100 Fixed-base Case We first study the motion when the robot is standing on one of its feet. Since the base is fixed at the center Of the standing foot, the configuration space Of the robot is one-dimensional, represented by the driving angle of motor 2, 1b. The motion pattern Of the robot and the mapping between the configuration space and robot workspace in LFS phase and RFS phase is shown in Figure 4.4 and Figure 4.5, respectively. robot 9 Motor angle V main axis: Spin 1 Translate Spin 2 a@s@5@a Configuration Space P(d) P(O) © 1 ii ® I Archimedes“ Spiral Archimedes' Spiral ' 5 cu e$y T’- ..... ..- .- ‘oo‘° .. P(b) G) LFS VVorkspaceor'robotlnLFS anaemia Figure 4.4: Motion pattern of the CRAWLER robot in LFS phase In Figure 4.4, the shaded circle represents the left foot which supports the robot, while the dotted circles represent the right foot which moves freely. In the one- dimensional configuration space, 1/2 = a represents the motor angle corresponding to the mechanical extreme when the robot contracts; ’l/) = (1 represents the motor angle corresponding to the mechanical extreme when the robot expands; it = b and 1b = c are the switching points from the translation mode to the spin-1 mode and spin-2 mode respectively. P(a), P(b), P(c), and P(d) represent the positions of the center 101 of foot 2 in the robot workspace corresponding to the different values of motor angle 1b. In range [b, c], the robot moves in the translation mode, i. e., both lock-pins are outside the cam and the legs contract or extend. When motor 2 rotates CW and it falls in [a, b), the robot moves in spin-1 mode. In this range, leg 2 contracts and foot 1 rotates, making the free foot move along an Archimede’s spiral curve. When motor 2 rotates in CCW direction and it falls in (c, d], the robot moves in spin-2 mode. In this range, leg 1 extends and foot 2 winds up. Similarly, Figure 4.5 shows the motion pattern of the robot in RFS phase. When the motor angle v is in the range [b, c], it moves in the translation mode. The CCW rotation of motor 2 puts if) within (c, d], and the robot moves in spin-2 mode. In this mode, since foot 2 supports the robot, the rotation of foot 2 and the extending of leg 1 causes the robot to move along a spiral curve. The CW rotation of motor 2 makes the robot move in spin-1 mode where leg 2 contracts and foot 1 winds up. Motor angle V _, Spin 1 Translde Spin 2 r ,o . 1' .' pm ......... ' = I ' ' E).u___————' . tgpend ®c°mfl _ b)""‘“" E‘W‘ll . ® k = Arohimedes' curve " Aron edes'Splrel — pm, .......... ‘ p“) 33%.: — I Worltapace of robot in RFS Sweep Area Figure 4.5: Motion pattern of the CRAWLER robot in RFS phase Let 2 be the distance between the centers of the two feet, then the robot motion 102 in LFS and RF S can be modeled as follows: "71 = ("A é —_.— k1], ifasw