Hubo DRC Peg-In-Hole & Valve Turn

From Lofaro Lab Wiki
Revision as of 00:46, 17 December 2014 by Mjavid (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

DRCHuboARCHR.png

Overview

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.

Tutorials

1: Installing openRAVE, openHubo, and hubo-ach

Code

Running the code

1: Get the code from the Lofarolabs Simulation/archr_drc

$ git clone https://github.com/LofaroLabs/Simulation

2: Follow these steps:

$ cd /etc/hubo-ach
$ sudo gedit virtualHubo.py

3: Locate the following lines:

    if flag == 'nophysics':
        options.physics=False
        options.stop=False
        openhubo.TIMESTEP=ha.HUBO_LOOP_PERIOD
        print 'No Dynamics mode'
    else:
        options.physics=True
        options.stop=True
 
    #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 archr_drc.py 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.

Videos

Video demonstration for the physical controller (the archr_drc.py script)
Video demonstration for the keyboard controller (HuboKeyboardControl.py)

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

Building

  • 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 virtualHubo.py file and then updating the file directory locations of the valve environment & object files to your workstation appropriately.