quadruped, robot, pantograph, open-source, multiple gaits, open-loop, pattern generator, turning
Emerging technologies allow to improve our understanding of legged locomotion, and its underlying principles. We argue that custom-designed, bioinspired legged machines like the presented Oncilla robot have the potential to provide valuable insights into biomechanics and neuromuscular control of animal legged locomotion. We show initial robot locomotion examples in simulation and hardware, directed with minimal control effort.
Technological progress shapes research, for instance traditional dissection tools are being expanded by computer guided imaging. 3D scans provide spatial data of the animal’s morphology even in motion (Walker et al., 2014). Advanced computer simulations give insights into complex interactions between muscles, tendons, and skeletal structures during locomotion (Delp et al., 2007)
. This allows estimating movements, forces and interactions of otherwise hidden and unaccessible structures in animals. With the help of new technologies, it is the goal to find necessary and sufficient biomechanical and neuromuscular control components for legged locomotion, by identifying form and function.
However, mapping morphologies to function is not trivial. Evolutionary byproducts such as spandrels can mask function of structures (Gould and Lewontin, 1979). The animal legged apparatus developed for locomotion—a complex task with hybrid dynamics. Balancing, carrying and accelerating the animal’s body requires precise movement coordination through feedback, and redirection of loads. Forces and movements largely differ in swing and stance phase, separated by harsh impacts at landing, and high velocities during toe off (Söhnela et al., 2017).
Our approach includes custom-made, bioinspired legged robot hardware, and its locomotion controller. Oncilla robot allows us to tackle locomotion research from a new perspective, and directly evaluate functional morphologies. With robotic setups we have the freedom to implement and test simplified ‘blueprints’, mimicking aspects of animals’ biomechanics and neuromuscular control. We understand such ‘blueprints’ as building plans which are transferred from Biology to Robotics, for the purpose of testing and characterizing them. The pantographic leg configuration described by witte_quadrupedal_2003 is an example for a mechanical blueprint, that was transferred from animal biomechanics. It is based on the observation of the mostly parallel orientation of distal and proximal limb segments in three-segmented mammalian legs, during locomotion. Mathematical models of the spinal cord activation i.e. in lampreys, so called ’Central Pattern Generators’, are an example for a neuromuscular control blueprint. They were hypothesized and observed in animals, and tested and implemented in robots (ijspeert_swimming_2007).
Robotic implementations can swiftly be altered, i.e. to test effects of scaling, while longitudinal animal studies are significantly more time consuming. Testing features in robot hardware allows one to quantify function; components’ states (position, velocity etc.), forces linking components, and internal loads can be measured with dedicated sensors. Signals for locomotion control and sensing are observable, and mostly controlled. In contrast, recording of deep tissue movements and displacements, and their interacting forces in animals is often not feasible. At present recording of animal nerve signals is limited to simpler setups (Daley et al., 2009).
Computer simulated models of legged animals and legged robots forcibly introduce simplifications, compared to real world physics. Several aspects of physics are notably hard to simulate both precisely and efficiently: leg-ground impacts, wobbling masses, damping, compliance and friction (Schmitt and Günther, 2011). Correctly simulating a legged animal or robot walking through soft substrate is difficult (Falkingham and Gatesy, 2014; Li et al., 2009). In comparison, robotic hardware can be a realistic physical (as opposed to numerical) model of an animal—legs and feet are physically interacting with locomotion substrates through contact forces. Still, computer models are immensely insightful, also because they are relatively easy to derive and apply. Here, we derived a computer simulated Oncilla robot model to rapidly test controller parameters, and create locomotion data.
A future iterative robotic approach to legged research can be composed of four steps: a) implementing blueprints of mechanics and control of legged animals, in a legged robot system, b) creating locomotion case scenarios with legged robots, c) collecting and analyzing locomotion data, and eventually d) implementing alterations to initial blueprints. If successful, improved blueprints will decrease the discrepancy between robot and animal locomotion characteristics. Changes and observed invariants allow insights into underlying aspects of legged locomotion.
From a design and testing perspective, the cyclic iteration works best if tested blueprints can be altered swiftly. Oncilla robot is designed modularly, i.e. its legs and trunk, actuators, sensors, and controllers are relatively easy to replace. Research in legged locomotion progresses iteratively, and fewer researchers are interested in designing entire robotic systems. The Oncilla robot open source project allows researchers to i.e. test sub-functions of a new locomotion controller. Reproducing parts requires a low level of technology; access to a generic 3D printer, and a basic machining workshop. Components such as brushless motors are off-the-shelve items. Printed circuit board layouts and firmware code are included in the project source code. If required, they can be replaced by custom solutions—Oncilla robot’s custom interfaces are open sourced.
A novice user requires a legged robot that is easy to start up and run. A robot with a large basin of robust locomotion patterns is therefore beneficial. Ideally, the robot’s locomotion characteristic would be sufficiently ’docile’. At the same time, the robot should have the potential for complex gait scenarios, such as rapid acceleration, turning, and locomotion on slopes.
Oncilla robot features a spring-loaded leg design enabling simplified locomotion control. As a consequence, this class of legged robots including ’Bow-leg robot’, ’Cheetah-cub robot’, Bobcat-robot’, and ‘Ken’ (Spröwitz et al., 2013; Zeglin, 1999; Khoramshahi et al., 2013; Narioka et al., 2012) can run and hop with feed-forward (FFW) control and does not require model-based control or feedback mechanisms, for basic locomotion on flat terrain. These robots run in FFW mode at comparatively low control frequencies: Spröwitz et al. (2013) report RC servo motor control with as little as control frequency, also in case of step-down perturbations during higher speed running.
In comparison, robots with leg designs like MIT Cheetah (Seok et al., 2013) or ANYmal (Hutter et al., 2016) actively extend leg joints against gravity. Actively extending legs require dedicated controllers for leg length force control (Hyun et al., 2014).
With Oncilla robot we extend the capabilities of its robot class with its passively, spring extending legs; the robot turns rapidly, with minimal turning radii, walks slopes up and down, and outdoors on natural substrates fully mobile, with low computational effort and without the need for sensory feedback.
The remaining paper is organized as follows. In the next section, we briefly present related work. Section 3 describes the robot’s mechanical hardware. Section 4 explains the software architecture of Oncilla robot. Results from hardware and simulation experiments are shown in Section 5. We discuss design, results and future directions and provide links to the open-source files in Section 6, and conclude in Section 7. The supplementary material provides further details on robot design, kinematics, and experiments.
3 Mechanical Hardware
This section explains Oncilla robot’s design, and its actuator design process. Details are provided for its leg design, the active degree of freedom (DOF) for steering, force sensors, chassis design, and electronic circuits.
3.1 Physical robot dimensions
Oncilla robot has the size and weight of a large house cat (Table 1). It is long in total, with between front and hind legs, has a maximal hip height of with its legs hanging in-air, a hip standing height of , and an overall height of , from bottom to handle (Figs. 1 and 2). The robot has of lateral spacing between left and right adduction/abduction axes, and a maximum width of . Total weight is without, and with a lithium polymer battery pack. The trunk was designed with a center of mass (COM) below the hip-shoulder axis. Each leg weighs without, and including leg angle and leg length actuators.
3.2 Actuator design
Choosing a robust actuator consisting of motor and gearbox is not trivial, when designing robots for agile legged locomotion. Here we only considered electromagnetic motors, for their ease of use in laboratories.
Mobile robots carry their own weight. This includes the power source, i.e. in form of batteries, but also printed circuit boards (PCB), actuators, chassis, and sensors. To reduce power consumption and to increase agility and load carrying capability, low weight and efficient actuators are beneficial. At least two DOF per leg are required for versatile legged locomotion. The leg length (LL) DOF inserts forces to maintain vertical posture. This LL DOF is also used for leg flexion during swing phase. The sagittal leg angle (LA) DOF supports movements and torques in fore-aft direction, and retracts and protracts the leg. Legged robot locomotion is a harsh application for electrical motors. Oscillating locomotion patterns at high cycle frequencies lead to high velocities in both directions and at high peak torques. Those present ‘external loads’. Motor and gearbox combinations lead to additional ’internal loads’, and can largely exceed external, required loads (Roos et al., 2006). This effect showed strongly with Cheetah-cub robot, a small quadruped robot actuated by high-geared RC servo motors. RC servo motors would work well for motion frequencies. However at motion frequencies and larger amplitudes, the over gearbox ratio led to overheating problems. Only brief experiments with cool-down phases were possible in a repeatable manner (Spröwitz et al., 2013).
To improve actuation compared to Cheetah-cub robot, we simulated external load case scenarios for LL and LA actuator, based on a simplified foot locus. We assumed cycle frequencies between and , calculated for a trotting quadruped with Oncilla robot’s dimensions. This external load case data was piped through an actuator optimization framework (Roos et al., 2006), creating a simplified-load dynamical motor model. From this, we chose gearbox ratios in LL () and LA () direction, for a given brushless motor. Details for the external and internal load case simulation setup are provided in supplementary documentation. With an estimated
effective stride length, the modeled robot’s cost of transport was calculated(Tucker, 1970). Results are shown in Fig. 7. The model predicts an asymptotically declining COT, with at a low speed of , a lowest COT of at , and a slightly increasing COT at higher speeds ( at ). We later recorded the hardware robot’s instantaneous power during locomotion, which shows a good match. While underestimating the hardware COT by about , the simplified-load model did qualitatively predict the asymptotically declining COT characteristics of the hardware robot.
3.3 Leg and foot design
Oncilla robot’s leg design is a continuation of Cheetah-cub robot’s. One active DOF was added for adduction/abduction (’AA joint’), to give the robot steering capabilities. A set of springs with stiffness extends the pantograph leg (red ’diagonal spring’, Fig. 3). One pantograph-segment is replaced with a tensile spring (blue ’parallel spring’, stiffness ). This spring allows flexion of the distal leg segment under load. The leg extends by , from its shortest length i.e. during mid-swing, to a fully extended leg length of in air. A short foot is mounted, spring tensioned by a torsion spring (). Absolute position encoders are placed at hip axes, and two leg joints (supplementary material, Fig. S7, ). The difference between angles and indicates the external load torque acting at , i.e. this joint sensor also acts as analog contact sensor.
3.4 Leg length and leg angle actuation
The robot was designed with mechanical improvements in mind compared to Cheetah-cub robot: increasing load carrying capabilities, incorporating an additional DOF per leg for efficient and fast turning, adding multiple modes of sensing, and adding batteries and on-board power for mobile application. Each additional feature increased the weight, from a Cheetah-cub robot to a Oncilla robot. For Oncilla robot’s larger weight, a stiffer leg spring was mounted, which in turn required a higher-torque actuator for the leg flexing mechanism. The LL actuator is mounted serially to the leg angle actuator, and shortens the leg through a cable (Fig. 3). This design has positive consequences: a) The LL actuator is decoupled from external forces, such as sudden impacts. Hence, the mounted gearbox requires a lower safety rating, and can be designed with a lower module gear design. b) During stance phase, parallel leg springs act passively, i.e. the design is a close approximation of the mechanism underlying the spring loaded inverted pendulum (Blickhan, 1989, SLIP template). The sagittal leg angle actuator is directly attached to the proximal leg segment. The motor’s long and narrow shape blocked mounting left and right leg motors in line. Instead we applied a non-symmetrical actuator placement, with legs relatively close to each other (, Fig. 2
and Fig. S6). The short distance leads to a short moment arm i.e. for diagonally touching legs, and is meant to reduce rolling motions. Leg angle motor and hip axis are connected by a large module spur gear (Fig. 2). Relative encoders are directly mounted to both brushless motor axes. One absolute encoder is mounted at the main LA axis. Incremental motor encoders support precise motor control, and absolute encoders read leg segment positions, and leg spring loading.
3.5 Hip adduction and abduction joint
The added hip adduction and abduction (AA) actuation was installed for efficient turning. The chosen AA actuator is a strong, position controlled RC servo motor (Kondo KRS 2350 ICS). It was selected for its compact design, high holding torque, and standardized control interface. The servo horn connects through a four bar mechanism with the leg, with a movement range of (Fig. 2).
3.6 Force sensors
Custom-made, two-axis force sensors were implemented proximally, within the AA suspension between trunk and legs (, Fig. 1). Force sensors were designed based on double cantilever bending beams, with foil strain sensing resistors in full bridge configuration. Sensors measure forces in vertical and fore-aft direction, in the trunk’s coordinate system. Oncilla robot’s force sensors were not utilized for the gaits shown in this work. Instead, all gaits shown are generated in feed-forward mode. Force sensing is however necessary for either model-based control based on leg loading information, or non-model based controllers with i.e. reflex-like feedback (BIOROB-CONF-2008-003). Because similar locomotion experiments are planned with Oncilla robot, custom designed force sensors are included here.
We considered two mounting places: distally, i.e. as feet, or proximally, between the robot’s trunk and legs, as finally chosen. When mounting force sensors distally, almost no effects from unsprung masses are measured, but direct contacts between leg and ground. Consequently, the resulting force signal requires less noise filtering. However, distally and foot-mounted sensors rotate with the foot frame. In case the direction of force is of interest for control, the sensor’s orientation should be recalculated through the serial chain of trunk, leg segments, and foot sensor. Mechanically, a distal sensor placement moves the leg’s center of mass further distally, especially for larger and more complex sensors. It also limits mounting spring-loaded feet. To cope with harsh touch down impacts, a miniaturized but also robust sensor design is required.
In comparison, proximal force sensor mounts are relatively independent from leg and foot design. In our case sufficient mounting space was available proximally. Standard-sized, strain gage-based sensors were chosen and implemented. Drawbacks exists; proximally sensed force signals are influenced by mass and inertia of the moving leg, and data post-processing is required. Latter will introduce sensor signal delays. Such delays can present an obstacle especially for fast loop locomotion controllers. Proximal force sensors require no recalculation of the sensor’s orientation, as they are fixed in the trunk frame.
3.7 Electronics and PCB mounting
Oncilla robot carries its actuators and sensors, a battery pack, and PCBs for motor control, power supply, and communication. Brushless motor driver boards were custom designed, and each of four boards provides control and power for two brushless motors. One board weighs , and all are mounted low, at the robot’s geometric center. This placement helps keeping the robot’s COM below the virtual hip-shoulder axis—the robot’s trunk ’hangs’ in-between. The remaining PCBs are placed at the front of the robot (RB-110, main computing and communication), and at the rear end (power supply), for easy access. An inertia measurement unit (MicroStrain 3DM-GX3-35 IMU) is mounted above the motor driver boards. Further details on the electronic layout, components, operation system are available in the supplementary material (i.e. Fig. S9).
In this section we describe software related concepts developed for the Oncilla robot; namely the communication bus connecting main control boards and periphery, the motor controller, Oncilla robot’s software architecture, and the simulated Oncilla robot model in Webots.
4.1 Communication layer and protocol
Communication between main electronic modules is performed over a RS-485 physical layer, organized in a master/slave point-to-multipoint half-duplex configuration (Fig. 4). The data link and network layer on the bus is implemented through a custom Simple Binary Communication Protocol (SBCP). Latter implementation is an extension of the Bioloid Dynamixel Communication Protocol version (Dynamixel, 2006). The main modification is the change of the two byte packet preamble (value 0xFFFF). This preamble was separated; one single byte preamble (0XFF), and a ClassID byte to designate the device type we want to address, i.e. the motor driver board, power board, or master control board. By reserving the class value for Bioloid devices, Oncilla robot’s hardware and driver are capable of directly incorporating these.
A major challenge in the SBCP design was the high communication bandwidth requirement. We initially aimed at a control loop on the embedded computer level, this translates to a RS-485 baud rate of . Recently such high speed UARTs became available in embedded computers ( at the moment), through an USB to serial Integrated Circuit (IC). However, USB bus communication is scheduled by frame sizes, and a naive bus implementation would be limited to reach a device every . Instead, we implemented a bus control data flow in a dedicated device (SBCP master board) controlled by a dsPIC33FJ128MC802 Digital Signal Processor (DSP), mounted after the USB to serial IC. This SBCP master board is able to: a) Handle a group of up to combined packets sent over a full duplex UART connection. b) Manage communication over the half duplex RS-485 bus with a latency of and maximal jitter of . c) Detect slave timeouts and react accordingly with user customizable delays. To reduce jitter and latency to a minimum, we utilized many optimization features of the dsPIC33FJ processor family such as Direct Memory Access (DMA), reduction of interruption stress on the processor, and anticipated packet precomputation and pre-buffering to reduce latency between packet responses. All implementation details are abstracted by a reusable library, SBCP-uc 4. This new open source library enables fast development of slave device SBCP interfaces for this processor family.
4.2 Motor control
The custom designed motor driver boards implement a Proportional-Integral-Derivative (PID) controller for two brushless motors on a dsPIC33JF128MC804 DSP. It controls two A3930 motor driver ICs which are used to drive a three phase inverter made of six IRFR48Z MOSFETs. These ICs are able to limit the motor winding current. DSP PID controller parameters were hand tuned. In order to reduce motor jitter during position tracking, a velocity profile interpolation is implemented on the motor driver DSPs. The user sets the desired tracking frequency, and the tracking velocity is then computed on-board. Initially we observed trajectory tracking losses every several seconds. We found the cause in a combination of communication jitter and real-time clock frequency mismatch. Tested RB-110 boards had crystal frequency deviations of up to
, from their standard frequency. As a workaround, we implemented precise buffering and real-time clock re-synchronization heuristics on the motor driver DSP. The maximum tracking frequency is, half of the DSP internal control loop ().
4.3 Software Architecture
The software architecture of Oncilla robot is based on two primary design decisions tied to the requirements of open research projects (Nordmann et al., 2013): a) It provides a common interface for the simulator and for the hardware. This allows for easy and fast transition of experiments between simulation and real-world experiments. b) It provides a local interface for fast control loops running on the embedded PC, as well as a remote interface to allow more complex applications to control the robot over the network. Figure 5 shows the software architecture that exposes the abstracted interface for both simulation and hardware at different application programming interface (API) levels according to application requirements.
4.4 Simulation and Robot Interface
One of the main design goals was to implement a common abstraction between hardware and simulation, with binary compatibility, to facilitate an easy transfer between hardware and simulation. The abstraction also allows to exchange the currently Webots-based (Michel, 2004) simulation back end. Here we chose Webots software as our multi-body simulation software for Oncilla robot. Since the lowest API level is implemented for the simulation and the hardware back end, applications implemented against any of the API level - can be switched transparently between simulation and hardware (Fig. 5). By providing a common abstracted interface for both simulation and hardware, it enables fast and easy transfer of experiments between these two domains. It is also possible to replay real experiment recordings (e.g. joint angles) in simulation, and vice-versa.
4.5 Local and Remote Interface
The Oncilla interface is accessible through a local C++ interface (API levels and , Fig. 5) and remotely via the open-source middleware for extended language and tool support (API level 2). The low-level sensors and actuators are locally accessible through a C++ interface, using multiple inheritance to expose the node taxonomy. The local interface enables light-weight applications with fast sensor feedback running on the embedded PC without dealing with network latency. The Oncilla interface is also remotely available by the open-source middle-ware Robotics Service Bus (RSB) with C++, Java, Python, and Common Lisp bindings and therefore allows applications in all four languages (Wienke and Wrede, 2011)
. This enables extended tool support, e.g. external logging, monitoring and recording of experiments. It supports more complex and computationally expensive applications to run on distributed PCs and control of the robot over the network. This was successfully applied and demonstrated in experiments that were specified in domain-specific languages. The experimental source code was automatically generated, as well as machine learning applications that can not run on the embedded PC due to resource limitations(Nordmann et al., 2013).
4.6 Webots Model of Oncilla robot
A simulated model of Oncilla robot was created in Webots (Michel, 2004). It is based on the mechanical properties extracted from Oncilla robot’s computer aided design (CAD) model, i.e. weight, center of mass, inertia, link dimension, and spring constant. The motivation to use a physics engine intended for games such as Open Dynamic Engine (ODE, physics engine of Webots) is a balance between simulation speed and required simulation accuracy. Internal kinematic loops in Oncilla robot’s pantograph leg, and its asymmetric actuation can be expressed as a constraint in the underlying Linear Complementary Problem (LCP). There is a drawback to this approach; Open Dynamic Engine favors stability over accuracy, which results in a poor constraint resolution. Likely, such a simulator is well suited for fast prototyping, but less suited for on-board, model-based control. We used the default Webots actuator model for the proximal joints (hip and shoulder). This model applies a PID controller, with a maximum output velocity and torque limited by the theoretical motor limits, i.e. a maximum torque of and a maximum speed of ( constant motor torque, overall gear ratio , no-load motor speed). For the leg’s flexion and extension DOF we are directly manipulating the LCP constraint to control the mechanical stop of the diagonal spring. Since there is no easy way to specify the maximum torque or linear force in ODE to satisfy a given constraint, we transformed this force constraint into a velocity constraint using a linear motor model with internal resistance. We simplified and assumed that the motor torque required for actuating the leg length cable was caused by the compressive force of the diagonal spring. In reality, this torque is an upper bound since external forces could induce additional leg flexion. We further limited the maximum speed at which motors move to the mechanical stop constraint for the next simulation step, proportionally to the instantaneous torque. This limit is ranging from maximum speed with no torque required, to zero speed at maximum motor torque requested. The resulting model corresponds to a simple, linear motor model. Finally an implementation of the C++ interface level back end was developed. It provides the user with the ability to use the same API to seamlessly switch control between either the real hardware or the simulated robot.
5 Experiments and experimental results
This section describes experimental results with the hardware Oncilla robot utilizing the here described open-loop controller for straight level locomotion indoors, locomotion descending and ascending slopes, and turning strategies with and without AA joints. Links to videos of Oncilla robot locomotion are provided in Table S1 (supplementary material). Further, we provide experimental results with the simulated Oncilla robot running in Webots. Advanced experiments with Oncilla robot’s closed loop control framework are documented in Ajallooeian (2015b).
5.1 CPG controller for straight locomotion
For the robot’s locomotion control, we applied morphed oscillators (Ajallooeian et al., 2013c), to implement a Central Pattern Generator model (Ijspeert, 2008). Morphed oscillators are nonlinear oscillators which can encode arbitrary limit cycles defined as phase-dependent functions. Given a desired joint trajectory, a morphed oscillator can be implemented to encode this trajectory as a stable limit cycle. This provides a smooth trajectory generator with the capability of feedback integration. A morphed oscillator utilizes a simple oscillator as base and morphs it to obtain the desired limit cycle behavior. Here we use a unit radius amplitude controlled oscillators as base:
where , and are the phase, the coupling dynamics, and the radial output of the th oscillator, respectively. is the rate at which the dynamics converge to the limit cycle, is the locomotion frequency multiplied by , and and are the coupling strength and phase difference between the th and th oscillator. The phase difference is exploited to implement inter-joint coordination. defines the shape of the limit cycle of the th oscillator and . is the additive feedback. It can be designed through strategies explained in Ajallooeian et al. (2013b, c). , the time-integration of , is the joint angle reference for the th DOF.
To design locomotion gaits, we define foot trajectories with respect to the hip frame, similar to Maufroy et al. (2010). We use simplified closed-form inverse kinematics to convert those to joint trajectories. These joint trajectories define functions. The definition of is gait dependent, for example for a trot gait for adjacent hips, and for diagonal hips. Finally, for all the oscillators. We applied solely open-loop gaits in this work. However, Oncilla robot’s hardware and software architecture allows to utilize the robot’s internal sensors and apply closed-loop control, i.e. with reflexes and posture control (Ajallooeian, 2015b).
5.2 Level trotting
Figure 6 shows experimental data of Oncilla robot trotting forward at an average speed of (), on level terrain, on a standard laboratory surface and with the CPG controller described in the previous section, in open-loop mode. Kinematic data was recorded at with a motion capture system (Naturalpoint, Inc., 2011). Position and velocity data of the robot are shown, ordered by its left-right, fore-aft, and its up-down direction. The robot’s center of mass (COM) oscillated vertically about , left-right velocity stayed in the range of . Peak forward speed of this recording was . The recorded roll angle during trotting stayed symmetrically around (), the pitch angle of the robot oscillated around ().
In further tests, Oncilla robot’s best forward trotting speed at was . This is equivalent to body lengths per second, with a body length of (shoulder-to-hip distance, 2). The best average speed backwards was (), at locomotion frequency. Backwards trotting with Oncilla robot showed less slippage, leading to a larger effective stride length. Forward locomotion frequencies above yielded no speed gain, due to slippage. Links to videos of the robot trotting both indoors and outdoors (gravel, step-down, flat terrain) are provided in Table S1.
Cost of transport (COT) was measured on the tethered robot (). Stand-by power consumption with no actuator movement was subtracted from all runs (), the remaining power consumption (P) was used to calculate the cost of transport (Tucker, 1970): with , and average speed over at least cycles. Although COT is often given without units, we use , to avoid mix-up with COT values given in . Froude numbers are calculated as , with standing hip height. Duty factor values are given as ratio of leg stance to cycle time.
Figure 7 displays recordings for speed and cost of transport (COT) for the simplified modeled (’SLDM’, Section 3.2) and the hardware (‘real’) Oncilla robot, during forward (square markers) and backward (round markers) trotting locomotion, over tested speeds. At very low speed () the robot trotted forward with a high COT of . It reached its best forward COT at its maximum recorded speed on level terrain: with a COT of . Backwards locomotion was more efficient at low speed, with a COT of at . At higher backwards speed () the robot trotted with a COT of .
Fig. 7 shows the SLDM model underestimates the real robot’s COT. Considering its simplicity, the SLDM model does approximate the hardware robot’s COT well, with at . The model also qualitatively captures the asymptotic decrease of COT over speed.
5.3 Slope up and down locomotion
Table 2 illustrates results for locomotion on inclined surfaces, and Fig. 8 depicts a slope descending locomotion in forward direction. All slope experiments were conducted without changes to the standard level-trotting locomotion controller, or changes to the hardware. This allows better comparison between level and slope trotting, although adapting the foot friction and gait patterns, and applying closed loop control would improve the robot’s speed (Ajallooeian et al., 2013b). For the experiment documented in Table 2, Oncilla robot trotted forward and backward, level up and down slopes up to .
For inclinations of more than , the robot could only climb slopes when going backwards. The highest inclination climbing was recorded at , with the robot going backwards at , at commanded speed. The robot trotted forward onto slopes of , with a speed of . Down, the robot kept the commanded speed of when pointed forward. Its speed increased by when going down backwards (). From video footage we observed that runs with strong speed deviations coincided with strong robot feet slippage.
5.4 Turning maneuvers
We utilized two strategies to implement turning. For the first method (adductor/abductor amplification: ’AA-amp’), a sine-wave was embedded into the oscillator nodes controlling the adduction and abduction joints. Turning was achieved by setting the amplitude of the fore and hind AA joints () with opposite signs, proportional to the desired turning rate (). In AA-amp, turning time is only a variable of AA amplitude.
For the second method (asymmetrically shortening stride length: ’ASL turning’), step length between the left and right leg was modified in order to implement turning, without the use of AA joints. We implemented a turning strategy typically used for two-wheeled mobile robots; the step length was shortened for the legs on one side of the body, to turn in the same direction. The robot turns in-place if step lengths are equal, but with opposing signs.
is the step length amplifier, for leg , and is the turning factor. This approach produced a small amount of slippage because the ground-contacting legs (diagonal pair of legs, during trot gait) are not on the same axis. Note that in this approach the turning time is a variable of both the commanded forward velocity and the turning factor.
AA amplification was used for most of the turning cases, however fast turning with this method resulted in considerably larger forces at AA joints. The ASL method was mostly used to turn when the ground was uneven. This method does not depend on lateral foot movement, and therefore poses no danger of sideways stumbling against obstacles. Quantitative results from experiments with these two turning strategies are provided in Table 3. They show that AA-amp allows to turn on the spot, taking for a full turn. The AA strategy leads to small speed losses during turning, between to . AA-amp turning radius was between and and depended on turning speed. In comparison, the ASL method showed higher speed losses at turning. The best parameter configuration led to a speed loss, at a turning radius of . The smallest ASL turning radius recorded was . Turning maneuvers, including on-spot turning, are available as supplementary videos (Table S1).
5.5 Leg and force sensor characterization
The recorded sensor data of the robot’s proximal, trunk-mounted force sensors shows mixed results (Fig. 9). Especially the horizontal force signal is sensitive to parasitic stresses and strains of the mounting brackets, caused by forces between legs and trunk. To keep its weight low, the robot is designed from lower stiffness materials such as 3D printed plastic. As a consequence, the AA suspension bracket deflects under load, and influences forces sensor readings. In the horizontal force signal, this appears as high-frequency noise. The robot’s vertical force sensor showed good signal quality. After calibration and post-processing, vertical reaction forces can be extracted (Fig. 9), which can be utilized for future feedback-based controllers.
Stance phase timing, and to some extend leg loading can be estimated by observing the difference of leg joint deflection between knee joints, and spring loaded ankle joints (). Fig. 10 shows the resulting angular signal, with joints being charged periodically at each stance phase. If required, this angular difference signal can be multiplied by the ankle joint stiffness, creating a source for ankle joint torque sensory feedback (not shown here). Importantly, this method is comparatively cheap, both from a hardware and computational perspective. It requires no additional hardware sensing framework, while providing joint angular, stance timing, and loading information.
5.6 Oncilla Webots Simulation
The Webots (Michel, 2004) simulated Oncilla robot allows one to test control algorithms and locomotion scenarios without access to the real hardware. The controller can then be transferred to the robot, with the help of Oncilla robot’s software architecture. Certain limitations for a direct transfer of control parameters exist (’one-to-one transfer’) because of the ’reality gap’ between simulated and real robot, those are also explained in the following.
We implemented a Webots gait demonstration with the following parameters: locomotion frequency , desired step length of , fore and hind touch down angle around . To maximize the available leg retraction, a foot lift-up height of was set. The virtual, commanded duty factor was , the observed effective duty factor and for fore and hindlimb, respectively. Remaining control parameters were optimized with a PSO framework (Kennedy and Eberhart, 1995) to maximize covered distance over a time interval, after a time window to reach steady-state. Snapshots of the Webots Oncilla robot trotting are shown in Fig. 11, the corresponding video link is given in Table S1 of the supplementary material.
From results we recognize the relatively large speed gap for forward locomotion between hardware and Webots simulation at equal locomotion frequencies (Figs. 12 and 6, ). The hardware robot reached a maximum forward speed of , with effective stride length. The Webots model reached a forward speed of , with effective stride length. The Webots robot’s COM oscillated vertically. The simulated robot showed roll angle oscillating around , and pitch angles oscillating around .
Further analysis of the foot locus shows the optimization framework increased the model robot’s speed by making precise use of the robot’s toe segment (Fig. S1). This increased effective stride by , from to . In hardware, we observed a decrease of effective stride length, compared to the commended stride length. At frequencies above the hardware robot started slipping, and the effective stride length reduced to .
The gap between simulation and real-hardware speed makes it hard to one-to-one transfer control parameters for open-loop gaits. However, in parallel to this work, Oncilla robot’s Webots model was successfully applied to prototype a closed loop controller (Ajallooeian, 2015b; Ajallooeian et al., 2013a). The transfer of the closed-loop controller onto the hardware was done with minimal effort, and showed a better performance matching compared to the open-loop parameter transfer shown here.
Oncilla robot is a small, light-weight, quadruped legged robot with compliant, spring-loaded pantograph legs and three active degrees of freedom per leg. The robot trots open-loop indoors and outdoors, with forward speeds up to (). It climbs up to slopes at a speed of backwards, and slopes at a forward speed of . All hardware experiments shown are with a single controller, for trotting, in open-loop. The robot descends slopes of at a speed of backwards, and forwards. Oncilla robot’s adduction/abduction (AA) joints permit fast turning maneuvers, with smaller turning radii compared to turning maneuvers utilizing only leg angle and leg length joints. Utilizing AA joints enables turning on the spot, with for a full turn. Furthermore, AA turning allows the robot to turn while mostly maintaining the commanded speed, i.e. the robot would lose as little as speed while turning on a radius of . Oncilla robot showed best cost of transport (COT) at a locomotion speed of , with . A set of sensors is available to monitor the robot’s posture, ground contacts, and trunk-leg reaction forces for feedback control. A high bandwidth, real-time () network allows communication between the robot’s electronic boards. The robot’s main controller runs at in real time. The robot’s software architecture allows to transparently control the robot either onboard, or remotely, with multiple programming interface options. It further allows to control hardware and Webots simulation with the same controller architecture. Oncilla robot’s multibody dynamics simulation in Webots can be used for fast prototyping controller architectures.
Oncilla robot incorporates several features of Cheetah-cub robot (Spröwitz et al., 2013). We implemented additional turning capabilities through Oncilla robot’s AA DOF, with a set of RC servo motors rotating the robot’s leg in an axis parallel to the robot’s rolling axis. Due to the nature of serial joints, the entire leg structure and its actuators are rotated by the AA joint. This worked satisfactorily, for the shown examples. In case of harsh perturbations or for agile side stepping motions, a more powerful AA joint will become necessary.
Oncilla robot’s spring-loaded, pantograph legs performed well for level locomotion indoors and outdoors, slope trotting upwards and downwards, turning during locomotion, and turning on the spot. The leg’s intrinsic compliance resolves overdetermined kinematic loops, and all experiments could be performed open-loop. Closed-loop control with Oncilla robot is possible for unstructured terrain (Ajallooeian, 2015b; Ajallooeian et al., 2013b). The current design has a limitation which we are planning to resolve in the future: the leg extends only by releasing its charged extensor springs. For maneuvers demanding higher leg power, such as jumping or leaping, an additional actuator, or a redesign of the robot’s flexor actuator into a flexor-extensor actuator will become necessary.
One serious problem with RC servo actuated robots is actuator saturation. At combined loads of high speed and torque, these actuators heat up above their thermal dissipation capabilities and required regular cool-down stops as with Cheetah-cub robot (Spröwitz et al., 2013). Hence, Oncilla robot’s LL and LA actuators were designed for a low cost of transport, and for sufficient thermal capacities through larger, brushless motors, and optimized gearbox ratios. This lowers the robot’s relative power intake, and allows to run it without exceeding hand-warm motor temperatures, at high load and up to cycle frequency. The relatively low COT allows the robot to run tether-free up to with a lithium polymer battery. In open-loop mode, good speed can be achieved, i.e. (). Optimizing locomotion control parameters, and introducing feedback will likely yield higher robot speed. We expect that continuous progress with off-the-shelf components will further reduce robot weight and increase robot performance: more compact, powerful, brushless motors of different form factors are becoming available (De and Koditschek, 2015), together with compact, high-power, four-quadrant brushless motor controllers (Vedder, 2018).
Oncilla robot’s best measured hardware cost of transport of is lower than Cheetah-cub robot’s COT of . Tucker (1970) shows that the metabolic cost of transport of animals decreases with increasing body weight. This heuristically found relationship predicts a COT of for an animal of the weight of Oncilla robot (). The currently most energy efficient, fully active quadruped robot is the MIT Cheetah, featuring a COT of at fast, trotting (Hyun et al., 2014). It benefits from custom made brushless actuators, and energy recuperation capabilities.
Oncilla robot trotted slopes with inclination angles up to , faster and with less slippage while going backwards. As nothing else changed, the speed discrepancy must have been caused by leg asymmetry, between forward and backward orientated feet, and pantograph leg joints. More research is required to understand the effects of underactuated, segmented and spring-loaded legs.
By open-sourcing Oncilla robot’s mechanical, electrical, software, and simulation blueprints, we aim towards an easily accessible platform for research and education. We hope this project will help spawning improved robots, and allow the field to grow and extend rapidly. All source files are online accessible through permanent repositories, links are provided in Table 4. This project was shared between multiple universities in the framework of the EU-FP7 AMARSi project, and five Oncilla robots have been distributed among project partners.
Recently, fluidic and fluidic-hybrid actuation became an interesting choice for articulated robots research (Whitney et al., 2016). Pneumatically actuated quadruped robots like Pneupard (Rosendo et al., 2014) can utilize the actuator’s intrinsic compliance, and high frequencies. This keeps robot weight and complexity low. At the same time, large torques, angular amplitudes, and locomotion frequencies even above are feasible (Narioka et al., 2012). This present an interesting option for future electric-pneumatic hybrid legged robots.
Soon, legged robots will need to keep up with the claim to perform better than wheeled or tracked vehicles in cluttered environments, and over rough terrain. Boston Dynamics LittleDog robot showed great results as the common robot platform in an earlier DARPA challenge (Righetti et al., 2013). During the tasks of climbing over obstacles, LittleDog robot benefited from its three DOF leg design, and a very large motion joint range. Other legged robots like StarlETH robot (Hutter et al., 2013) or HyQ (Semini et al., 2011) also implemented DOF legs with large joint ranges. Oncilla robot’s AA joint allows the robot to turn on the spot, and trot efficiently during turning. For tasks in rougher terrain, or to stabilize the robot from sudden sideways perturbations a faster and stronger AA joint with a larger motion range will become necessary.
We found Oncilla robot’s small form factor very helpful. Production and component costs are relatively low, and maintenance is easy. Due to its low weight the robot can safely be handled by a single user, and without gantry installations.
Finally, Oncilla robot provides sensor data, of joint and motor encoders, from gyroscopes, forces sensors, and ground contact sensing based on leg spring deflection. This allows research of closed-loop control (Ajallooeian, 2015b; Ajallooeian et al., 2013a, b), and testing bioinspired locomotion controllers. It also makes Oncilla robot a compact and relatively low cost mobile gait analysis tool. Oncilla robot has remaining load capacities for extra sensors like stereoscopic cameras, or distally mounted leg-force sensors. The robot’s communication interface and software architecture allows to include such sensors transparently.
We presented a novel compliant quadruped robot, its software and control framework, and its Webots simulation. We characterize Oncilla robot trotting on level ground, climbing and descending slopes, and during turning. Locomotion speed and direction were set by an open-loop controller in all experiments, without the need to track the robot’s posture, internal leg constraints, or considering foot slippage. By outsourcing control tasks into mechanics, Oncilla robot can locomote with low control effort, i.e. open-loop and low control frequencies, over different in- and outdoor substrates. Oncilla robot reached a maximum forward speed of at a transport of COT, at weight. The robot can turn on the spot, or with a very small turning radius, depending on the applied controller and the utilized robot DOF. The presented example locomotion controller implements gait features in a modular manner, through a central pattern generator. Furthermore, Oncilla robot’s open software architecture allows testing other control approaches. For future research with closed loop control, sensors are incorporated and ready for use, i.e. reaction force sensors, gyroscopic sensing, leg-ground detection, and absolute joint position sensors. Oncilla robot’s mechanical and electrical blueprints, firmware, simulation, and software architecture are open-source available under GPLv3 (Free Software Foundation, 2007a) for hardware and firmware, and LGPLv3 (Free Software Foundation, 2007b) for driver, simulation and software architecture. Links are available in Table 4. The supplementary document for this manuscript includes a more detailed description of Oncilla robot’s electronic hardware components, a table with links to videos, schematic figures and kinematic variables of the robot’s leg morphology, and details to the knee and hip motor optimization applied.
Links to videos, via YouTube
Oncilla robot trots backwards and forwards https://youtu.be/38pX1FBRlEA
Oncilla robot trotting up a slope https://youtu.be/c7wudgzZNkc
Oncilla robot turning on the spot, real-time https://youtu.be/TH8AB1mdSoY
Oncilla robot in outdoor environment https://youtu.be/A20KLlwuwTg
Webots simulation of Oncilla robot trotting forward https://youtu.be/0eAhhNvKjGM
The research leading to these results has received funding from the European Community’s Seventh Framework Programme (FP7/2007-2013 Challenge Cognitive Systems, Interaction, Robotics; grant agreement number 248311 (AMARSi)) and from the Swiss National Science Foundation through the National Centre of Competence in Research Robotics. The work of Alexandre Tuleu was supported by the scholarship SFRH/BD/51451/2011 from Fundacao para e Cienca e a Tecnologia.
We thank Jesse van den Kieboom, who developed code, and provided infrastructure for the PSO-based optimization framework. We thank A. Crespi, A. Guignard, M. Heynick, F. Longchamp, and Y. Bourquin for technical support.
- Ajallooeian (2015a) Ajallooeian, M. (2015a). Pattern Generation for Rough Terrain Locomotion with Quadrupedal Robots: Morphed Oscillators & Sensory Feedback. PhD, EPFL, Lausanne
- Ajallooeian (2015b) Ajallooeian, M. (2015b). Pattern Generation for Rough Terrain Locomotion with Quadrupedal Robots: Morphed Oscillators & Sensory Feedback. Ph.D. thesis, STI, Lausanne. doi:10.5075/epfl-thesis-6518
- Ajallooeian et al. (2013a) Ajallooeian, M., Gay, S., Tuleu, A., Spröwitz, A., and Ijspeert, A. J. (2013a). Modular control of limit cycle locomotion over unperceived rough terrain. In Intelligent Robots and Systems (IROS), 2013 IEEE/RSJ International Conference on (Ieee), 3390–3397
- Ajallooeian et al. (2013b) Ajallooeian, M., Pouya, S., Spröwitz, A., and Ijspeert, A. J. (2013b). Central pattern generators augmented with virtual model control for quadruped rough terrain locomotion. In Robotics and Automation (ICRA), 2013 IEEE International Conference on (IEEE), 3321–3328
- Ajallooeian et al. (2013c) Ajallooeian, M., van den Kieboom, J., Mukovskiy, A., Giese, M. A., and Ijspeert, A. J. (2013c). A general family of morphed nonlinear phase oscillators with arbitrary limit cycle shape. Physica D: Nonlinear Phenomena 263, 41–56
- Blickhan (1989) Blickhan, R. (1989). The spring-mass model for running and hopping. Journal of Biomechanics 22, 1217–1227. doi:10.1016/0021-9290(89)90224-8
- Daley et al. (2009) Daley, M. A., Voloshina, A. S., and Biewener, A. A. (2009). The role of intrinsic muscle mechanics in the neuromuscular control of stable running in the guinea fowl. The Journal of Physiology 587, 2693–2707. doi:10.1113/jphysiol.2009.171017
- De and Koditschek (2015) De, A. and Koditschek, D. E. (2015). The Penn Jerboa: A Platform for Exploring Parallel Composition of Templates. arXiv preprint arXiv:1502.05347
- Delp et al. (2007) Delp, S., Anderson, F., Arnold, A., Loan, P., Habib, A., John, C., et al. (2007). OpenSim: Open-Source Software to Create and Analyze Dynamic Simulations of Movement. IEEE Transactions on Biomedical Engineering 54, 1940–1950. doi:10.1109/TBME.2007.901024
- Dynamixel (2006) Dynamixel (2006). AX-12 user manual
- Falkingham and Gatesy (2014) Falkingham, P. L. and Gatesy, S. M. (2014). The birth of a dinosaur footprint: Subsurface 3d motion reconstruction and discrete element simulation reveal track ontogeny. Proceedings of the National Academy of Sciences , 201416252doi:10.1073/pnas.1416252111
- Free Software Foundation (2007a) Free Software Foundation (2007a). Gnu general public license. http://www.gnu.org/licenses/gpl.html. Last retrieved 2013-04-01
- Free Software Foundation (2007b) Free Software Foundation (2007b). Gnu lesser general public license. http://www.gnu.org/licenses/lgpl.html. Last retrieved 2013-04-01
- Gould and Lewontin (1979) Gould, S. J. and Lewontin, R. C. (1979). The Spandrels of San Marco and the Panglossian Paradigm: A Critique of the Adaptationist Programme. Proceedings of the Royal Society of London. Series B. Biological Sciences 205, 581–598. doi:10.1098/rspb.1979.0086
- Hutter et al. (2016) Hutter, M., Gehring, C., Jud, D., Lauber, A., Bellicoso, C. D., Tsounis, V., et al. (2016). Anymal-a highly mobile and dynamic quadrupedal robot. In Intelligent Robots and Systems (IROS), 2016 IEEE/RSJ International Conference on (IEEE), 38–44
- Hutter et al. (2013) Hutter, M., Remy, C., Hoepflinger, M., and Siegwart, R. (2013). Efficient and Versatile Locomotion With Highly Compliant Legs. IEEE/ASME Transactions on Mechatronics 18, 449–458
- Hyun et al. (2014) Hyun, D. J., Seok, S., Lee, J., and Kim, S. (2014). High speed trot-running: Implementation of a hierarchical controller using proprioceptive impedance control on the MIT Cheetah. The International Journal of Robotics Research , 0278364914532150doi:10.1177/0278364914532150
- Ijspeert (2008) Ijspeert, A. J. (2008). Central pattern generators for locomotion control in animals and robots: a review. Neural Networks 21, 642–653
- Kennedy and Eberhart (1995) Kennedy, J. and Eberhart, R. (1995). Particle swarm optimization. In Proceedings of IEEE international conference on neural networks. vol. 4, 1942–1948
- Khoramshahi et al. (2013) Khoramshahi, M., Spröwitz, A., Tuleu, A., Ahmadabadi, M. N., and Ijspeert, A. (2013). Benefits of an Active Spine Supported Bounding Locomotion With a Small Compliant Quadruped Robot. In Proceedings of 2013 IEEE International Conference on Robotics and Automation (Karlsruhe, Germany), 3329–3334. doi:10.1109/ICRA.2013.6631041
- Li et al. (2009) Li, C., Umbanhowar, P. B., Komsuoglu, H., Koditschek, D. E., and Goldman, D. I. (2009). Sensitive dependence of the motion of a legged robot on granular media. Proceedings of the National Academy of Sciences 106, 3029–3034. doi:10.1073/pnas.0809095106
- Maufroy et al. (2010) Maufroy, C., Kimura, H., and Takase, K. (2010). Integration of posture and rhythmic motion controls in quadrupedal dynamic walking using phase modulations based on leg loading/unloading. Autonomous Robots 28, 331–353
- Michel (2004) Michel, O. (2004). Webots: Professional mobile robot simulation. Journal of Advanced Robotics Systems 1, 39–42
- Narioka et al. (2012) Narioka, K., Rosendo, A., Spröwitz, A., and Hosoda, K. (2012). Development of a minimalistic pneumatic quadruped robot for fast locomotion. In Robotics and Biomimetics (ROBIO), 2012 IEEE International Conference on (IEEE), 307–311
- Naturalpoint, Inc. (2011) Naturalpoint, Inc. (2011). Optitrack s250e
- Nordmann et al. (2012) Nordmann, A., Rolf, M., and Wrede, S. (2012). Software abstractions for simulation and control of a continuum robot. In Simulation, Modeling, and Programming for Autonomous Robots (Springer). 113–124
- Nordmann et al. (2013) Nordmann, A., Tuleu, A., and Wrede, S. (2013). A domain-specific language and simulation architecture for the oncilla robot. In ICRA 2013 Workshop on Developments of Simulation Tools for Robotics & Biomechanics. 3
- Righetti et al. (2013) Righetti, L., Buchli, J., Mistry, M., Kalakrishnan, M., and Schaal, S. (2013). Optimal distribution of contact forces with inverse-dynamics control. The International Journal of Robotics Research 32, 280–298. doi:10.1177/0278364912469821
- Roos et al. (2006) Roos, F., Johansson, H., and Wikander, J. (2006). Optimal selection of motor and gearhead in mechatronic applications. Mechatronics 16, 63–72. doi:10.1016/j.mechatronics.2005.08.001
- Rosendo et al. (2014) Rosendo, A., Nakatsu, S., Liu, X., Shimizu, M., and Hosoda, K. (2014). Quadrupedal locomotion based on a muscular activation pattern with stretch-reflex. In 2014 IEEE International Conference on Robotics and Biomimetics (ROBIO). 773–778. doi:10.1109/ROBIO.2014.7090425
- Schmitt and Günther (2011) Schmitt, S. and Günther, M. (2011). Human leg impact: energy dissipation of wobbling masses. Archive of Applied Mechanics 81, 887–897. doi:10.1007/s00419-010-0458-z
- Semini et al. (2011) Semini, C., Tsagarakis, N. G., Guglielmino, E., Focchi, M., Cannella, F., and Caldwell, D. G. (2011). Design of hyq - a hydraulically and electrically actuated quadruped robot. IMechE, Part I: Journal of Systems and Control Engineering 225, 831–849
- Seok et al. (2013) Seok, S., Wang, A., Chuah, M. Y., Otten, D., Lang, J., and Kim, S. (2013). Design principles for highly efficient quadrupeds and implementation on the MIT cheetah robot. In 2013 IEEE International Conference on Robotics and Automation. 3307–3312
- Söhnela et al. (2017) Söhnela, K., Andradaa, E., de Lussanetb, M. H., Wagnerb, H., and Fischera, M. S. (2017). Kinetics of jumping regarding agility dogs. In Engineering for a Changing World: Proceedings; 59th IWK, Ilmenau Scientific Colloquium, Technische Universität Ilmenau, September 11-15, 2017. vol. 59
- Spröwitz et al. (2013) Spröwitz, A., Tuleu, A., Vespignani, M., Ajallooeian, M., Badri, E., and Ijspeert, A. J. (2013). Towards dynamic trot gait locomotion–design, control, and experiments with cheetah-cub, a compliant quadruped robot. The International Journal of Robotics Research 32, 932–950
- Tucker (1970) Tucker, V. A. (1970). Energetic cost of locomotion in animals. Comparative Biochemistry and Physiology 34, 841–846. doi:10.1016/0010-406X(70)91006-6
- Vedder (2018) Vedder, B. (2018). VESC – Open Source ESC | Benjamin’s robotics
- Walker et al. (2014) Walker, S. M., Schwyn, D. A., Mokso, R., Wicklein, M., Müller, T., Doube, M., et al. (2014). In Vivo Time-Resolved Microtomography Reveals the Mechanics of the Blowfly Flight Motor. PLoS Biol 12, e1001823. doi:10.1371/journal.pbio.1001823
- Whitney et al. (2016) Whitney, J. P., Chen, T., Mars, J., and Hodgins, J. K. (2016). A hybrid hydrostatic transmission and human-safe haptic telepresence robot. In Robotics and Automation (ICRA), 2016 IEEE International Conference on (IEEE), 690–695
- Wienke and Wrede (2011) Wienke, J. and Wrede, S. (2011). A middleware for collaborative research in experimental robotics. In International Symposium on System Integration (Kyoto), 1183–1190
- Zeglin (1999) Zeglin, G. (1999). The Bow Leg Hopping Robot. Ph.d., CMU, USA
|Leg length min/standing/max||0.11//|
|Hip spacing (FA)||0.23|
|Hip spacing AA axes lateral||0.14|
|Leg angle range (FA)|
|Leg angle range AA|
|Robot mass without/with battery & cables||/5.1|
|COM position vertical|
|COM position FA, from FH|
|Leg mass without/with actuators||0.22/|
|Hip/LA torque at at GB ratio||7.1|
|LL torque at at GB ratio||4.7|
|Hip (AA) stall torque||2.9|
|Name||License||Format / description / on-line location|
|Oncilla Hardware||GPL-3||SolidWorks 2014, Altium designer, PDF summary|
|Blueprint||Mechanical and Electronics Blueprints of the Oncilla robot|
|sbcp-uc||GPL-3||C sources, MPLAB-X project|
|SBCP protocol slave implementation for dsPIC33FJ DSP processor family|
|Oncilla SBCP||GPL-3||C sources, MPLAB-X project|
|Master Firmware||SBCP Master Communication board firmware|
|Oncilla Power Management||GPL-3||C sources, MPLAB-X project|
|Board Firmware||Power board firmware|
|Oncilla Motordriver||GPL-3||C sources, MPLAB-X project|
|Firmware||Motordriver board firmware|
|SBCP||LGPL-3||C sources, CMake project|
|Low-Level Driver||Low-level SBCP, user-space, device agnostic SBCP drivers, based on libftdi|
|SBCP||LGPL-3||C++ sources, CMake project|
|High-Level Driver||Object oriented, high-level, device specific SBCP drivers, Bus management Command Line Utilities|
|liboncilla||LGPL-3||C++ sources, CMake project|
|Level-0 RCI interface, depends on librci (Nordmann et al., 2012)|
|liboncilla Hardware||LGPL-3||C++ sources, CMake project|
|Implementation||Level-0 Back-end implementation for the Oncilla hardware|
|liboncilla Webots||LGPL-3||C++ sources, CMake project|
|Interface||Level-0 Back-end implementation for the Oncilla Webots based simulator|
|Oncilla Simulation||LGPL-3||Python sources|
|Helper program to setup Oncilla simulation environment|
|CoR-Lab APT repository||n.a.||Apt repository|
|Apt (Debian/Ubuntu) repository for liboncilla dependencies (precise and trusty supported)|
|Biorob APT repository||n.a.||Apt repository|
|Apt (Debian/Ubuntu) repository for liboncilla and liboncilla-webots (precise and trusty supported)|