Difference between revisions of "Installing openrave, openhubo, hubo-ach and performing peg-in-hole"

From Lofaro Lab Wiki
Jump to: navigation, search
Line 13: Line 13:
 
All joints and keys are shown below:
 
All joints and keys are shown below:
 
*     if c == 'a':
 
*     if c == 'a':
*        RSP = RSP-0.1;
+
        RSP = RSP-0.1;
 
*        if c == 'z':  
 
*        if c == 'z':  
*          RSP = RSP+0.1;
+
          RSP = RSP+0.1;
 
*     if c == 's':
 
*     if c == 's':
*        RSR = RSR-0.1;
+
        RSR = RSR-0.1;
 
*        if c == 'x':  
 
*        if c == 'x':  
*          RSR = RSR+0.1;
+
          RSR = RSR+0.1;
 
*     if c == 'd':
 
*     if c == 'd':
*        RSY = RSY-0.1;
+
        RSY = RSY-0.1;
 
*        if c == 'c':  
 
*        if c == 'c':  
*          RSY = RSY+0.1;
+
          RSY = RSY+0.1;
 
*     if c == 'f':
 
*     if c == 'f':
*        REB = REB-0.1;
+
        REB = REB-0.1;
 
*        if c == 'v':  
 
*        if c == 'v':  
*          REB = REB+0.1;
+
          REB = REB+0.1;
 
*     if c == 'g':
 
*     if c == 'g':
*        RWY = RWY-0.1;
+
        RWY = RWY-0.1;
 
*        if c == 'b':  
 
*        if c == 'b':  
*          RWY = RWY+0.1;
+
          RWY = RWY+0.1;
 
*     if c == 'h':
 
*     if c == 'h':
*        RWP = RWP-0.1;
+
        RWP = RWP-0.1;
 
*        if c == 'n':  
 
*        if c == 'n':  
*          RWP = RWP+0.1;
+
          RWP = RWP+0.1;
 
*        if c == 'w':  
 
*        if c == 'w':  
*          RF1 = 1;
+
          RF1 = 1;
 
*        if c == 'e':  
 
*        if c == 'e':  
*          RF1 = -1;
+
          RF1 = -1;
 
*        if c == 'r':  
 
*        if c == 'r':  
*          RF2 = 1;
+
          RF2 = 1;
 
*        if c == 't':  
 
*        if c == 't':  
*          RF2 = -1;
+
          RF2 = -1;
  
 
note: RF1 and RF2 require a value of 1 or -1 to open or close the two portions of the hand.
 
note: RF1 and RF2 require a value of 1 or -1 to open or close the two portions of the hand.

Revision as of 02:19, 28 September 2014

1. Install openRAVE version 0.9.0 from here (compile it from sources)

2. Install openHubo from here

3. Install Hubo-ach from here

4. Download the github code for the ARCHR peg-in-hole from here, and save the entire contents in a folder called 'Hubo_Simulation'

5. Run openrave with hubo-ach with the command: hubo-ach sim openhubo physics drc

6. Run the python keyboard example 'HuboKeyboardControl.py' and press the appropriate keyboard key for performing manipulations on the various limbs of DRC. For example, pressing 'a' moves the RSP up 0.1 radians, 'z' moves it down 0.1 radians.

All joints and keys are shown below:

  • if c == 'a':
   		    RSP = RSP-0.1;
  • if c == 'z':
     		    RSP = RSP+0.1;
  • if c == 's':
   		    RSR = RSR-0.1;
  • if c == 'x':
     		    RSR = RSR+0.1;
  • if c == 'd':
   		    RSY = RSY-0.1;
  • if c == 'c':
     		    RSY = RSY+0.1;
  • if c == 'f':
   		    REB = REB-0.1;
  • if c == 'v':
     		    REB = REB+0.1;
  • if c == 'g':
   		    RWY = RWY-0.1;
  • if c == 'b':
     		    RWY = RWY+0.1;
  • if c == 'h':
   		    RWP = RWP-0.1;
  • if c == 'n':
     		    RWP = RWP+0.1;
  • if c == 'w':
     		    RF1 = 1;
  • if c == 'e':
     		    RF1 = -1;
  • if c == 'r':
     		    RF2 = 1;
  • if c == 't':
     		    RF2 = -1;

note: RF1 and RF2 require a value of 1 or -1 to open or close the two portions of the hand.

7. The various arms of the DRC can be commanded via a controller consisting of dynamixel servos, and running the code in the file 'ARCHR_hubo_peg.py'. The various actuator numbers and servo IDs must be modified in the file to match your dynamixel configuration.

  • Valve-turn is in prototype stage and may not be completed, 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 after successful hubo-ach installation, and selecting the line for valve-turn.