Skip to content
Guillaume edited this page Jul 27, 2022 · 13 revisions

TIAGo Arm Effort Controller Wiki

Welcome to the tiago_arm_effort_controller wiki! We will detail how to install, deploy and utilize this package, as well as give an in-depth explanation of the code.

This project is based upon pal-robotics/gravity_compensation_controller_tutorial. If you want to create your own TIAGo controller, it is best to start here.

Installation & setup

  • This repository should be installed inside the source folder of your catkin workspace, follow ROS tutorials for ROS::melodic if you are lost.
  • The installations of resources and dependencies are mainly done using scripts coded to use with our TIAGo-155c. To use those scripts with your own TIAGo, you must change the 155 by yours' id.
  • Some miscellaneous installation procedures πŸͺ„ were purposely left as they could help, but keep in mind having a dedicated TIAGo's development OS will result in a fast working speed and less buggy behaviors.

Package installation

  • Install ROS::melodic
  • Create a catkin workspace dedicated to your TIAGo applications
mkdir -p ~/tiago_ws/src
cd ~/tiago_ws && catkin_make # to init your workspace
  • Clone the package in the src folder (here with SSH):
cd ~/tiago_ws/src
git clone git@github.com:aip-primeca-occitanie/tiago_arm_effort_controller.git
  • Clone the two dependencies:
cd ~/learning_ws/src
git clone git@github.com:pal-robotics-forks/rbdl.git
git clone git@github.com:pal-robotics/ddynamic_reconfigure.git
  • Build the project:
cd ~/learning_ws
catkin build
  • Add the sourcing in your .bashrc to automate sourcing:
echo "source ~/learning_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

Dependencies installation

Open the terminal in the misc folder of the tiago_arm_effort_controller and run the three scripts. To see if a script can be executed, check if the option Allow executing file as program is enabled in the file's parameters.

VMWare setup πŸͺ„

In case you are forced to install the TIAGo's development environment on a virtual machine. Before starting, you will need:

First open VMWare Workstation Player (if you have trouble with access rights during the setup, run as administrator) and Create a New Virtual Machine:

> Install from: Installer disc image file (iso): 'Link the iso of the tiago develoment environment'
> Guest operating system: Linux > Version: Ubuntu 64-bits
> Virtual machine name: 'use your best naming skills ;)' > Location : C:\Users\...
> Maximum disk size (GB): depends on your needs, note that this is the MAXIMUM value, 
                          the virtual drives using dynamic allocation
> Customize Hardware:
  > Memory: 'select the maximum recommended memory, gazebo is very ressource demanding' 
  > Display: 3D graphics OFF (Gazebo doesn't support 3D acceleration in virtual machines)

Then save and launch the VM (Virtual Machine). At the first start, select your language then select Run Development TIAGO. To be consistent with pal, your username should be pal, as well as the password.

/!\ don't use Install development environment as you will have issues with drivers later on on the VM /!\

Use the installation drive on the desktop to install the TIAGO env.(environment) on your VM. Restart the VM. Now you should have an environment ready to simulate or deploy on a TIAGo !

/!\ do NOT do sudo apt-get update as stated in the ros tutorials. Pal uses its own version of the libraries and packages and doing an update might break compatibility ! If packages are missing, look with sudo apt search missing_package and search for the pal repositories (either pal-robotics/ or pal-robotics-forks/). /!\

If you want to activate the shared clipboard between your computer and the virtual machine, do:

sudo apt-get install open-vm-tools open-vm-tools-desktop

then restart the VM.

Kernel recompilation πŸͺ„

🚧 Work in progress 🚧

Misc

.
β”œβ”€β”€ CMakeLists.txt
β”œβ”€β”€ config
β”‚Β Β  β”œβ”€β”€ rrbot_gravity_compensation.yaml
β”‚Β Β  β”œβ”€β”€ tiago_pal-gripper_gravity_compensation_simulation.yaml
β”‚Β Β  β”œβ”€β”€ tiago_pal-gripper_gravity_compensation.yaml
β”‚Β Β  β”œβ”€β”€ tiago_pal-hey5_gravity_compensation_simulation.yaml
β”‚Β Β  β”œβ”€β”€ tiago_pal-hey5_gravity_compensation.yaml
β”‚Β Β  β”œβ”€β”€ tiago_schunk-wsg_gravity_compensation_simulation.yaml
β”‚Β Β  └── tiago_schunk-wsg_gravity_compensation.yaml
β”œβ”€β”€ include
β”‚Β Β  β”œβ”€β”€ controller.hpp
β”‚Β Β  └── ros_color_stream.h
β”œβ”€β”€ INIT_INSTRUCTIONS.md
β”œβ”€β”€ launch
β”‚Β Β  └── tiago_arm_effort_controller.launch
β”œβ”€β”€ LICENSE
β”œβ”€β”€ misc
β”‚Β Β  β”œβ”€β”€ pal-ferrum-system-ros-key_1.0.2-1_amd64.deb
β”‚Β Β  β”œβ”€β”€ ros-melodic-hpp-fcl_1.8.1-1bionic.20220523.130500_amd64.deb
β”‚Β Β  β”œβ”€β”€ ros-melodic-pinocchio_2.6.6-2bionic.20220422.212240_amd64.deb
β”‚Β Β  β”œβ”€β”€ scriptCreateURDF.sh
β”‚Β Β  β”œβ”€β”€ scriptInstallDependancies.sh
β”‚Β Β  └── scriptInstallEigenpy.sh
β”œβ”€β”€ package.xml
β”œβ”€β”€ README.md
β”œβ”€β”€ rosdoc.yaml
β”œβ”€β”€ src
β”‚Β Β  β”œβ”€β”€ controller.cpp
β”‚Β Β  └── example.cpp
β”œβ”€β”€ tiago_arm_effort_controller_plugins.xml
└── urdf
    └── tiagoSteel.urdf

https://sites.google.com/site/xinsongyan/researches/rbdl-pinnochio