Design Development and Experimental Realization of
Design Development and Experimental Realization of
net/publication/330132363
CITATIONS READS
0 1,626
8 authors, including:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Shounak Bhattacharya on 08 January 2019.
reduce the swing leg inertia, we’ve used CF tubes as journal achieved three main objectives using this architecture. First,
bearings and shaft at pivot joints instead of regular metal ball tele-operation of the robot, which is implemented via SSH
bearings. This drastically reduces the weight of the robot. over wireless communication (Figure 7). Second, the low-
level implementation of the walking controller, which passes
C. Actuation and Sensing Arrangement in Legs
on the desired joint configurations as commands to the joint
Figure 5 (i) and (ii) depicts the assembly arrangement actuators. And third, integrating sensory feedback with the
of servo actuators to the leg linkages and rotary encoders. walking controller. The last one is achieved by reading and
For the joint actuation we have used standard servo motors recording different sensors without experiencing significant
(Knee: Robokits 35 kg − cm High Torque Servo∗ , Hip: delay.
Kondo 2350HV Servo† ). The knee actuators are directly The encoders, servos and other parts selected for this work
coupled with the 3D printed links, which in turn move the are readily available, off-the-shelf components. This enabled
coupler links and eventually the knee joints of the legs. The a quick adoption, rapid prototyping while minimizing the
joint angle sensor (rotary encoder) for knee is connected total cost. Also, the library associated with the hardware is
with the linkage via a laser cut steel gear. Similarly, the readily available on GitHub, reducing the overhead associ-
hip actuator transfers mechanical power to the hip link via ated with firmware development.
a simple gear train (ratio 1 : 1), whereas the hip encoder
is directly coupled to monitor the hip servo angle via a 3D A. Tele-operation
printed part. The walking controller operates by changing internal pa-
III. E LECTRONIC S YSTEM A RCHITECTURE rameters of the Central Pattern Generator (CPG), such as the
frequency, phase difference and amplitude. These changes
In this section, we describe the electronic system architec-
result in generation of different behaviors and motions. In
ture in light of the objectives achieved in Stoch. The platform
this robot, these parameter changes, are made during the
∗ https://robokits.co.in/ process execution via SSH. We selected the keyboard as the
† https://kondo-robot.com/ input device for remote operation. This method of control
Fig. 5: (a) shows the physical leg assembly, (b) shows the rendered counterpart of the leg assembly. (b) has three parts: (i)
sensor mounting and actuation hub, (ii) coupling and transmission of linkages with actuators and rotary encoders, and (iii)
exploded view of knee joint and CF journals.
requires continuous process execution, without any block- position of each motor shaft is measured by externally
age. Thus, we have used non-blocking API’s from POSIX, coupled absolute magnetic encoders (Bourns EMS22a) at
namely, “select” to implement on Linux. Similar features can resolution of 1024 counts per revolution. Each encoder is
be obtained in Windows by using multi-threading. read sequentially by the RPi3 via a multi-duplex, SPI Bus.
B. Motor actuation The low-level drivers (in C) are used to pass the values to
the primary process (in Python) in real-time using shared
The actuators used in this robot are PWM enabled servo memory. In Comparison with other Inter-Process Communi-
motors. To actuate these servos, we have used Adafruit PWM cation (IPC) like socket, pipe, etc; the information doesn’t go
drivers (16-Channel 12-bit: PCA968), connected with the through the kernel, enabling direct access of virtual memory
central compute platform (Raspberry Pi3) over I2C Bus. In to both processes. This results in a low latency which is
this robot, there are two sets of servos (see section II-C). vital for controlling the robot. We used the limit switches
These servos operate at 11.1 V and 7.4 V respectively. for self-calibration and failure prevention at the joints. These
Equipment Details switches are connected to an analog to digital converter(4
Joint encoder Bourns EMS22a Channel 16 Bit) on the I2C Bus.
IMU MPU-9150
ADC ADS1115
PWM driver Adafruit PCA968
Servo Kondo 2350HV
Robokits RKI-1203 The center of mass of the robot, is estimated by the inertial
Computer Raspberry Pi 3b measurement unit (IMU). The states observed by the IMU
TABLE II: Electronics hardware specifications. are three axis acceleration, three axis angular velocity etc.
Using sensor fusion, the IMU can also estimate the roll,
C. Sensory feedback pitch, yaw of the robot. The IMU, MPU-9150, is placed
The sensory inputs contain signals from joint encoders, close to the geometric center of the chassis and is connected
inertial measurement unit and limit switches. The angular to the I2C bus.
Fig. 6: Schematics of Electronics and communication network
IV. WALKING C ONTROLLER where, ω, ωd are the current and target oscillation frequency
of the legs, in radian per second. φi is the phase of the
In this section, we describe the design of the control
ith internal pattern generator. φ is the vector containing the
architecture of Stoch. The controller is based on the use
φi . Φi is the phase difference between the ith leg and the
of nonlinear coupled oscillators, called as Central Pattern
first leg. Ki,j are coupling constants. Equations 1 and (4)
Generator (CPG) [16], [17], [8]. This approach uses a group
represent low pass filter in time domain [16]. These filters
of polynomials associated with the coupled oscillators to
ensure there are no discontinuous changes in the variables.
generate the desired patterns at the end point. We will first
The low pass filter in equation 4 [17] is modified such that,
describe the methods used to develop the rhythmic patterns
periodic signal of any desired frequency can pass through but
using CPG, and then discuss inverse kinematics used to
undesired signal of the high frequency can not. In eqaution 4,
transform these patterns into desired joint angles.
X, Xd are the current and the desired state values and X0d =
∂Xd /∂φ. However, eqation 4 can only be used if sensory
A. Central pattern generator
feedback is enabled. When sensory feedback is disabled, we
Central pattern generators (CPGs) are neural networks directly feed the desired values to the inverse kinematics
capable of producing coordinated patterns of rhythmic ac- solver. The constants αω , αR are used to determine the
tivity without any rhythmic inputs from sensory feedback or corner frequency of these filters. ∆ is the discrete or event
from higher control centers [16]. In this work, the neural based input provided by the user or the sensors on-board.
network has been replaced with nonlinear coupled differen- In this work, the filters are used in places where a discrete
tial equations. When a signal is provided with oscillation signal is added by the user or by some feedback in response
frequency (ω), the CPG begins to produce rhythmic signals to an event.
of a predetermined pattern. The oscillation frequency updates
After the phase (φi ) is determined, any function described
the phases (φ) and the coupling ensures the phase offsets (Φ)
in form of φi can be used to create the endpoint behaviour
between the oscillators. This difference in phase offset results
of the ith leg. We have
in the generation of different types of gaits. The equations
for the CPG are given as
Y (m)
VI. CONCLUSION
−0.2 −0.2
This work presents a custom built quadruped robot along
−0.22 Front left −0.22 Hind left with its design, software, control framework and experimen-
−0.05 0 0.05 0.1 −0.05 0 0.05 0.1 tal validation on the hardware. Compared to other existing
X (m) X (m)
−0.16 −0.16 quadruped robots, our platform requires less resource and
costs under USD 1000. Several gaits were realized such as
−0.18 −0.18 walk, trot, gallop, and bound. Additionally, the robot can turn
Y (m)
Y (m)
with a small radius via CPG based gait transitions, without
−0.2 −0.2
the use of abduction. The robot reached a maximum forward
speed of 0.6 m/s. An open-loop controller was used to set
−0.22 Front right −0.22 Hind right
−0.05 0 0.05 0.1 −0.05 0 0.05 0.1
the speed and direction in all these experiments. Future work
X (m) X (m) involves increasing the payload, and also incorporate external
Fig. 9: Endpoint trajectories learned from the reinforcement sensors for closed-loop control of the quadruped.
learning based training[14] ACKNOWLEDGMENT
Gait type Trot Walk Gallop Bound Modified Trot 1 Modified Trot 2
Speed (m/s) 0.60 0.51 0.51 0.55 0.62 0.59 We acknowledge Ashish Joglekar, Rokesh Laishram and
TABLE III: Walking speed of Stoch obtained during different Balachandra Hegde for help in software development, Car-
gait experiments. The last two columns are the result of bon fibre component manufacturing and PCB design.
reshaping of the end point trajectories of trot. All the gaits R EFERENCES
are shown in the video.
[1] H.-W. Park, S. Park, and S. Kim, “Variable-speed quadrupedal bound-
ing using impulse planning: Untethered high-speed 3d running of
2) Turning: The current model of Stoch, does not contain mit cheetah 2,” in Robotics and automation (ICRA), 2015 IEEE
international conference on. IEEE, 2015, pp. 5163–5170.
any abduction. This limits us to realization of abduction [2] M. Hutter, C. Gehring, M. Bloesch, M. A. Hoepflinger, C. D. Remy,
free/locked turning. We set the X axis (forward-backward) and R. Siegwart, “StarlETH: A compliant quadrupedal robot for fast,
movement of the desired leg to zero, and use efficient, and versatile locomotion,” in Adaptive Mobile Robotics.
World Scientific, 2012, pp. 483–490.
xturn,i = αt,i xi (17) [3] “SpotMini robot,” https://www.bostondynamics.com/spot-mini/.
[4] M. Hutter, C. Gehring, D. Jud, A. Lauber, C. D. Bellicoso, V. Tsounis,
J. Hwangbo, K. Bodie, P. Fankhauser, M. Bloesch et al., “Anymal-a
[1, 0, 0, 1]
left turn
highly mobile and dynamic quadrupedal robot,” in 2016 IEEE/RSJ
αt = [0, 1, 1, 0] right turn (18) International Conference on Intelligent Robots and Systems (IROS).
IEEE, 2016, pp. 38–44.
[1, 1, 1, 1] no turn
[5] “Laikago robot,” http://www.unitree.cc/.
[6] H. Kimura and Y. Fukuoka, “Biologically inspired adaptive dynamic
where αt is the vector containing the turning coefficients and walking in outdoor environment using a self-contained quadruped
xturn,i is the target x axis position of the ith leg. To avoid robot:’Tekken2’,” in Intelligent Robots and Systems, 2004.(IROS
discontinuous changes in the motion, we pass the αt through 2004). Proceedings. 2004 IEEE/RSJ International Conference on,
vol. 1. IEEE, 2004, pp. 986–991.
a low pass filter, equation 1. This results in a smooth trot-turn [7] A. Spröwitz, A. Tuleu, M. Vespignani, M. Ajallooeian, E. Badri, and
transition. A. J. Ijspeert, “Towards dynamic trot gait locomotion: Design, control,
3) Gait transition: In this section, we will provide a gen- and experiments with cheetah-cub, a compliant quadruped robot,” The
International Journal of Robotics Research, vol. 32, no. 8, pp. 932–
eral methodology for transitioning between the flat-ground 950, 2013.
walking gaits. In section IV-A, we described the phase offset, [8] A. T. Sprowitz, A. Tuleu, M. Ajaoolleian, M. Vespignani, R. Moeckel,
Φ, as a constant set of values which can be changed to obtain P. Eckert, M. D’Haene, J. Degrave, A. Nordmann, B. Schrauwen et al.,
“Oncilla robot: a versatile open-source quadruped research robot with
various gaits. This change can be achieved, on the fly, by compliant pantograph legs,” Frontiers in Robotics and AI, vol. 5, p. 67,
passing the desired phase offset through a low pass filter: 2018.
[9] W. Bosworth, S. Kim, and N. Hogan, “The mit super mini cheetah:
Φ̇i = αΦ (Φd,i − Φ) (19) A small, low-cost quadrupedal robot for dynamic locomotion,” in
Safety, Security, and Rescue Robotics (SSRR), 2015 IEEE International
where Φd,i is the desired phase offset of the ith leg, and Φi Symposium on. IEEE, 2015, pp. 1–8.
[10] “AIBO robot,” https://us.aibo.com/.
is the current phase offset of the ith leg. This allows for a [11] Rhex, “RHex robot,” https://www.bostondynamics.com/rhex/.
smooth change in the phase values. [12] A. De and D. E. Koditschek, “Vertical hopper compositions for preflex-
ive and feedback-stabilized quadrupedal bounding, pacing, pronking,
A. Video Result and trotting,” The International Journal of Robotics Research, vol. 37,
no. 7, pp. 743–778, 2018.
Video results of walking experiments on the Stoch [13] “OpenCat robot,” https://www.hackster.io/petoi/opencat-845129.
are available on https://youtu.be/Wxx9pwwTIL4. [14] A. Singla, S. Bhattacharya, D. Dholakiya, S. Bhatnagar, A. Ghosal,
B. Amrutur, and S. Kolathaya, “Realizing learned quadruped locomo-
Specifically, we show trot (Fig. 10), bound, gallop, walk gaits tion behaviors through kinematic motion primitives,” arXiv preprint
on the robot. Additionally turning and gait transitions are also arXiv:1810.03842, 2018.
Fig. 10: Trot sequence of Stoch on flat terrain