Microbot Locomotion – A Robotics Simulation

THE CHALLENGE

Our project addresses the challenge of building a simulator for a legged robot in Gazebo for the purpose of creating hardware models at the micro-scale.

Our goal is to create a learning framework that teaches the robot how to walk and apply this framework at various robot size scales.

Download our research paper here – “Applying Learned Parameter Optimization for Stable Microbot Locomotion”

ENVIRONMENT SET UP AND SOFTWARE

Gazebo

The Gazebo physics simulator was utilized in contrast to the V-REP simulator that was used in the UC Berkeley paper that inspired us. This contrast allows us to explore the reliability of Gazebo micro-scale physics at the centimeter and decimeter scale to provide more diverse literature in the space of simulation of microbots. Furthermore, Gazebo was used in tandem with ROS due to familiarity, and environment set up did not require a steep learning curve.

Designing the Microbot 

First, a generalized, custom URDF quadruped robot model was defined with Xacro, with body dimensions and inertial parameters along with revolute joint definitions and constraints at the decimeter scale. This four-legged, eight-jointed quadruped was generalized purposely to demonstrate the practicality of our approach on any generalized microbot of any dynamics.

 After the decimeter scale was designed and physically accurate, the parameters were scaled down to the ten times and one hundred times to centimeter and millimeter scales, respectively. Testing was then done at the different scales to qualify and quantify the differences. 

ROS/Gazebo Interface

In order to interface ROS with Gazebo, we utilize the default Gazebo/ROS wrappers in Python3.

In addition to the default Gazebo/ROS wrappers utilized for interface, some custom Gazebo Wrappers were written to do the follow: 

  • Reset the Gazebo Environment
  • Control the Joint Positions of the Microbot
  • Calculate Transformations between Points only Utilizing Information from Joint Positions
  • Querying the Robot State (Position, Quaternion, Joint Positions)

These wrappers were necessary in order to implement the simple Learning Framework detailed below

GitHub

Here is a link to our code-base.

Learning Framework

Learning inherently necessitates an iterative approach of training episodes. For the normal random sampling approach and the Bayesian Optimization approach, a general framework was established to conduct training trials/episodes with Gazebo. The following diagram illustrates the framework.

106BMicrobot (2).png

Pictures and Videos

For straight line walking, Bayesian optimization generated gait parameters (AEP, PEP, and Period [see Report linked above]) to maximize the straight line distance that the microbot covered. The below results for the optimized parameters for scaled decimeter scale and the centimeter scale illustrate what Bayesian optimization converged towards.

Decimeter Scale Bayesian Optimized Straight Line Gait

Despite not following the Gazebo world x axis exactly, this decimeter scale trial demonstrates nimble walking in a linear manner. The results of this optimization demonstrate that the five gait parameters we optimize upon are sufficient for linear movement even upon few optimization episodes (i.e. this result was accomplished only following 200 training episodes).

Centimeter Scale Bayesian Optimized Straight Line Gait

At the centimeter scale, there is observed drift in Gazebo for the microbot. This is clearly an unrealistic result, and the physics are not completely predictable (as floor contact and friction seem preposterously unstable and low), demonstrating why a dynamics based model for a microbot in simulation is near impossible. Nevertheless, the results at the decimeter scale demonstrate adaptability and success at the centimeter scale, despite the unpredictability, that could translate to a more ideal physics engine (or perhaps more ideal physics parameters) at the centimeter scale. As with the decimeter scale, the centimeter scale microbot demonstrates that five gait parameters are sufficient for a basic straight line walk.

Decimeter Scale Turning (Objective: Turn 15 Degrees every 10 seconds)

As can be seen in the video below, the turning, six parameter gait parametrization is not as successful as the straight line gait parameterization. Although the best case scenario results in a net turning effect of around 15 degrees every 10 seconds, a more complex parameterization is likely necessary to optimize upon to result in smoother turning. The results for the 45 degree turn every seconds (mentioned in the paper) were much less stable (due to the large amount of rotation necessary), yet feel free to view that video here.

css.php