AR-1 Biped Robot

The Autonomous Robot Mk 1: a dynamically balancing biped robot.

Public Chat
Similar projects worth following

The goal is to develop an open source biped robot, similar to However, rather than beginning with hardware, I'm developing the behavior first. I'm using MATLAB/Simulink to simulate the mechanics of the machine while the controller is under development.

In the "links" section.  Ref#1  provides a nice summary of bipedal robot research.  Also, I've adapted their method of control signal generation.  I use a similar parametric sigmoidal function to control joint position.  With this method, determining the control signals for each joint can be reduced to intermittent calculation of 7 element vectors.  I hope the reduction in control signal bandwidth will help reduce cost.

Ref#2 is a link to a Simulink model of a biped.  I've replaced my ground contact model with one used in this project.  This improved the fidelity of lateral friction and normal ground contact forces.

Luksch and Geyer are the two researchers I reference, and I've included links to their homepages.  Seeing their work is what inspires me to keep going forward.  Check out their simulations to see some amazing cutting edge stuff.  We've all seen the PETMAN videos from Boston Dynamics and some of the recent DARPA robotics challenge entrants.  They're impressive machines to be sure, but I still look forward to robots that move with the grace and agility of a human.  Maybe this project can be a step in that direction.

Portable Network Graphics (PNG) - 527.82 kB - 12/18/2018 at 05:27


  • New Simulation Environment

    Philip Garza12/18/2018 at 03:33 0 comments

    I've moved the project away from MATLAB SimMechanics/Simulink to the VREP simulator ( .  With the Vortex physics engine, the simulations seem to approximate real life enough to work on a walking controller.  I've removed any dependencies on special MATLAB toolboxes.  Though I still use MATLAB, it's only for easy scripting and data manipulation.  I'm used to it so I use it, but the MATLAB scripts  could probably be ported to any other language.  But that's a project for another day.  

    Here's a short video showing the AR1 taking a couple steps in the new environment.  Another post will discuss the theory of operation and where to get the code.

  • Stable Gait Controller

    Philip Garza08/23/2014 at 23:55 1 comment

    Finally have a functioning controller that produces a stable walking gait.  In simulation at least.  It took a little longer than I thought it would. 

    Changes made:

    1.  Added a rudimentary foot consisting of a heel and single toe

    2. Added a passive  ankle having  2 degrees of freedom

    3. Modified model to highlight joint orientations.  Each blue cylinder represents a joint, its axis is parallel to the joint's axis of rotation

  • First steps ( in simulation)

    Philip Garza05/19/2014 at 16:27 0 comments

    The controller is able to balance and start the walking process.  Walking is not stable or robust at this point.

View all 3 project logs

Enjoy this project?



VU Nhat Minh wrote 04/05/2017 at 11:38 point

Do you still develop this project? 

  Are you sure? yes | no

Philip Garza wrote 05/22/2014 at 20:11 point
I'm going to be adding some introductory materials to my website this weekend. I'll attempt to explain the theory of operation and give a general overview of what I think will be involved going forward. This is the first time I've tried explaining this project to people, so any feedback would be helpful.

I'm planning on using my personal website to publish more general information written at the undergraduate level; lots of pretty pictures, trying to be as clear as possible. I'll post more technical stuff here, like all the development trial and error type things.

Just to give an idea of the technology I'm using, here are some upcoming things I'll be posting about in the project logs:
1) I have the data acquisition system (DAS) laid out. Right now, it can read a potentiometer, send the data over USB to a PC, where the data is graphed in real time and stored on disk. On the PC, I'm using some open source software that's normally used to monitor EEG experiments. Works great. The DAS will eventually need to sample 24 analog inputs. I'm using a dsPIC33EP512MU810 to handle all the ADC and signal routing, and I'm using a ftdi ft4232h to handle the USB comms.

2) I have a mock up of the endoskeleton, made from aluminum extrusion and parts from the hardware store. The purpose is to demonstrate the robot's range of motion and actuation strategy. It's ugly but I'm happy with the results.

3) The robot will be actuated using 8 brushed DC gear motors and 2 servos. I've built the first version of the motor controller based on an L298 chip. It's controlled by PWM signals from the dsPIC33EP512MU810. I measure current draw from the L298 to get some idea of effort exerted by the motor.

4) I'm planning on using Gyroscopes and accelerometers to measure body position, rather than measuring joint angles directly. I've read some papers describing this technique. See:

So as you can see, there are a lot of places to make contributions, from hardware, to software, even just brainstorming different ways to do things.

  Are you sure? yes | no

Sarah Wittman wrote 05/20/2014 at 18:49 point
Awesome project! A lot to learn here... I have a decent amount of experience in bipedal motion if ever you need another set of eyes on something.

  Are you sure? yes | no

Philip Garza wrote 05/20/2014 at 19:46 point
Thanks. And I'll be needing a lot of help, so stay tuned

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates