This document outlines the steps for setting up the TIAGo robot environment, including the installation of Ubuntu and ROS, the necessary hardware setup, and executing tasks for RoboCup@Home final task - Carry My Luggage.
-
Ubuntu and ROS Installation
Follow the instructions on the ROS wiki to install Ubuntu and ROS for TIAGo: Install Ubuntu and ROS
Use the following command to integrate TIAGo's public ROS workspace:
rosinstall ./src /opt/ros/noetic tiago_public−noetic.rosinstall
-
Hardware Handbook
For detailed information on TIAGo's hardware, refer to the PAL Robotics handbook: TIAGo Hardware Handbook
-
Web Manager
Access the robot's web manager at: http://tiago-46c:8080/?&wtd=VtoPWd6ULoaYaohm
Execute the following commands to install necessary packages and dependencies:
sudo apt install python3-pip
pip3 install deepspeech pyaudio numpy
# Download Deepspeech models and set permissions
wget https://github.com/mozilla/DeepSpeech/releases/download/v0.9.3/deepspeech-0.9.3-models.pbmm
wget https://github.com/mozilla/DeepSpeech/releases/download/v0.9.3/deepspeech-0.9.3-models.scorer
chmod 644 /home/jin/models/models.pbmm
chmod 644 /home/jin/models/models.scorer
sudo apt-get install portaudio19-dev
pip install pyaudio
pip install SpeechRecognition
pip install vosk
pip install core
pip install gtts
rosdep install --from-paths src --ignore-src -r -y
Set Timezone to UTC
sudo timedatectl set-timezone UTC
To SSH into TIAGo:
To connect your computer to the robot, follow these steps: Access the robot's web interface at http://192.168.1.200
Update your machine's IP address
ifconfig or use ip addr
to find your IP address
Set ROS environment variables
export ROS_IP=192.168.1.<your ip addr>
export ROS_MASTER_URI=http://192.168.1.200:11311
Verify connectivity with the robot
ping 192.168.1.200 -c 4
Before working with ROS packages, source the ROS setup files:
source /opt/ros/noetic/setup.bash
Kill any running Gazebo instances
killall gzserver
killall gzclient
Source ROS Noetic setup file
source /opt/ros/noetic/setup.bash
source /devel/setup.bash
Disable services using the web manager or command line
rosnode kill /head_manager
rosnode kill /map_server
rosnode kill /dock_charge_sm
roslaunch robocup_at_home_final_navigation navigation.launch
In the web browser, manage services: Kill move_base and localizer, then restart them
cd YOLCAT-mini-Instance-segmentation
python3 detect_tiago_bodypose.py
rosrun smach_viewer smach_viewer.py
roslaunch tiago_moveit_config demo.launch
roslaunch robocup_at_home_final_project final_task.launch
To remote control of the robot use
rosrun key_teleop key_teleop.py
Note: The robot will not move if this script is running
roslaunch tiago_moveit_config demo.launch
rosrun robocup_at_home_final_project tf_grasp.py
killall gzserver
killall gzclient
rqt_graph
rostopic pub /arm_controller/command trajectory_msgs/JointTrajectory "header:
seq: 0
stamp: {secs: 0, nsecs: 0}
frame_id: ''
joint_names: ['arm_1_joint', 'arm_2_joint', 'arm_3_joint', 'arm_4_joint', 'arm_5_joint', 'arm_6_joint', 'arm_7_joint']
points:
- positions: [0.4, -1.17, -1.9, 2.3, -1.3, -0.45, 1.75]
velocities: []
accelerations: []
effort: []
time_from_start: {secs: 1, nsecs: 0}"
rosrun robocup_at_home_final_project try_moveit.py
Use rosrun to give the point, try to get the point from RViz.
This repository contains a series of tutorials designed to guide users through various aspects of working with the TIAGo robot in ROS (Robot Operating System). Below are instructions for installing TIAGo, running simulations, performing object detection, navigation, perception, and robot manipulation.
To install TIAGo and ROS, follow the instructions provided in the TIAGo installation tutorial. Once installed, use the following command to set up the required packages:
rosinstall ./src /opt/ros/noetic tiago_public−noetic.rosinstall
Launch TIAGo in a simulated environment using Gazebo:
roslaunch ics_gazebo tiago.launch world_suffix:=tutorial2
Launch Rviz with the TIAGo robot model:
roslaunch ics_gazebo tiago.launch world_suffix:=tutorial
Run the look_to_point node for controlling the robot's gaze:
rosrun look_to_point look_to_point
Generate maps for different environments using TIAGo:
roslaunch tiago_2dnav_gazebo tiago_mapping.launch public_sim:=true world:=tutorial_office
Initialize localization for the robot:
roslaunch tiago_localization tiago_localization.launch
Navigate through the mapped environment using the MoveIt! package:
roslaunch tiago_2dnav_gazebo tiago_navigation.launch public_sim:=true
roslaunch tiago_move tiago_move.launch
Create a world for perception tasks:
roslaunch object_detection_world tiago.launch world_suffix:=objects
Follow the installation instructions for the Yolact repository and run object detection scripts:
cd YOLACT-mini-Instance-segmentation
python detect_tiago.py
Set up navigation in a custom world:
roslaunch tiago_2dnav_gazebo tiago_navigation.launch public_sim:=true world:=pick_place map:=$HOME/.pal/tiago_maps/configurations/pick_place_map
Perform perception tasks in the environment.
Launch manipulation capabilities for TIAGo:
roslaunch tiago_move_pick_place tiago_move.launch
For a state machine approach, restart the setup process.
roslaunch tiago_2dnav_gazebo tiago_navigation.launch public_sim:=true world:=pick_place map:=$HOME/.pal/tiago_maps/configurations/pick_place_map
sudo apt-get install ros-noetic-smach-viewer
rosrun smach_viewer smach_viewer.py
roslaunch hsrb_task_manager task_manager.launch
By following these tutorials, users can gain practical experience in setting up and utilizing the TIAGo robot for various robotics applications in ROS.