modular construction kit, the electronics based on a custom-made MPC 565 microcontroller .... Behavior-based programming is a well-known concept for programming mo- .... http://aimee.informatik.uni-bremen.de/publications.php, 2005. 2.
AIMEE: A Four-Legged Robot for RoboCup Rescue Martin Albrecht, Till Backhaus, Steffen Planthaber, Henning St¨oppler, Dirk Spenneberg, Frank Kirchner University of Bremen, Robotics Group, Faculty of Mathematics and Computer Science, Bibliotheksstr. 1, D-28359 Bremen, Germany {malb,backhaus,steffen,henning2}@informatik.uni-bremen.de {dspenneb,kirchner}@informatik.uni-bremen.de
This paper presents a servo-based Four-Legged robot – named AIMEE – for the RoboCup Rescue competition (see [1] for details). The robot is described with regard to the mechanics which are based on a very modular construction kit, the electronics based on a custom-made MPC 565 microcontroller board, and a software concept using a new behavior-based microkernel. The bio-inspired control approach we use on AIMEE is based on Central Pattern Generators (CPG), posture-control primitives, and reflexmodels.
1 Introduction The AIMEE robot (see figure 1) is a Four-Legged walking robot which is planned to be capable to operate in extremely difficult environments, e.g. the roughest areas of the RoboCup Rescue Competition which include steep ramps of up to 40 degrees and clustered terrains (”Random Stepping Fields” presented in figure 1) with height differences of up to 15 cm. This robot was the first Four-Legged walking robot participating in this competition at the German Open 2005 in Paderborn. By achieving the third place, AIMEE has shown that a Four-Legged robot programmed with a bio-mimetic control approach can compete with the existing wheeled and tracked vehicles. In this paper, we briefly present our bio-inspired concept (section 4) for the robots locomotion (section 5), the mechanics & electronics (section 2), and softwareconcepts (section 3). The later are not discussed in depth but rather are presented as far as they support the bio-inspired control concept. We are planning to present details on those components in the near future. The RoboCup Rescue Competition is currently dominated by wheeled and tracked systems. However, in the broader field of autonomous robotics, several walking robots exist, e.g., the Four-Legged TEKKEN [2] or the eight-legged
cm
10
Fig. 1. AIMEE on a ”Random Stepping Field”
SCORPION [3] robot. Humanoid robots like the JOHNNIE [4] often make use of inverse-kinematics and need excessive computational power which barely fits into a small system like our own. Our system, on the contrary, is based on a bio-mimetic control approach – so are the TEKKEN and the SCORPION robot – utilizing weak computational power. On TEKKEN, two bio-inspired control concepts, CPGs and reflexes, were combined for the first time to achieve mammal-like walking. It does not include posture control primitives in its control approach and is limited to certain terrain for operation. AIMEE, however, was designed to operate in highly uncertain terrain, i.e. mechanics are not only optimized for straight forward walking but have four active degrees of freedom per leg for very high flexibility in motion. The AIMEE robot is based on concepts developed in the SCORPION project, they therefore share a lot of internal logic. Although the internal control software of the two robots is different, AIMEE and SCORPION are both based on Central Pattern Generators, reflexes for stability, and posture control primitives. As the roughest so-called ”red” areas in the RoboCup Rescue scenarios have seen the introduction of ”Random Stepping Fields” (see figure 1) in 2005, we believe that the importance of climbing and walking machines will increase in that area.
2 The Mechanics & Electronics The robot is about 30 cm in length and depending on the position of the legs between 15 and 30 cm in height. The weight of AIMEE is 3.5 kg. The corpus
of the robot consists of a aluminum strut which serves as backbone. In the center of the backbone is a plastic box which contains the electronics. The neck of the robot is an extension of the backbone and consists of two small joints. They move the head which bears a camera and an infrared headlight in horizontal as well as vertical direction. AIMEE’s four legs are all equal in design and possess four degrees of freedom. Each leg consists of four identical servo actuators which are connected with a custom-built Robot Assembly Kit developed for education and prototyping by the Robotics Lab of the University of Bremen (see figure 2). The ”Bremen Robot Assembly Kit” consists of prefabricated aluminum parts which are connected by screws. This concept allows fast assembly and disassembly of our system for rapid testing of different configurations. Each servo has a maximum torque of up to 3,5 Nm. We believe that the strength of those motors allows to develop a trotting behavior in the future. The whole angle range of the joints is 270 degrees. A shoulder joint is situated next to two shoulder plates attached to the backbone. Its motion axle is orthogonal to the backbone. A second shoulder joint is attached below the first one but its motion axle is turned around 90 degrees so that the joint can move the leg sidewards. The two last joints represent the knee and the ankle. They are connected to each other. Their motion axle is the same as that of the first shoulder joint. The feet of the Fig. 2. Bremen Robot Assembly Toolkit robot have the form of a half cylinder which stands orthogonal to the backbone and points downward. To reduces contact shocks, the feet are equipped with springs. This resembles the functionality of a muscle as it can be tensed and relaxed like a spring. For the implementation of mammal-like walking (which is described in section 5) only the three joints facing forwards are used. The central processing unit in our robot is a MPC 565 PowerPC microcontroller running at 40 Mhz. It is mounted on a custom developed mainboard with 2 MB flash memory and 8 MB RAM. It offers 3 time processing units (TPUs) with 32 TPU ports for, e.g., servo control. The board has 64 analogous ports for servo positions and servo current1 handled by an AD converter, furthermore, 16 additional A/D ports can be used for sensors. Communication is realized via the reliable but low bandwidth DECT standard at 19200 baud. Additional used sensors are a gyroscope, a tilt sensor, and several micro switches used to trigger reflexes as described in section 4: The gyroscope to 1
This feature is not yet used.
measure the walking direction, the tilt sensor to measure the pitch, and the micro switches to detect ground contact of the feet. Blocking of servo motors is detected by comparing the written outputs with the real values provided by servos. In order to be able to operate without a line-of-view in the RoboCup Rescue Competition a camera and an infra-red sensor at the front are used. Two rotating ultrasonic sensors (Devantech SRF10) on top of the electronics box are used for generating a map of the explored area.
3 The Microkernel Behavior-based programming is a well-known concept for programming mobile robots and is especially suited to program walking robots because of the already integrated principle of parallelism of processes. Many behavior-based programming architectures, e.g. the Process Description Language [5], emulate parallelism by using a cyclic executive for behavior processes and writing their influences on the actual hardware all at once, e.g., at the end of the loop. But this simple concept has some problems, especially in cases of poor computational power. Single-Loop systems cannot automatically handle the case when behavior process execution takes longer than the estimated fixed loop period. To avoid loop overruns, the loops are typically much longer than the estimated required time for executing all processes. This allows later extension and prevents loop overruns. But this leads to idle CPU time which could be used more effectively. Additionally, most behavior programming models do not provide an easy mechanism to allow behavior processes to run on different frequencies which is desirable if they, e.g., deal with hardware of different reactivity. Finally, out-of-order execution of certain processes as reflexes is not foreseen in these concepts. Real-time operating systems on the other hand offer high reactivity and satisfy real-time needs but are not specially designed to support behavior programming, consequently they offer a lot of features not needed for our special purpose. Therefore we developed a microkernel labeled M.O.N.S.T.E.R.2 [6] which features hard- and soft-periodic processes3 , preemptive reflexes, behavior processes, and hardware drivers on different execution frequencies, onlineadaptation of these execution frequencies, competition for hardware resources between the behavior processes, and a background process. In fact, the alterations to a behavior programming architecture which are necessary in order to gain these features are quite few. To achieve the desired tolerance for the case when behavior process execution takes longer than the estimated loop period, a mechanism to simulate the ideal case – i.e. when all 2 3
Microkernel for scabrous terrain exploring robots I.e. processes with hard real-time constraints and those without them
processes could be executed on time – is required. Let qi be a variable behavior processes are writing to, let further infb,i be the influence of behavior process b on that quantity and wb,i the weight4 assigned to that influence, then the new value qi (t) at time step t is computed as follows: n P
qi (t) =
wb,i (t) =
wb,i (t) · infb,i (t)
b=0 n P
wb,i (t)
b=0 n wset (t), b,i
if b active in step t wb,i (t − 1) · dec(b, i), else
If a process b has not been executed in timestep t, its weight is decayed otherwise the weight assigned to its influence will be used. Furthermore, a background process has been introduced which will be executed whenever there is spare CPU time, i.e., when process execution takes less time than the fixed loop cycle. This concept comes with its costs. Behavior processes have to be written in a fashion allowing them to be delayed. This is done by taking the actual timeslice into acount when calculating new values which passed since the last execution of a behavior process. It is used as an estimation of the time till the process gets executed next. But these adaptations arise quite naturally when one understands behavior processes as difference equations. As an example our CPG process uses Bezier Splines to describe the joint movements and in dependendance on the number of passed timeslices it will move along these Splines further or shorter.
4 The Bio-Inspired Control Concept Our bio-inspired locomotion control is inspired by concepts first used in the eight-legged walking robot SCORPION [7]. In this approach, rhythmic motion produced by models of Central Pattern Generators (CPGs) is combined with posture control primitives. In addition the control approach features a reflex model which allows to deal with sudden disturbances from the environment. The CPGs functionality is modeled by using third-order Bezier Splines which allow very smooth and adaptive motion patterns. These splines can be controlled by three parameters: the phase, the amplitude, and the frequency. An example of a Four-Legged walking pattern described with these splines is given in section 5. More details on this approach can be found in [8]. 4
used to control the strength of the taken influence in competition with other behavior processes
5 Mammal-Like Walking The bio-inspired control concept has been used to implement mammal-like walking. A simplified hierarchy of processes competing for hardware resources for that task can be found in figure 3 where the boxes are processes, and arrows indicate that a process writes to (continuous line) or reads from (dashed line) another process or hardware resource.
GUI / Command Walking Behavior Process CPG Pitch-Reflex Roll-Reflex
Posture Control Primitives
Joint-Position Sensor
Motor Driver Direction Hard-Realtime Processes Servo-Motors
Pitch/Roll Sensor
Fig. 3. control concept as implemented on our robot
CPG splines are an adaption of the rhythmic patterns found in cats [9] to our robot’s mechanics. Considering AIMEE’s hardware limitations compared to a cat, some alterations had to be made, e.g., AIMEE has a stiff backbone which a cat does not, and AIMEE has four equal legs whereas a cat has different front and rear legs. The resulting patterns can be found in figure 4. The phase displacement between the legs found on AIMEE are the same as found in a cat’s walk. Turning is due to the stiff backbone implemented as a behavior which is not found in cats by using amplitude modulation of the CPG splines and sidewards movements of the legs. There are two reflexes currently implemented on our robot: One is a stumbling control reflex which compares desired angle values with real angle values as reported from the joints. If they differ more than a defined tolerance threshold, a fixed movement is triggered to lift the leg in order to overcome obstacles. The second is the hole reflex which monitors the foot pressure sensors (micro switches) and represses the CPG movement if a foot is not found to be on the ground in a stance phase. Posture control is both possible as a reflex by monitoring the pitch/roll sensor aswell as as a conscious decision used, e.g., on ramps. Reflexes, the posture control process, and the CPGs compete with
each other for hardware resources. If one takes more influence on the joints the others will take less influence.
Fig. 4. Plot of the three relevant joints in a single-leg when walking forward
6 Conclusion / Outlook We have described the concepts of our walking robot which makes it capable of operating in uncertain terrain. So far, experiments have shown that our approach leads to a stable and reliable gait with a speed of 15 cm per second. Even without evaluation of pitch/roll or gyro sensors, the robot is able to walk through plain terrain and to overcome obstacles up to 7 cm. We believe that in the further development the speed of walking can be increased, especially by using reinforcement learning algorithms to optimize the CPG patterns. In July 2005, our ”Bremen Rescue Walkers”-Team will participate in the RoboCup 2005 in Osaka, Japan [10]. By then it is planned to reliably master the Random Stepping Fields shown in figure 1. Our next goal in order to compete with other non walking teams is mastering the steep ramps mentioned in section 1. Currently AIMEE can master a maximum of 25 degrees of steepness. Finally, we are intending to implement stair climbing in the near future.
7 Acknowledgements The authors would like to thank Larbi Abdenebaoui, Gerrit Alves, Patrick Amberger, Sebastian Bartsch, Roozbeh Bayat, Uwe Bellmann, Robert Borchers, Friedrich Boye, Justus Brueckel, Heiko Diesing, Simeon Djoko Dzoukou, Jan Evers, Arne Garbade, Stefan Haase, Markus Hagen, Jan Hardel, Wolfgang
Kohnen, Jens Kleinwechter, Daniel K¨ uhn, Istvan Lovas, Arne Martens, Paul Niechwiedowicz, Malte Roemmermann, Felix Schlick, Alexander Schmidt, Jie Tang, Tobias Quintern, Michael Rohn, Martin Rohlfs, Joachim Voelpel, and Gerrit Wollter for their ongoing commitment to the ”Projekt Laufroboter” the results of which are presented here. Furthermore, we like to thank all members of the Robotics Lab, especially Jens Hillgerdes and Stefan Bosse, for all their help on the mechanics and electronics.
References 1. M. Albrecht, S. Bartsch, A. Garbade, M. Hagen, and S. Planthaber, “Team description paper (accepted for the robocup world cup 2005),” http://aimee.informatik.uni-bremen.de/publications.php, 2005. 2. H. Kimura, Y. Fukuoka, and A. H. Cohen, “Biologically inspired adaptive dynamic walking of a quadruped robot,” in Proc. of 8th Int. Conf. on the Simulation of Adaptive Behavior, 2004, pp. 201–210. 3. F. Kirchner, D. Spenneberg, and R. Linnemann, “A biologically inspired approach towards robust real world locomotion in an 8-legged robot,” in Neurotechnology for Biomimetic Robots, J. Ayers, J. Davis, and A. Rudolph, Eds. Cambridge, MA, USA: MIT-Press, 2002. 4. K. L¨ offler and M. Gienger, “Control of a biped jogging robot,” in Proc. of the 6th International Workshop on Advanced Motion Control, Nagoya, Japan, 2000, pp. 307–323. 5. L. Steels, P. Stuer, and D. Vereertbrugghen, “Issues in the physical realisation of autonomous robotic agents,” in From Animals To Animats 4: Proceedings of the Forth International Conference on Simulation of Adaptive Behavior, SAB’96, 1996. 6. D. Spenneberg, M. Albrecht, and T. Backhaus, “M.o.n.s.t.e.r.: A new behaviorbased microkernel for mobile robots,” in Proc. of the 2nd European Conference on Mobile Robots, 2005. 7. D. Spenneberg, K. McCullough, and F. Kirchner, “Stability of walking in a multilegged robot suffering leg loss,” in Proceeding of ICRA 04, vol. 3, 2004, pp. 2159–2164. 8. D. Spenneberg, “A hybrid locomotion control approach,” in Proceeding of CLAWAR 2005, 2005. 9. G. Orlowsky, T. Deliagina, and S. Grillner, Neuronal Control of Locomotion, 1st ed. Oxford, GB: Oxford University Press, 1999. 10. “Robocup 2005 official website,” 2005. [Online]. Available: http://www.robocup2005.org/home/default.aspx