Tiago
From Robin
(20 intermediate revisions not shown) | |||
Line 1: | Line 1: | ||
== Before you start == | == 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 [https://cloud.pal-robotics.com/index.php/s/eocg4B27ITWbsvI?path=%2FTIAGo%20(single%20arm)%2FROS%20Kinetic#pdfviewer manual]. | + | Before starting to use TIAGo, make sure you have read and understood the start-up and shutdown procedure for TIAGo as described in the [https://cloud.pal-robotics.com/index.php/s/eocg4B27ITWbsvI?path=%2FTIAGo%20(single%20arm)%2FROS%20Kinetic#pdfviewer manual]. We've also arranged a kickstart workshop for Tiago. You can take a look on the slides and the tutorials there in our [https://github.uio.no/robin/tiago_workshop 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 [https://robin.wiki.ifi.uio.no/MoCap-Lab_4303 here]. | ||
== Setup == | == Setup == | ||
Line 6: | Line 8: | ||
=== Clients === | === Clients === | ||
- | ==== | + | ==== Network configuration ==== |
- | TIAGo is connected to | + | 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. |
- | Please contact the engineer [mailto:robin-engineer@ifi.uio.no here] | + | |
+ | The computer <code>vixen</code> in the MoCap lab is connected to the same network as Tiago. | ||
+ | |||
+ | Please contact the engineer [mailto:robin-engineer@ifi.uio.no here] if you have questiopns on the network config. | ||
==== Setup necessary environment variables ==== | ==== Setup necessary environment variables ==== | ||
Line 56: | Line 61: | ||
== Operating TIAGo using the web commander == | == 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. | 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 <code>vixen</code> (the RHEL computer in MoCap lab), open a web browser and enter address: <code>http://tiago.uio.no:8080/</code> 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 into TIAGo using the command | ||
Line 81: | Line 90: | ||
For tutorials on how to operate TIAGo using ROS see the [http://wiki.ros.org/Robots/TIAGo/Tutorials ROS wiki TIAGo Tutorial page] | For tutorials on how to operate TIAGo using ROS see the [http://wiki.ros.org/Robots/TIAGo/Tutorials ROS wiki TIAGo Tutorial page] | ||
- | ==Gazebo, Rviz and | + | == 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]] | [[Gazebo guide]] | ||
Line 89: | Line 104: | ||
[[Moveit guide]] | [[Moveit guide]] | ||
+ | [[TIAGo hardware]] | ||
+ | |||
+ | On the GitHub page [https://github.uio.no/robin/tiago_workshop 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 [https://github.com/pal-robotics/learning_gui 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 | http://wiki.ros.org/Robots/TIAGo/Tutorials/Installation/Installing_Tiago_tutorial_docker | ||
+ | == [[Tiago demos]] == | ||
+ | |||
+ | == [[Tips from Leticia]] == | ||
== Dokumentasjon skrevet av Vincent Olsen == | == Dokumentasjon skrevet av Vincent Olsen == |
Current revision as of 11:31, 2 January 2024
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
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