Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
tutorials:object_manipulation_system [2019/05/06 09:16]
dgarcia [Installation]
tutorials:object_manipulation_system [2019/11/15 10:51] (current)
dgarcia [Execute with Whole robot]
Line 56: Line 56:
  
 It is also possible to execute **OMS** with the robot. Inside the **OMS** repository some instructions are provided to get a basic setup going. Here one can learn how to execute it with the entire robot. It is worth mentioning that **OMS** and the robot simulator are not 100%  compatible (mainly because they use different Python versions) so a //glue// script was developed to have an interface between the two. This //glue// is not part of the official simulator, because when the simulator is ported to Python3/​[[http://​www.ros.org/​|ROS]] it will not be required. Similarly, the //glue// is not part of **OMS** because once it is ported to [[http://​www.ros.org/​|ROS]],​ it will not be required. So it was decided to include this glue into [[https://​gitlab.com/​arcoslab/​cmoc/​ | CMOC]], the predecessor of **OMS**. It is also possible to execute **OMS** with the robot. Inside the **OMS** repository some instructions are provided to get a basic setup going. Here one can learn how to execute it with the entire robot. It is worth mentioning that **OMS** and the robot simulator are not 100%  compatible (mainly because they use different Python versions) so a //glue// script was developed to have an interface between the two. This //glue// is not part of the official simulator, because when the simulator is ported to Python3/​[[http://​www.ros.org/​|ROS]] it will not be required. Similarly, the //glue// is not part of **OMS** because once it is ported to [[http://​www.ros.org/​|ROS]],​ it will not be required. So it was decided to include this glue into [[https://​gitlab.com/​arcoslab/​cmoc/​ | CMOC]], the predecessor of **OMS**.
- 
-First checkout the branch where the script was included: 
- 
-  cd {CMOC_REPO_PATH} 
-  git checkout glue 
   ​   ​
 Now, start a YARP server. Now, start a YARP server.
Line 68: Line 63:
  
   cd ~/local/src   cd ~/local/src
-  vfclik -i lwr -i right -d robot_descriptions/arcosbot/​kinematics/​lwr/ ​-+  vfclik --/arcosbot-real -i lwr -i right -d robot_descriptions/​arcosbot/​kinematics/​lwr/​
- +
-In a separate terminal, execute ''​vfclick''​ for the left arm: +
- +
-  cd ~/​local/​src +
-  vfclik ​-i lwr -i left -d robot_descriptions/​arcosbot/​kinematics/​lwr/ ​-s+
  
 In another terminal execute the hands simulator: In another terminal execute the hands simulator:
  
   cd ~/local/src   cd ~/local/src
-  sahand_yarp_sim --d -n -f robot_descriptions/​arcosbot/​kinematics/​sahand/​hands_kin.py+  sahand_yarp_sim -b /​arcosbot-real -r -d -n -f robot_descriptions/​arcosbot/​kinematics/​sahand/​hands_kin.py ​-s
   ​   ​
 Then execute ''​pyrovito''​ for visualization:​ Then execute ''​pyrovito''​ for visualization:​
  
   cd ~/local/src   cd ~/local/src
-  pyrovito -r lwr --arm_right ​--arm_left ​--hand_right ​--hand_left ​-a robot_descriptions/​arcosbot/​kinematics/​lwr/​ -d robot_descriptions/​arcosbot/​kinematics/​sahand/​+  pyrovito ​-n /​arcosbot-real ​-r lwr --arm_right --hand_right -a robot_descriptions/​arcosbot/​kinematics/​lwr/​ -d robot_descriptions/​arcosbot/​kinematics/​sahand/​
   ​   ​
 Finally execute ''​glue''​ in a separate terminal. Finally execute ''​glue''​ in a separate terminal.
Line 90: Line 80:
   python glue.py   python glue.py
   ​   ​
 +If you want to run with the finger calibration
 +
 +  cd ~/​local/​src/​cmoc/​objects/​sliding/​sctipts
 +  python glue.py -c ~/​local/​src/​robot_descriptions/​arcosbot/​kinematics/​sahand/​calibration_data/​finger_calibration_data.py -n /​arcosbot-real
 +
 If you want to ignore **OMS** commands and move the robot from the keyboard add the ''​-g''​ option. This will only ignore the commands that come from the robot interface, but it will still send the end effectors state back to **OMS**, so that the robot can still interact with the objects. If you want to ignore **OMS** commands and move the robot from the keyboard add the ''​-g''​ option. This will only ignore the commands that come from the robot interface, but it will still send the end effectors state back to **OMS**, so that the robot can still interact with the objects.
  
Line 123: Line 118:
     "​robot_carrier":​ "​tcp",​     "​robot_carrier":​ "​tcp",​
     "​vis_carrier":​ "​tcp",​     "​vis_carrier":​ "​tcp",​
 +    "​perceived_object":​ "​clorox",​
     "​frequency":​ 60     "​frequency":​ 60
  
  • tutorials/object_manipulation_system.1557152178.txt.gz
  • Last modified: 2019/05/06 09:16
  • by dgarcia