Tiago

From Robin

Jump to: navigation, search

Contents

Before you start

Before starting to use TIAGo, make sure you have read and understood the start-up and shutdown procedure for TIAGo as described in the manual. We've also arranged a kickstart workshop for Tiago. You can take a look on the slides and the tutorials there in our GitHub repo.

If you are using the physical robot, make sure to book both the robot and the lab you are conducting experiments in. See more information here.

Setup

In a typical setup, TIAGo is set as ROS master. Subsequent machines and clients are configured as "slaves".

Clients

Network configuration

TIAGo is connected to a hidden network. This network uses the same access points as eduroam. Thus you can operate TIAGo on all campus premises.

The computer vixen in the MoCap lab is connected to the same network as Tiago.

Please contact the engineer here if you have questiopns on the network config.

Setup necessary environment variables

In order to resolve the hostname of the TIAGo a host alias must be created. In your home directory create a .hosts file. In said file include the following line

 tiago-135c tiago.uio.no

To use the host alias, specify ROS master and set ROS ip of your computer, include the following in your .bashrc file

 export HOSTALIASES=~/.hosts
 export ROS_MASTER_URI=http://tiago-135c:11311
 export ROS_IP=vixen-nb.uio.no

If you are not using anoat, replace anoat-nb.uio.no with the IP of your computer. Remember to source .bashrc after saving your modifications.

Set up ssh to TIAGo

Set up your ssh config file

 $ cd
 $ cd .ssh
 $ touch config

Copy the following into the config file

 Host tiago
   Hostname 193.157.209.134
   User pal
   IdentitiesOnly=yes
   IdentityFile ~/.ssh/tiago

Now that you have setup the ssh config file you may ssh into TIAGo using the command

 $ ssh -L 8080:localhost:8080 tiago

You should now be connected to TIAGo.

SSH Permission denied (publickey)

If you get the error above, make sure the .ssh directory and authorized_keys has the right permissions by running the following commands from your home directory.

 chmod 700 .ssh
 chmod 600 .ssh/authorized_keys

Operating TIAGo using the hand held controller

How to operate TIAGo is described in the manual.

Operating TIAGo using the web commander

To run premade motions, see the camera feed and for trouble shooting, the web commander may be used. This does not require you to be connected to the same network as TIAGo.

On vixen (the RHEL computer in MoCap lab), open a web browser and enter address: http://tiago.uio.no:8080/ to access the web commander.

On other clients you need to forward port 8080 to be able to access the web commander:

SSH into TIAGo using the command

 $ ssh -L 8080:localhost:8080 tiago

Open your browser of choice and go to the following url

 http://localhost:8080/

This is the web commander.

Operating TIAGo using ROS from client machine

In general when using TIAGo you will run ROS commands and scripts from your client machine. For this purpose a singularity container has been created. The container is running Ubuntu 18.04 bionic with ROS melodic. Additionally the container has a pre-built work-space in /tiago_public_ws/

Open an interactive shell with the following command

 singularity shell --nv /projects/robin/programs/sing-con/ros-melodic-pal/ros-melodic-pal.sif

Navigate to /tiago_public_ws/ and source the necessary files

 $ source /opt/ros/melodic/setup.bash
 $ source devel/setup.bash

To test that your setup is working as intended try running the following command

 $ rosrun play_motion move_joint head_2_joint -0.6 2.0

If this moves the head of the robot your setup is working correctly. If not please review your environment variables. If the problem persists contact the engineer here For tutorials on how to operate TIAGo using ROS see the ROS wiki TIAGo Tutorial page

Guides for Tiago

The following pages show examples of how to use Gazebo, Rviz and Moveit for different applications with Tiago.

In all tutorials, a container is used. There are two different containers available, tiago_container_public.sif (used in these tutorials) and tiago_container.sif, and there are some differences between them. The tiago_container_public.sif container is public and anyone can build it using the definition file. It also contains the most important packages for working with Tiago, so it should be sufficient for most purposes. The other container, tiago_container.sif, is not public and you need special persmissions in order to build it. This one contains some more packages, but they should be outside the scope for most purposes. There are also some small differences in how the files are organized within the containers and how applications are launched.

Guides for using various software and add-ons with Tiago

Gazebo guide

Rviz guide

Moveit guide

TIAGo hardware

On the GitHub page here are some presentations regarding Tiago and how we use it, in addition to some other basic tutorials.

learning_gui package

There is a package for Tiago created by pal, the learning_gui package which you can use to easily program movements with Tiago. It allows you to use a GUI window to decide the joint angles for Tiago's manipulator and record and save the movement so that it can be played later. It also allows for programming motions with gravity compensation. This Github repository contains great and detailed information about the installation and usage of this package.

Docker tutorial

http://wiki.ros.org/Robots/TIAGo/Tutorials/Installation/Installing_Tiago_tutorial_docker

Tiago demos

Tips from Leticia

Dokumentasjon skrevet av Vincent Olsen

Har skrevet dokumentasjon for å hjelpe meg selv å komme i gang med Tiago så tar forebehold om skriveleif:))
Media:Tiago-kommandoer.pdf
Media:Starte_ROS-prosjekt.pdf

Personal tools
Front page