Hubo DRC Peg-In-Hole & Valve Turn

From Lofaro Lab Wiki
Jump to: navigation, search



The ARCHR controller was able to perform peg-in-hole and maintained accurate control of the end effectors. A stereovision system could not be implemented in openrave due to constraints with instantiating a camera in openrave within a virtual machine. A stereovision system would have offered an immersive controller and could be implemented in the future on a hard install of Linux, or using Gazebo. Source code for operating our controller in Gazebo is included in the gazebo directory of the archr_drc github folder, but not explained in this article and left for you to explore.


1: Installing openRAVE, openHubo, and hubo-ach


Running the code

1: Get the code from the Lofarolabs Simulation/archr_drc

$ git clone

2: Follow these steps:

$ cd /etc/hubo-ach
$ sudo gedit

3: Locate the following lines:

    if flag == 'nophysics':
        print 'No Dynamics mode'
    #Enable simtime if required, or if force by physics
    options.simtime = (simtimeFlag == 'simtime') or options.physics

4: Add the following code directly under this last line:

    options.scenefile = ('/home/archr/projects/archr_Code/Simulation/archr_drc/openrave/peginhole.env.xml');
    • where 'archr/projects/archr_code/Simulation' is replaced with the directory where you saved the files.

5: Navigate to the Simulation/archr_drc/openrave folder and fix the directory locations within the following files as well:

    • peginhole.env.xml
  • in the objects folder:
    • pegbox2.kinbody.xml

6: Connect the physical controller to the PC and power it on. 7: Run the openRAVE simulator with the command:

hubo-ach sim openhubo physics drc
  • DRC is optional if you have the robot installed

8: Run the file in the archr_drc/openrave folder and scan for dynamixels. If you can move the robot on screen with moving the dynamixel arms you have succeeded. 9: If the robot is in a stuck state from last time (or the simulator has frozen) try exiting the simulation (ctrl+z). Then run "hubo-ach killall" and wait a few seconds before starting it again.


Video demonstration for the physical controller (the script)
Video demonstration for the keyboard controller (

Valve-turn is in prototype stage, a sample environment is included in the link above. It can be selected by modifying the '' file located in the '/etc/hubo-ach' folder and selecting the line for valve-turn.


  • N/A

The Hubo-DRC successfully performed peg-in-hole with our control structure and could not quite complete valve-turn, however a prototype environment is included within the code. It can be selected in the file and then updating the file directory locations of the valve environment & object files to your workstation appropriately.