Performance Analysis and Terrain Classification for a Legged Robot
Total Page:16
File Type:pdf, Size:1020Kb
Performance analysis and terrain classification for a legged robot over rough terrain Fernando L. Garcia Bermudez, Ryan C. Julian, Duncan W. Haldane, Pieter Abbeel, and Ronald S. Fearing Abstract— Minimally actuated millirobotic crawlers navigate unreliably over uneven terrain–even when designed with in- herent stability–mostly because of manufacturing variabilities and a lack of good models for ground interaction. In this paper, we investigate the performance of a legged robot as it traverses three distinct rough terrains: tile, carpet, and gravel. Furthermore, we present an accurate, robust, low-lag, and efficient algorithm for terrain classification that uses vibration data from the on-board inertial measurement unit and motor control data from back-EMF sensing and magnetic encoders. I. INTRODUCTION Millirobotic crawling platforms have in general been op- timized from a design perspective at the mechanical level. The optimization goal was to achieve a certain behavior optimally, such as sprinting [4][17], climbing [3], walking [18][21], or turning [28]. What was not often reported, Fig. 1: Robotic platform, outfitted with motion capture though, is that although the design may be optimal for a tracking dots, positioned on top of the gravel used for specific task, manufacturing variability can result in poor experimentation. performance. This is even more significant at the millirobot scale and was a particularly crucial limitation of the actuation mechanism of the Micromechanical Flying Insect [1]. rough terrains. Using telemetry gathered from the on-board This has prompted several groups to work on adapting sensors, we then focus on terrain classification. the robot’s gait to achieve better performance at tasks the Previous authors have focused on vibrational terrain clas- robot was not designed for (e.g. walking on granular media sification for wheeled robots, but little work has been done instead of hard ground [26]) or to achieve better performance for legged robots [12][20][35]. Vail and Veloso [33] and than that achieved solely through hand tuning [34]. Although Larson, et al. [24] both recognized that complex walking the above adaptation strategies implied changing the leg dynamics present both distinct challenges and opportunities motion profile, more passive solutions, such as tuning the to the terrain classification problem. In particular, a robot leg stiffness, have been attempted with moderate success which recognizes its terrain can adapt its control policy to [16][17]. traverse that terrain most effectively [10][23]. Furthermore, Minimal actuation presents yet another obstacle for gait a walking robot has an advantage in its ability to change its adaptation, since the robot can have a number of uncontrol- interaction with the terrain to optimize its ability to classify lable dynamic modes. In contrast, many large robots depend that terrain, making a walking robot an active sensor of its on either extensive actuation or precise sensors in order to environment [24]. traverse their environment [13][22]. We develop a terrain classification algorithm, based on In this paper, we first focus on performance analysis Support Vector Machines (SVM), and a robust feature set, of the legged robot, similar to what was done for RHex which is well-suited for on-line implementation on small [30], Sprawlita [6], and both DASH and DynaRoACH [25]. resource constrained robots. We explore how the dynamics Without adapting gait, we investigate how varying the stride of the legged robot affect its ability to classify the terrain it frequency has an effect on locomotion over three distinct traverses. We then characterize the classifier’s performance, and compare it to similar terrain classifiers for both legged This material is based upon work supported by the National Science and wheeled robots. Foundation under Grants No. CNS-0931463 and IIS-0931463. D.W. Hal- dane is funded by the National Science Foundation IGERT Grant No. DGE- II. ROBOTIC PLATFORM AND CONTROL POLICY 0903711. F.L. Garcia Bermudez, R.C. Julian, P. Abbeel, and R.S. Fearing are with For this work, we used a newly designed six-legged the Department of Electrical Engineering and Computer Sciences, Univer- dynamic running robot, pictured in Fig.1, which was based sity of California, Berkeley, CA 94720 USA ffgb@eecs., ryanjulian@, on the OctoRoACH robot [28]. It features an inboard dual pabbeel@cs., [email protected] D.W. Haldane is with the Department of Mechanical Engineering, Uni- drive-train for independent control of the right and left set versity of California, Berkeley, CA 94720 USA [email protected] of legs. Its SCM fabricated [18] transmission is highly rigid Tile 1.0 0.6 [m/s] v 0.2 Gravel 1.0 0.6 [m/s] v 0.2 Carpet 1.0 0.6 [m/s] v Fig. 2: Experimental test bed with interchangeable surfaces: 0.2 (left) laminate tile, (middle) gravel, and (right) medium-pile 2 4 6 8 10 f [Hz] carpet. c Fig. 3: Maximum speed achieved by the robot on three rough terrains as a function of the stride frequency (n = 5), due to planarizing parallel four-bar linkages which couple the along with a one standard deviation error bar. The raw data drive-train output crank to kinematic linkages that govern the is plotted in black in the background. Note that the best motion of the legs. We expect this increased rigidity to isolate performance is achieved on tile and is closely followed by the compliance of the system to the deformable polymeric that on carpet. The robot runs the worst on gravel, yet note legs, allowing for more predictable and repeatable dynamic the dips in performance for the other terrains at 4 and 7 Hz. terrain response. The overall mass of the robot, with battery, These correspond to larger roll oscillations visible in Fig.4. is 30:4 grams and it can attain a maximum stride frequency of 20 Hz. The robot is driven by embedded sensing and control terrain, which was calculated from the 3-D position data hardware [2], which includes an inertial measurement unit that the OptiTrack provides. Note that since the robot was and an 802.15.4 wireless radio for issuing control commands not controlled for heading, the trajectories it took need and downloading telemetry data1. Unlike in previous work not have been straight, particularly given that leg-ground [28], where the on-board controller was mainly dependent interactions can substantially alter its direction. Nonetheless, 4 on the motors’ back-electromotive force (back-EMF), the the generalized traversal speed was computed using Python 2 current robot adds magnetic encoders to each motor, enabling from the ` -norm of the instantaneous position changes. control of the relative phasing between the two alternating For each individual run, the robot’s legs were always tripods2. started from the same position within their cycle. The po- The kinematic linkages described previously effectively sition and orientation of the robot were not reset for each define a hardware-based Buehler clock [31], in which the individual run. We always carefully monitored that the legs were indeed successfully reset before a new run was started, touchdown and liftoff angles (φT D;LO = ±42◦) and duty cy- cle (δ = 0:5) are rigidly defined by the geometric parameters if not the case, we moved them into place by hand. of the fourbar linkages [17]. Therefore, from the controller A. Performance as a Function of Stride Frequency side, the Buehler clock becomes defined by one parameter: To gain a better understanding of how stride frequency the stride period, t , or inversely the stride frequency, f . c c variation affects the robot’s performance on the three terrains, To assess the robot’s performance, we varied the stride we ran a parameter sweep on of ! Hz in steps of frequency when traversing laminate tile, gravel, and medium- fc 1 11 Hz. Fig.3 shows a plot of the maximum speed achieved pile carpet (see Fig.2). The dimensions of the experimental 1 at each stride frequency, along with a one standard deviation test bed are 1:14 m×1:75 m. Ground truth data was collected error bar. Each setting was repeated five times ( ) using an OptiTrack3 motion capture system comprised of fc n = 5 and the resulting maximum speeds are shown in black as a eight V100:R2 cameras located :45 m above the terrain scatter plot. and capable of sub-millimeter accuracy as specified by the The deformable polymeric legs of the robot are tuned manufacturer. for best performance on hard ground, which explain why III. ROBOT PERFORMANCE ON ROUGH TERRAIN it achieves the greatest speeds on tile. This comes at a The performance metric used for the experiments in this cost for our experiments, though, given the limited size of section is the robot’s maximum speed as it traverses each our test bed. Starting at about 6 Hz, the increased variance corresponds to the robot not always reaching its maximum 1Embedded board: https://github.com/biomimetics/imageproc pcb speed while inside the tracking volume. The reported speed 2Embedded code: https://github.com/biomimetics/octoroach 3NaturalPoint, Inc. OptiTrack: http://www.naturalpoint.com/optitrack/ 4Scientific Tools for Python: http://www.scipy.org/ is thus a lower bound on the maximum achievable at those Tile Roll Pitch Yaw stride frequencies. 50 Apart from two dips in performance at 4 and 7 Hz, the robot’s speed increased with stride frequency on all terrains. 40 The performance on carpet follows that of tile, but at a reduced overall speed. Since the carpet’s surface is more 30 compliant than that of tile, the polymeric legs should require [Hz] stiffening so as to achieve the same overall compliance f 20 between the robot and the terrain [14], thus improving its performance.