Robot Simulation in PyBullet

In order to find the fastest gait for my robot DOMER, I created a simulation of it in PyBullet.

domer_simulation.mov
domer_simulation2.mov

*May have to open video in new window to view

Creating the URDF

Before I could start experimenting with different gaits, I had to create the URDF file for the robot, specifying details such as mass, center of gravity, position, and orientation for each of the links. The robot is composed of a base, from which 4 upper limbs are attached and joined with revolute joints. Each upper limb also has a lower limb attached by a revolute joint as well. This creates a 4-legged robot with two joints per leg.

Developing the Movement

Once I had the URDF, I started exploring different movement patterns. This time I created a gait cycle with length 12π, moving the diagonal pair of legs in sync and alternating between the two pairs of diagonals. The joints were actuated via position control, and the positions were given by sine and cosine expressions. The parameters that I experimented with were the amplitude, phase shift, and vertical shift of the sinusoidal expressions.

Future Work

The next step is to use reinforcement learning to train the robot to walk, with the goal of finding a gait with the fastest speed.