Difference between revisions of "Hubo DRC Peg-In-Hole & Valve Turn"

From Lofaro Lab Wiki
Jump to: navigation, search
(Videos)
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
The Hubo-DRC successfully performs peg-in-hole via the ARCHR team's controller and instructions are located [http://wiki.lofarolabs.com/index.php/Installing_openrave,_openhubo,_hubo-ach_and_performing_peg-in-hole here]
+
[[File:DRCHuboARCHR.png]]
 +
== Overview ==
  
* [https://www.youtube.com/watch?v=sSjuIeD9I-o Video demonstration] for the physical controller
+
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.
  
* [https://www.youtube.com/watch?v=4qXgPeQS--w&list=UU1bXijFzURTJU3T0gwT8egg Video demonstration] for the keyboard controller
+
==Tutorials==
 +
1: [http://wiki.lofarolabs.com/index.php/Installing_openrave,_openhubo,_hubo-ach_and_performing_peg-in-hole Installing openRAVE, openHubo, and hubo-ach]
  
 +
==Code==
 +
===Running the code===
 +
1: Get the code from the Lofarolabs Simulation/archr_drc
 +
<syntaxhighlight lang="bash">
 +
$ git clone https://github.com/LofaroLabs/Simulation
 +
</syntaxhighlight>
 +
2: Follow these steps:
 +
<syntaxhighlight lang="bash">
 +
$ cd /etc/hubo-ach
 +
$ sudo gedit virtualHubo.py
 +
</syntaxhighlight>
 +
3: Locate the following lines:
 +
<syntaxhighlight lang="bash">
 +
    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
 +
</syntaxhighlight>
 +
 +
4: Add the following code directly under this last line:
 +
<syntaxhighlight lang="bash">
 +
    options.scenefile = ('/home/archr/projects/archr_Code/Simulation/archr_drc/openrave/peginhole.env.xml');
 +
</syntaxhighlight>
 +
** 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:
 +
<syntaxhighlight lang="bash">
 +
hubo-ach sim openhubo physics drc
 +
</syntaxhighlight>
 +
 +
* 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==
 +
: [https://www.youtube.com/watch?v=sSjuIeD9I-o Video demonstration] for the physical controller (the archr_drc.py script)
 +
: [https://www.youtube.com/watch?v=4qXgPeQS--w&list=UU1bXijFzURTJU3T0gwT8egg Video demonstration] for the keyboard controller (HuboKeyboardControl.py)
 
<html>
 
<html>
 
<iframe width="560" height="315" src="//www.youtube.com/embed/sSjuIeD9I-o" frameborder="0" allowfullscreen></iframe>
 
<iframe width="560" height="315" src="//www.youtube.com/embed/sSjuIeD9I-o" frameborder="0" allowfullscreen></iframe>
 
</html>
 
</html>
 
 
 
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.
 
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.
  
 
* [https://www.youtube.com/watch?v=d1ittCajkl0 Video of Attempt]
 
* [https://www.youtube.com/watch?v=d1ittCajkl0 Video of Attempt]
 +
 +
==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.

Latest revision as of 01:46, 17 December 2014

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.