IEEE Robotics & Automation Magazine - June 2023 - 89

IMU data is left to future work. Hardware connections are
shown in [2, Fig. 5].
This platform differs from existing tumbling robots in its
simple, blocky design, which allows for more robot parameters
to be easily modified in simulation. Randomized Unified
Robot Description Format (URDF) models
can be generated programmatically, increasing
the scope of possible domain randomization.
We generate a new robot each time one
is spawned in simulation during training by
randomizing 37 total parameters. Each generated
tumble bot has varying dimensions,
inertia characteristics, motor responses, and
friction coefficients. Every parameter is randomized,
with a standard deviation of 5% of
the nominal values. This amount of domain
randomization is necessary to ensure that
the trained policy is robust to small errors
in these parameters. Since the real tumble
bot is within the subset of these generated
robots, the policy is expected to transfer well
to the real world.
stick node. While IMU data were not used, the motion capture
node could be swapped for the IMU node. This would
shorten the time required to move the lab experiments to an
outdoor environment.
"
REINFORCEMENT LEARNING
ALLOWS FOR THE
DEVELOPMENT OF SOPHISTICATED
CONTROL
SCHEMES THAT CAN
ADAPT TO DIVERSE ENVIRONMENTS.
„
SOFTWARE
For
the physical prototype, the main onboard computer is a
Raspberry Pi 3 Model B+ running Ubuntu 16.04 with ROS
Kinetic. It is configured as an access point executing motor
commands produced by the trained network running on a
separate computer and receiving a stream of Vicon motion
capture data. The tumble bot uses an Arduino Uno as a motor
controller between the Pi and servos to allow for future
expansion and control of different servos. We chose the Raspberry
Pi for its compatibility with baselines models. For
future work, all computation will be performed by the Raspberry
Pi, with the only external communication being set
point commands.
The flow of data is shown in [2, Fig. 6]. We configured the
training environment using OpenAI Gym. For each episode
step, the servo outputs are sent from Gym, using a TCP socket.
The robot returns a position and orientation observation by
using the most recently received motion capture data. A timer
is used to ensure that communication is performed no faster
than the rate it was modeled, as in simulation. By choosing a
relatively slow rate of 1 Hz, effects of communication latency
are minimized. We designed the system for a latency of about
20 ms, allowing theoretical rates of about 50 Hz.
The system can easily switch between manual and autonomous
control, with a safety override to stop movement. This
was accomplished through the use of ROS. ROS is a communication
framework that allows different robots to use the
same software packages and makes it easy for these packages
to interact with one another. This package and node system
enables a modular software approach. The tumbling robot's
servo outputs are controlled via commands from the Gym
environment though the Gym link node when they are not
being manually controlled with a joystick through the joyPOLICY
TRAINING
Training a policy in simulation rather than
the real world decreases training time [9] as
long as the reality gap between the simulated
and real environments is not too large.
SIMULATION ENVIRONMENT
Simulation was performed using PyBullet, a
Python interface to the Bullet physics
engine. The simulation's numerical solver's
rate was left at the default of 240 Hz.
Between every action output, the simulation
was stepped 240 times. This results in an
action frequency of 1 Hz. While a much
higher frequency is possible, it is not
required for effective locomotion. Each
PPO episode was limited to 20 steps, which corresponds to
episodes of 20 s and 4,800 simulation steps.
The simulator was sensitive to changes in the solver's
rate due to the many collisions involved in the simulation
(a)
(b)
FIGURE 3. The two robots used in simulation and real-world
experiments. (a) The tumbling robot model in PyBullet simulation.
(b) The tumbling robot prototype.
JUNE 2023 IEEE ROBOTICS & AUTOMATION MAGAZINE
89

IEEE Robotics & Automation Magazine - June 2023

Table of Contents for the Digital Edition of IEEE Robotics & Automation Magazine - June 2023

Contents
IEEE Robotics & Automation Magazine - June 2023 - Cover1
IEEE Robotics & Automation Magazine - June 2023 - Cover2
IEEE Robotics & Automation Magazine - June 2023 - Contents
IEEE Robotics & Automation Magazine - June 2023 - 2
IEEE Robotics & Automation Magazine - June 2023 - 3
IEEE Robotics & Automation Magazine - June 2023 - 4
IEEE Robotics & Automation Magazine - June 2023 - 5
IEEE Robotics & Automation Magazine - June 2023 - 6
IEEE Robotics & Automation Magazine - June 2023 - 7
IEEE Robotics & Automation Magazine - June 2023 - 8
IEEE Robotics & Automation Magazine - June 2023 - 9
IEEE Robotics & Automation Magazine - June 2023 - 10
IEEE Robotics & Automation Magazine - June 2023 - 11
IEEE Robotics & Automation Magazine - June 2023 - 12
IEEE Robotics & Automation Magazine - June 2023 - 13
IEEE Robotics & Automation Magazine - June 2023 - 14
IEEE Robotics & Automation Magazine - June 2023 - 15
IEEE Robotics & Automation Magazine - June 2023 - 16
IEEE Robotics & Automation Magazine - June 2023 - 17
IEEE Robotics & Automation Magazine - June 2023 - 18
IEEE Robotics & Automation Magazine - June 2023 - 19
IEEE Robotics & Automation Magazine - June 2023 - 20
IEEE Robotics & Automation Magazine - June 2023 - 21
IEEE Robotics & Automation Magazine - June 2023 - 22
IEEE Robotics & Automation Magazine - June 2023 - 23
IEEE Robotics & Automation Magazine - June 2023 - 24
IEEE Robotics & Automation Magazine - June 2023 - 25
IEEE Robotics & Automation Magazine - June 2023 - 26
IEEE Robotics & Automation Magazine - June 2023 - 27
IEEE Robotics & Automation Magazine - June 2023 - 28
IEEE Robotics & Automation Magazine - June 2023 - 29
IEEE Robotics & Automation Magazine - June 2023 - 30
IEEE Robotics & Automation Magazine - June 2023 - 31
IEEE Robotics & Automation Magazine - June 2023 - 32
IEEE Robotics & Automation Magazine - June 2023 - 33
IEEE Robotics & Automation Magazine - June 2023 - 34
IEEE Robotics & Automation Magazine - June 2023 - 35
IEEE Robotics & Automation Magazine - June 2023 - 36
IEEE Robotics & Automation Magazine - June 2023 - 37
IEEE Robotics & Automation Magazine - June 2023 - 38
IEEE Robotics & Automation Magazine - June 2023 - 39
IEEE Robotics & Automation Magazine - June 2023 - 40
IEEE Robotics & Automation Magazine - June 2023 - 41
IEEE Robotics & Automation Magazine - June 2023 - 42
IEEE Robotics & Automation Magazine - June 2023 - 43
IEEE Robotics & Automation Magazine - June 2023 - 44
IEEE Robotics & Automation Magazine - June 2023 - 45
IEEE Robotics & Automation Magazine - June 2023 - 46
IEEE Robotics & Automation Magazine - June 2023 - 47
IEEE Robotics & Automation Magazine - June 2023 - 48
IEEE Robotics & Automation Magazine - June 2023 - 49
IEEE Robotics & Automation Magazine - June 2023 - 50
IEEE Robotics & Automation Magazine - June 2023 - 51
IEEE Robotics & Automation Magazine - June 2023 - 52
IEEE Robotics & Automation Magazine - June 2023 - 53
IEEE Robotics & Automation Magazine - June 2023 - 54
IEEE Robotics & Automation Magazine - June 2023 - 55
IEEE Robotics & Automation Magazine - June 2023 - 56
IEEE Robotics & Automation Magazine - June 2023 - 57
IEEE Robotics & Automation Magazine - June 2023 - 58
IEEE Robotics & Automation Magazine - June 2023 - 59
IEEE Robotics & Automation Magazine - June 2023 - 60
IEEE Robotics & Automation Magazine - June 2023 - 61
IEEE Robotics & Automation Magazine - June 2023 - 62
IEEE Robotics & Automation Magazine - June 2023 - 63
IEEE Robotics & Automation Magazine - June 2023 - 64
IEEE Robotics & Automation Magazine - June 2023 - 65
IEEE Robotics & Automation Magazine - June 2023 - 66
IEEE Robotics & Automation Magazine - June 2023 - 67
IEEE Robotics & Automation Magazine - June 2023 - 68
IEEE Robotics & Automation Magazine - June 2023 - 69
IEEE Robotics & Automation Magazine - June 2023 - 70
IEEE Robotics & Automation Magazine - June 2023 - 71
IEEE Robotics & Automation Magazine - June 2023 - 72
IEEE Robotics & Automation Magazine - June 2023 - 73
IEEE Robotics & Automation Magazine - June 2023 - 74
IEEE Robotics & Automation Magazine - June 2023 - 75
IEEE Robotics & Automation Magazine - June 2023 - 76
IEEE Robotics & Automation Magazine - June 2023 - 77
IEEE Robotics & Automation Magazine - June 2023 - 78
IEEE Robotics & Automation Magazine - June 2023 - 79
IEEE Robotics & Automation Magazine - June 2023 - 80
IEEE Robotics & Automation Magazine - June 2023 - 81
IEEE Robotics & Automation Magazine - June 2023 - 82
IEEE Robotics & Automation Magazine - June 2023 - 83
IEEE Robotics & Automation Magazine - June 2023 - 84
IEEE Robotics & Automation Magazine - June 2023 - 85
IEEE Robotics & Automation Magazine - June 2023 - 86
IEEE Robotics & Automation Magazine - June 2023 - 87
IEEE Robotics & Automation Magazine - June 2023 - 88
IEEE Robotics & Automation Magazine - June 2023 - 89
IEEE Robotics & Automation Magazine - June 2023 - 90
IEEE Robotics & Automation Magazine - June 2023 - 91
IEEE Robotics & Automation Magazine - June 2023 - 92
IEEE Robotics & Automation Magazine - June 2023 - 93
IEEE Robotics & Automation Magazine - June 2023 - 94
IEEE Robotics & Automation Magazine - June 2023 - 95
IEEE Robotics & Automation Magazine - June 2023 - 96
IEEE Robotics & Automation Magazine - June 2023 - 97
IEEE Robotics & Automation Magazine - June 2023 - 98
IEEE Robotics & Automation Magazine - June 2023 - 99
IEEE Robotics & Automation Magazine - June 2023 - 100
IEEE Robotics & Automation Magazine - June 2023 - 101
IEEE Robotics & Automation Magazine - June 2023 - 102
IEEE Robotics & Automation Magazine - June 2023 - 103
IEEE Robotics & Automation Magazine - June 2023 - 104
IEEE Robotics & Automation Magazine - June 2023 - 105
IEEE Robotics & Automation Magazine - June 2023 - 106
IEEE Robotics & Automation Magazine - June 2023 - 107
IEEE Robotics & Automation Magazine - June 2023 - 108
IEEE Robotics & Automation Magazine - June 2023 - 109
IEEE Robotics & Automation Magazine - June 2023 - 110
IEEE Robotics & Automation Magazine - June 2023 - 111
IEEE Robotics & Automation Magazine - June 2023 - 112
IEEE Robotics & Automation Magazine - June 2023 - 113
IEEE Robotics & Automation Magazine - June 2023 - 114
IEEE Robotics & Automation Magazine - June 2023 - 115
IEEE Robotics & Automation Magazine - June 2023 - 116
IEEE Robotics & Automation Magazine - June 2023 - 117
IEEE Robotics & Automation Magazine - June 2023 - 118
IEEE Robotics & Automation Magazine - June 2023 - 119
IEEE Robotics & Automation Magazine - June 2023 - 120
IEEE Robotics & Automation Magazine - June 2023 - 121
IEEE Robotics & Automation Magazine - June 2023 - 122
IEEE Robotics & Automation Magazine - June 2023 - 123
IEEE Robotics & Automation Magazine - June 2023 - 124
IEEE Robotics & Automation Magazine - June 2023 - 125
IEEE Robotics & Automation Magazine - June 2023 - 126
IEEE Robotics & Automation Magazine - June 2023 - 127
IEEE Robotics & Automation Magazine - June 2023 - 128
IEEE Robotics & Automation Magazine - June 2023 - 129
IEEE Robotics & Automation Magazine - June 2023 - 130
IEEE Robotics & Automation Magazine - June 2023 - 131
IEEE Robotics & Automation Magazine - June 2023 - 132
IEEE Robotics & Automation Magazine - June 2023 - 133
IEEE Robotics & Automation Magazine - June 2023 - 134
IEEE Robotics & Automation Magazine - June 2023 - 135
IEEE Robotics & Automation Magazine - June 2023 - 136
IEEE Robotics & Automation Magazine - June 2023 - Cover3
IEEE Robotics & Automation Magazine - June 2023 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2010
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2010
https://www.nxtbookmedia.com