User Tools

Site Tools


Writing /var/lib/dokuwiki/data/meta/tutorials/object_manipulation_system.meta failed
Unable to save metadata file. Hint: disk full; file permissions; safe_mode setting.
tutorials:object_manipulation_system

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tutorials:object_manipulation_system [2019/05/06 14:12] – [Installation] dgarciatutorials:object_manipulation_system [2022/09/20 00:08] (current) – external edit 127.0.0.1
Line 14: Line 14:
 ===== Installation ===== ===== Installation =====
  
-There are 3 things you need to install. First you will need to install the humanoid robot Simulator. So follow [[tutorials:object_manipulation_robot_simulator| this tutorial]] for installing it.+**First** you will need to install the humanoid robot Simulator. So follow [[tutorials:object_manipulation_robot_simulator| this tutorial]] for installing it.
  
 When you have installed the Humanoid Robot Simulator, you will need to create a Python virtual environment. **Please note that OMS uses Python3**, do not create a Python2 virtualenv, as it will not work. When you have installed the Humanoid Robot Simulator, you will need to create a Python virtual environment. **Please note that OMS uses Python3**, do not create a Python2 virtualenv, as it will not work.
Line 30: Line 30:
  
 <code bash> <code bash>
-  cd ~/python/acos+  cd ~/python/arcos
   source bin/activate.sh   source bin/activate.sh
 </code> </code>
Line 40: Line 40:
 </code> </code>
  
-**OMS** is written in Python 3, and we tried to use only standard libraries. Before installing **OMS** you will have to install the following dependencies. Remember to install the versions for Python 3. +Now follow the ''README'' file located at ''<virtualenv>/arcos/src/oms/README.MD'' for the rest of the installation instructions.
- +
-  numpy scipy matplotlib +
- +
-First you need to install YARP in your computer. **OMS** is writen in Python 3 so, when you generate the bidings be carefull to select Python 3, not Python 2. Unfortunately YARP only allows one type of binding, so if you generate Python3 bidings, you will loose Python 2 bidings. A fix that I implemented was to install a container (or chroot) with YARP compiled for Python 2 to use with the [[tutorials:object_manipulation_robot_simulator|ARCOS-Lab Humanoid Robot Simulator]], and use the YARP with Python 3 natively on my computer. Here you can find a usefull tutorial for [[tutorials:installing_yarp_in_debian|Installing YARP]].  +
- +
-It is very important you make sure you have pyrovito installed. Follow [[tutorials:object_manipulation_robot_simulator| this tutorial]] to install the complete humanoid robot simulator (pyrovito included). Remember that simulator uses Python2. +
- +
-  cd ~/local/src/ +
-  git clone ssh://gitolite3@arcoslab.eie.ucr.ac.cr/oms +
-  git checkout arch-devel +
- +
-This is an internal repository, so if you do not have access, ask [[people:dgarcia|Daniel]] to add you.  +
- +
-Follow the instructions that you will find in the README file. It will be very easy to install, because it was developed as a Python Package. +
- +
 ===== Contributing ===== ===== Contributing =====
  
Line 72: 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 84: 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 106: 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 139: 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.1557151943.txt.gz · Last modified: 2022/09/20 00:08 (external edit)