Legged robots provide adaptability in environments where the complexity of ground varies, or when continuous contact paths are unavailable . Compared to large legged robots (over half a meter body length and over 1 kg weight) that typically cost over tens of thousands of dollars, smaller legged robots may be better suited in applications that require greater accessibility (e.g., to locate survivors trapped under rubble). Comparatively, smaller legged robots can be fabricated quickly and at relatively low costs, often by utilizing only benchtop rapid-prototyping machines (which are nowadays ubiquitous).
The dimension ranges from several centimeters to just above ten centimeters represents the current technical boundary as how small legged robots can go with actuators, sensors, microcontrollers and energy sources all onboard (robots at the scale of 0.1-10 mm typically rely on external actuators such as magnetic fields or external power sources). These small robots are usually low-cost but with a low payload capacity, which is needed for carrying computing units, additional sensors, and other objects. Table I shows a comparison of representative legged robots between 5 cm and 20 cm in terms of dimension, mass, and payload capacity. The value of 5 cm was chosen based on the fact that the smallest ROS-capable single-board computer (SBC) at present, NanoPi Neo has a dimension of 4 cm4 cm.
In addition, open-source legged robots could enable wider research in legged robotics and locomotion and contribute to the overall popularity of legged robotics. We use the definition from the Open Source Robotics Foundation for open-source robotics: development, distribution, and adoption of open-source software and hardware for robotics research, education, and product development . For open-source robotics hardware we use the definition from the Open Source Hardware Association: be publicly available in a preferred format, use readily-available components and materials, standard processes, open infrastructure, unrestricted content, and open-source design tools [3, 4]. There are only a handful of fully open-sourced legged robots, such as Marty , ROFI , Hexy , Metabot , Aracna  and Poppy . They are all above 30 cm, mostly fully actuated with tens of servomotors, and controlled with an onboard microcontroller (with the bipedal Marty being the only one supporting onboard ROS).
Here we introduce OpenRoACH as the smallest legged platform with onboard ROS (see Fig. 1). OpenRoACH is fully open-sourced. Its hardware computer aided design (CAD) files are publicly available in a preferred format. Its mechanical hardware uses two off-the-shelf motors and accessible materials such as paperboard, nylon, polyethylene terephthalate (PET), and thermal adhesives. It may be fabricated with standard processes such as lamination, laser cutting and fused filament fabrication (FFF) on benchtop fast-prototyping machines. After fabrication, it may be folded and assembled manually within two hours. Its electronic hardware uses off-the-shelf components including a SBC. OpenRoACH software may be developed with a cross-compiler or in ROS installed on the SBC. The overall cost of material for an OpenRoACH configured similarly to the one in Fig. 1 was under $150 (2018), with 80% of the cost going for electronics and motors. Fig. 2 shows the comparative advantage of OpenRoACH over representative legged robots.
|Legged robot||Dimension (cmcmcm)||Mass (g)||Payload (g)|
|Mini-Whegs ||96.87.2||146||290 (s)|
|SPIDAR ||14156||350||1000 (s)|
|Kamigami ||11.5114||57||50 (s)|
|VelociRoACH ||106.54||37||125 (s)|
|OpenRoACH||15116||178-193||800 (s), 200 (d)|
1. including electronics and batteries. 2. s: static; d: dynamic.
Ii Mechanical Design and Fabrication
OpenRoACH is folding-based  so that minimal assembly is required. Its design relies on careful patterning of creases which, once folded, will become either structure linkages or flexure joints. The mechanical structure consists of a chassis, two leg transmissions, and six legs. Fig. 3(a) shows the CAD sketches of the chassis (top) and the leg transmission (bottom). The chassis consists of four parts, which can be folded and connected to each other by pairs of pegs and holes in designated locations. The leg transmission couples the three legs on each lateral side to the motor module through a transmission bar. Fig. 3(b) shows a partially-assembled OpenRoACH including the chassis and the leg transmission.
Ii-a Principles for Scaling Up SCM
OpenRoACH’s mechanical system weighs 115 gram, and measures 15 cm11 cm6 cm. Most of the body parts are fabricated with the smart composite microstructures (SCM) process  and then manually folded. The chassis and leg transmissions are scaled up from those of VelociRoACH (see Table II). However, adjustment of dimensions alone  does not scale up the functionality. For example, an attempt with only size scaling failed to even support the larger body mass . In many other attempts, the flexures quickly suffered from a permanent damage including over-stretch, fracture, tearing, and peeling, or the body had no ground clearance during locomotion. To scale up SCM, three principles have been adopted.
|Mass structure & motors (g)||23||115|
|Mass electronics no battery (g)||6.1||40|
|Body structure material||poster-board, thermal adhesive, PET||poster-board, thermal adhesive, PET, nylon, PLA|
|Fabrication||laser cutting, lamination, casting||laser cutting, lamination, 3D printing|
|Structure peel strength (N/m)||583||2167|
|Maximal motor torque (mNm)||8.4||84-400|
|Dynamic payload (gram)||-||200|
Ii-A1 Scale Flexure Stiffness, Strength and Yield
The body parts of OpenRoACH are designed and fabricated with four materials. Posterboard (0.3-0.5 mm thick) is used for the outer layers of non-flexure linkages, ripstop nylon (0.15 mm thick) and PET (0.050-0.075 mm thick) are used for flexure layers, and they are all bonded with thermal adhesives. Fig. 4 shows the materials and their arrangement of layers for the relevant body parts.
Different from previous applications of the SCM process to manufacture similar legged robots, OpenRoACH uses two materials (that is, ripstop nylon and PET) for the flexure layer instead of just one. Since ripstop nylon and PET have comparable modulus and strength, their combination can help maintain both the flexure stiffness and its strength. Practically, the dual-material approach prevents flexures from getting permanently over-stretched as compared to using a thin layer of ripstop nylon alone, and prevents fractures as compared to using PET alone.
Ii-A2 Improve Balance and Weight Support
To balance a longer body and support larger body mass, a motor module was designed to have a front and a rear shaft on each lateral side of the robot. The overall motor module consists of two DC motors, two passive shafts, two motor mounting brackets, a motor mounting base, four pulley-flanges, and two timing belts. On each lateral side of the robot, a pulley-flange is mounted on the DC motor shaft and the passive shaft respectively. The two shafts, the leg transmission, and the two pulley-flanges form a four-bar linkage and ensure the leg transmission is parallel to the bottom of the robot. Timing belts are added to avoid anti-parallelogram locks and ensure the synchronization between the motion of the two pulley-flanges. The DC motors (micro metal gearmotors, Pololu, USA), motor mounting brackets (Pololu, USA), and timing belts (SDP-SI, USA) are all off-the-shelf components. The motor mounting base and the pulley-flanges are designed for 3D printing.
Fig. 5 highlights several key mechanical components. Fig. 5(a)-(b) show the top internal and front views of assembled motor module situated in the body as well as the side view of the dual shafts with a timing belt. Fig. 5(c) shows CAD sketches of the pulley-flange for the motor shaft (left) and that for the passive shaft (middle). Fig. 5(d) shows a CAD sketch of the motor mounting base. The motor is mounted by the brackets while the passive shaft rotates freely within the tunnel.
Ii-A3 Increase Peel Strength
To increase the peel strength between the flexure layers and outer layers to accommodate the mass increase, clamps may be added to the non-flexure part of the structure. Clamps were chosen over other reinforcement methods such as rivets because they offer a non-invasive solution to the existing mechanical design. Based on the existing mechanical design as shown in Fig. 3, three dimensions of clamps were designed and 3D printed (Fig. 5(e)). A total of 18 clamps are needed for an OpenRoACH, all in leg transmissions.
Peel strength was tested to quantify the effect of these clamps. Tests were carried out on a mechanical strength testing machine (Instron, USA) with an extension rate of 1 mm/s. Three samples with a width of 12 mm were tested for cases with and without a clamp made of PLA. Results show mean peel strengths of 2167 N/m and 583 N/m for the cases with and without a clamp, respectively (Fig. 5(f)).
Ii-B Fabrication and Assembly
The entire mechanical system of the OpenRoACH can be fabricated with benchtop fast-prototyping machines. The body is fabricated with a laminator and a laser cutting machine (e.g., Versa LASER 200). The SCM process alternates between the laminator and the laser cutter to make sandwich structures with flexures from layers of materials (see Fig. 4). In addition, the leg transmission bar is laser cut from a hard but not brittle material such as polyoxymethylene (POM or Delrin). The motor module and the reinforcing clamps are fabricated with a 3D printer. For the motor module, when the 0.25 mm diameter nozzle is used on a Ultimaker 2+, it would take 11-12 hours to fabricate the motor mounting base with 75% fill density and 1.5 hours to fabricate a single pulley-flange with 50% fill density.
Manual assembly is required to fold and connect the laser-cut body parts as well as to put the motor module together. Assembly time is approximately two hours for an engineering bachelor student or a senior high school student with engineering knowledge.
Iii Electronics and Control
OpenRoACH’s electronic systems can be flexibly configured between using a microcontroller and/or a single board computer (SBC), all of which can be acquired off the shelf. Three configurations of the electronic system have been tested on OpenRoACH. These include i) a BeagleBone Blue board, ii) a Raspberry Pi 3 combined with an mbed microcontroller, and iii) a standalone mbed microcontroller. BeagleBone Blue offers the lightest-weight (40 grams) and the most convenient solution, while the latter two require additional components such as a motor driver. We have developed an open-source carrier board that mounts a motor driver carrier board (DRV8833, Pololu, USA) and an mbed microcontroller (NXP LPC1768, ARM, UK). The configuration of an mbed with the carrier board weighs 58 grams; that of a Raspberry Pi 3, an mbed, and the carrier board weighs 105 grams. In all configurations, OpenRoACH is powered by a 7.4V LiPo battery.
Depending on the electronic system configuration, there are two ways to control OpenRoACH. When an mbed is used, control algorithms are developed in C++ in the mbed online compiler running on a PC and then downloaded to the microcontroller as binaries. When ROS is used, information about OpenRoACH is published as a ROS topic, such that other ROS packages could subscribe to OpenRoACH to read sensor data and publish control commands.
A variety of sensors have been tested for feedback control of OpenRoACH locomotion. These include gyroscopes, accelerometers, Beacon sensors, color vision sensors, linescan sensors, and cameras. For example, accelerometers (e.g. MPU-6050) have been used for control of motor on/off based on vertical acceleration caused by a natural fall or pick-up by a robot arm; Beacon sensors (e.g. Pololu IR) have been used for a homing task within the range of 0.2-2 meters. For the use of linescan sensors (e.g. TSL1401, Parallax, USA) and cameras, please refer to Section IV.D and IV.E respectively.
Iv Experiments and Evaluation
The performance of OpenRoACH has been evaluated in five experiments: multi-surface locomotion, durability, payload, and motion tracking with line and web cameras.
Iv-a Multi-Surface Walking & Running (mbed)
Walking and running is tested in open loop on four types of surfaces: flat smooth tile surface, flat smooth wood surface, a flat rough carpet surface, and a rough terrain of pebble gravel. In these tests, OpenRoACH is equipped with an mbed microcontroller and carrier board (total 58g), and is powered by a 23g LiPo battery. Two speed settings were realized by using motors with different gear ratios: for the relatively low speed a 298:1 ratio was used for 100 rpm, while for the relatively high speed a 50:1 ratio was used for 625 rpm.
Fig. 6 shows sagittal-plane snapshots of running with relatively high speed on the four surfaces. Open-loop walking was achieved with the relatively low speed on the four surfaces too. Table III lists average forward speed of the OpenRoACH running and walking from three trials under each condition. With both gait patterns, OpenRoACH moved faster on wood board than on tile and on pebble gravel. What is interesting is the case of operating on carpet; in running the robot had the highest average forward speed but in walking it was only slightly faster than on pebble gravel. This may be due to slipping of legs in contact with tile and wood board in the case of running.
|Speed (m/s)||Freq (Hz)||Speed (m/s)||Freq(Hz)|
Iv-B Walking Burn-In Tests (mbed)
Two walking burn-in tests were carried out for two OpenRoACHes to test mechanical durability and overall reliability. Fig. 7 shows the burn-in setup, which contains a treadmill whose surface is made from canvas fabric. To keep the robots from falling off from the front or the rear edges, a finite-state feedback controller was implemented where the robots adjusted their motor speed based on the linescan sensor detection of a static black-white edge. Both OpenRoACHes were tethered to an external power supply through a current sensor (ACS712) for power measurement. Both robots are equipped with the mbed microcontroller and carrier board.
In the first burn-in test, an OpenRoach without the clamps walked over 24 hours continuously with a voltage supply of 7.67 V. The speed of the treadmill was 0.06 m/s for the first six hours and 0.03 m/s for the rest of the test. Walking was mostly continuous except for three major interruptions due to motor and pulley flange replacement at 11 hours 19 minutes, 16 hours 00 minutes, and 22 hours 48 minutes. Mechanical deterioration happened mainly on the leg transmission with the middle hip suffering modest peeling and the front and rear hips suffering minor peeling.
shows kinematic data before and after the burn-in; the robot was tasked to walk in open loop for ten seconds on the flat wood surface. Three trials were recorded for each case via motion capture. The mean and the standard deviation (STD) values were calculated over all the strides in a single trial. The mean value of the average height of the robot decreased from 0.062-0.071 m to 0.052 m, or by 16.1%-26.8%. In terms of pitch angle, the mean value changed from positive to negative, indicating the front of the robot tended to point downwards after burn-in. Both the STD of average height and pitch angle increased after the burn-in test.
|Average height (m)||1||0.071||0.002||0.052||0.004|
|Pitch angle (degree)||1||1.475||1.705||-3.969||4.390|
In the second burn-in test, another OpenRoACH walked accumulatively for more than five hours with a power supply of 10.68 V. The speed of the treadmill was 0.0384 m/s. The robot had reinforcing clamps on its hips and leg transmission. Fig. 8 shows the power consumption by the two motors over the five hours, measured by a current sensor (ACS712) at 5 Hz. It can be seen the power decreases over time. The average power consumption for the five hours were 3.77 W, 3.90 W, 3.38 W, 3.01 W and 3.06 W, respectively, indicating a 18.8% decrease in average power consumption. This may be due to the reduction of internal friction in the flexures.
Iv-C Payload Capacity (mbed & off-board ROS)
OpenRoACH enjoys significant payload capacity (better than 1:1) relative to its scale, as indicated via static and dynamic testing. Here we consider the battery as part of the payload. In the tests, the robot (configured with an mbed and carrier board) is powered from a 850mAh 7.4V LiPo battery (58 gram), and is retrofitted with a custom-made 3D-printed payload carrier (29 gram). Three retroreflective markers (1 gram combined) are added for the purpose of collecting data via motion capture.
In dynamic payload capacity testing, mass is placed on the robot until the first failure. We consider four cases studies with added mass as follows: i) 88 gram (i.e. the combined mass of the payload carrier, battery, and markers), ii) 150 gram, iii) 200 gram, and iv) 250 gram. For each case study we collected 20 open-loop trajectories each lasting for 10 seconds under constant commanded motor PWM signals. All tests are conducted on a carpeted floor. The robot was able to complete all 88, 150, and 200 gram payload trials with ease, and 18 out of 20 trials with 250 gram payload before the left side motor burned out.
Individual experimental trajectories are shown in Fig. 9. The height reported corresponds to the plane defined by the three markers, being parallel to the ground plane at an offset of 8.5 cm. Small fluctuations around this value may be observed since the initialization of feet leads to slightly different robot postures. As more weight is added, the robot’s height drops less than 0.5 cm on average. Then, when the robot starts moving, it manages to self-regulate its height without any explicit synchronization between the legs on each side, and no matter the payload it is carrying.
As the payload increases, the open-loop control trajectory endpoints demonstrate shorter distances traveled along the X-axis, and are shifted toward the positive Y-axis (leftward), with smaller dispersion. Further, the maximum height difference at final time remains less than 0.5 cm on average.
It is worth mentioning that other than the burned out motor, no other damage was observed after this set of experiments. For static payload capacity testing, mass is placed on the robot until sagging occurs over 50% of the nominal height. The robot’s static payload capacity is at least 800 grams, depending on how the legs are initialized. This point further shows that the robot chassis is durable, as the burn-in and dynamic payload tests demonstrate.
Iv-D Line Following Tracking Test (mbed)
Further, we demonstrate that OpenRoACH can successfully follow a line based on the line scan sensor’s feedback. The robot was tasked to follow a standard figure-8 path, which often serves as a benchmark for motion control. In this case, the robot is configured with only the mbed microcontroller and carrier board. A proportional control was implemented where the difference in the speed of the left and right motors is directly proportional to the detected deviation of the edge of the line from the center of the line scan sensor array. If the sensor ever fails to detect a line, OpenRoACH follows the last known line position.
Fig. 10(a) shows the actual trajectory of the OpenRoACH following the figure-8 path made from a 1 cm wide black tape. The trajectory was obtained with a motion capture system (OptiTrack, USA) with four markers placed on the robot. OpenRoACH followed the figure-8 path for three cycles, clockwise on the right half and counterclockwise on the left half. The Root Mean Square (RMS) value of its deviation from the central line of the path is cm. Such a deviation is expected because the motion capture system tracks OpenRoACH’s center of mass, while the linescan sensor is placed in front of the robot. The more volatile deviation in right-turning (see Fig. 10(b)) is due to the lateral asymmetry in individual motors and fabrication and assembly process. Four other trials with three cycles were achieved successfully.
Iv-E AR Tag Detection and Tracking (BeagleBone Blue & onboard ROS)
In the last set of experiments, we show that OpenRoACH is capable of tracking an AR tag using an onboard USB webcam. Here, the robot is tasked to follow an AR tag on a treadmill (see Fig. 11). The OpenRoACH carried a BeagleBone Blue, a LiPo battery, and USB camera. The onboard camera detected and tracked a moving AR tag at 4 Hz located in front of the robot. A second camera (not shown) was used to track AR tag absolute position in the world frame. A controller was implemented where the difference in the speed of the two motors is directly proportional to the detected deviation of the robot to the center of the AR tag location.
Fig. 12 shows the relative lateral position of the AR tag viewed by the robot’s onboard camera (solid line) and the absolute lateral position of the AR tag measured by the second camera (dashed line). It can seen that for the ten changes of the AR Tag’s absolute position, the OpenRoACH consistently reacted to reduce relative error, albeit with some delay. Overall, the robot tracked AR tag position with a mean relative error of 0.011 m.
The paper presents OpenRoACH as a small hexapedal robot with onboard ROS. Scientifically, the platform serves as a validation for three design principles to scales up SCM-based legged robots: (1) scale flexure stiffness, strength and yield; (2) improve balance and weight support; and (3) increase peel strength between flexure and non-flexure layers.
Technically, OpenRoACH offers the following features: (1) fully open-sourced mechanical design, electronics, and software; (2) under-actuated with two DC motors actuating six legs; (3) folding based design; (4) laser cutting and 3D printing enabled fabrication; (5) ROS enabled by a single-board computer; (6) low cost of $150; and (7) short fabrication and assembly time. It has demonstrated reliable walking on flat ground surfaces with a high gear ratio and multi-surface running with a low gear ratio. It survived a 24-hour continuous walking burn-in. It can carry 200 gram payloads dynamically and 800 gram payloads statically. It has been tested with integrated feedback from a variety of sensors including gyroscopes, accelerometers, Beacon sensors, color vision sensors, linescan sensors and cameras. All of these suggest OpenRoACH is a suitable research tool for legged robot design, fabrication, gait control, and locomotion. For example, it can be used to study sensorimotor learning strategies on various surfaces and terrain, or in the event of damage to one or more of the legs.
Information and files related to mechanical design, fabrication, assembly, electronics, and control algorithms are publicly available on https://wiki.eecs.berkeley.edu/biomimetics/Main/OpenRoACH.
We thank A. Fearing, D. Haldane, B. Hogg, S. Liu and other team members for the development of OpenRoACH, and Prof. L. Whitcomb of JHU for assistance with BeagleBone Blue. We also thank T. Lam, S. Gopalakrishnan, and K. Ye for their help in payload testing data collections.
-  S. Kim and P. M. Wensing, “Design of dynamic legged robots,” Foundations and Trends in Robotics, vol. 5, no. 2, 2017, pp. 117–190.
-  https://www.osrfoundation.org/, accessed on 1 Aug. 2018.
-  https://www.oshwa.org/definition/, accessed on 1 Aug. 2018.
-  http://www.openrobothardware.org/, accessed on 1 Aug. 2018.
-  https://robotical.io/, accessed on 1 Aug. 2018.
-  http://www.projectbiped.com/prototypes/rofi, accessed on 1 Aug. 2018.
-  http://arcbotics.com/products/hexy/, accessed on 1 Aug. 2018.
-  G. Passault, Q. Rouxel, F. Petit, and O. Ly, “Metabot: A low-cost legged robotics platform for education,” in Proc. 16th Int. Conf. Autonomous Robot Systems and Competitions, 2016, pp. 283–287.
-  S. Lohmann, J. Yosinski, E. Gold, J. Clune, J. Blum, and H. Lipson, “Aracna: An open-source quadruped platform for evolutionary robotics,” in Proc. 13th Int. Conf. Synthesis and Simulation of Living Systems, 2012, pp. 387–392.
-  https://www.poppy-project.org/en/, accessed on 1 Aug. 2018.
-  J. M. Morrey, B. Lambrecht, A. D. Horchler, R. E. Ritzmann, and R. D. Quinn, “Highly mobile and robust small quadruped robots,” in Proc. 2003 IEEE/RSJ Int. Conf. Intelligent Robots and Systems, pp. .
-  S. Kim, J. E. Clark, and M. R. Cutkosky, “iSprawl: Design and tuning for high-speed autonomous open-loop running,” Int. J. Robotics Res., vol. 25, no. 9, 2006, pp. 903–912.
-  A. Stager, K. Karydis, and H. G. Tanner, “A Passively Sprawling Miniature Legged Robot,” in Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), 2015, pp. 3134–3139.
-  K. Karydis, A. Stager, H. G. Tanner, and I. Poulakakis, Experimental Validation of a Template for Navigation of Miniature Legged Robots, ser. Springer Proceedings in Advanced Robotics. Springer International Publishing, 2017, no. 1, pp. 420–430.
-  https://kamigamirobots.com/, accessed on 1 Aug. 2018.
-  D. W. Haldane, K. C. Peterson, F. L. Garcia Bermudez, and R. S. Fearing, “Animal-inspired design and aerodynamic stabilization of a hexapedal millirobot,” in Proc. 2013 IEEE Int. Conf. Robotics Automation, pp. 3279–3286.
-  A. M. Hoover and R. S. Fearing, “Fast scale prototyping for folded millirobots,” in Proc. 2008 IEEE Int. Conf. Robotics Automation, pp. 886–892.
-  “Repository for the open-sourced OpenRoACH robot,” [Online]. Available: https://github.com/dhaldane/OpenRoACH (accessed on 15 Sep. 2017).
-  I. Fitzner, Y. Sun, V. Sachdeva, and S. Revzen, “Rapidly prototyping robots using plates and reinforced flexures,” IEEE Robot. Auto. Mag., vol. 24, no. 1, Mar. 2017, pp. 41–47.