Skip to content

Conversation

De-funkd
Copy link

Title:

Complete Overhaul of README for TIAGo Robot Repository

Description:

This pull request introduces a fully rewritten README for the tiago_robot repository, providing a structured, detailed, and comprehensive guide for users working with PAL Robotics' TIAGo robot. The new README improves clarity, organization, and accessibility by covering:

Key Improvements:

  • Overview of TIAGo Robot – Introduction to TIAGo and its applications.
  • Repository Features – Breakdown of URDF files, ROS 2 configurations, simulation support, and hardware integration.
  • Installation & Setup Guide – Steps for cloning, building, and sourcing the repository.
  • Repository Structure – Detailed documentation for all key packages:
    • tiago_bringup
    • tiago_description
    • tiago_controller_configuration
    • tiago_robot
  • Simulation & Real Robot Usage – Commands to launch Gazebo and MoveIt, along with guidelines for real robot operation.
  • Contribution Guidelines & Support – Steps for contributing, reporting issues, and accessing documentation.

This update significantly enhances the usability of the repository by making it easier for new and experienced users to navigate, configure, and deploy TIAGo in various applications.
Please review and let me know if any modifications are required, ill make the changes as soon as possible.

@ShaniPratapSingh
Copy link

@De-funkd what i have do in this . this is already have no issue .please tell if i have to do anything in this .

@De-funkd
Copy link
Author

De-funkd commented Apr 6, 2025

well as i said here this pr solves this issue .So there isn't anything to change here until said by the maintainers

Comment on lines +35 to +66
### Prerequisites

Ensure that you have the following installed:

- ROS 2 Humble

- Gazebo (for simulation support)

- MoveIt 2 (for motion planning)

- PAL Robotics dependencies

- Git (to clone the repository)


### Cloning the Repository

```bash
cd ~/tiago_ws/src # Navigate to your ROS 2 workspace
git clone https://github.com/pal-robotics/tiago_robot.git
cd ~/tiago_ws && colcon build
```

### Setting Up the Environment

Before using the TIAGo robot, source the necessary setup files:

```bash
source ~/tiago_ws/install/setup.bash
```

To avoid sourcing manually every time, add the above line to your `.bashrc` file.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would simply add the binary installation, ros-humble-tiago-robot, this should install all the dependencies etc

Comment on lines +70 to +175
- `joy_teleop/`: Configuration for joystick teleoperation.

- `motion_planner/`: Configurations for different end effectors and motion planning setups.

- `motions/`: Predefined motion sequences for different setups.

- `twist_mux/`: Configuration for velocity command multiplexing.

- **`launch/`**: Launch files for bringing up different subsystems like joystick teleoperation, motion execution, and twist muxing.

- **`module/`**: YAML files specifying configurations for joystick, play motion, and twist mux modules.

- **`scripts/`**: Contains `regen_em_file.py`, used for regenerating files from `.em` templates.


### `tiago_description`

Contains the URDF, mesh, and configuration files for TIAGo.

- **`config/`**: Contains configuration files like:

- `tiago_configuration.yaml`: General configuration for the robot.

- `tiago.rviz` & `urdf.rviz`: RViz visualization settings.

- **`launch/`**: Launch files for visualization and state publishing:

- `robot_state_publisher.launch.py`

- `show.launch.py`

- **`meshes/`**: 3D models of the robot components, including:

- `arm/`, `head/`, `sensors/`, `torso/`

- **`module/`**: Contains `10_robot_state_publisher.yaml`, which defines robot state publishing settings.

- **`robots/`**: Contains `tiago.urdf.xacro`, the main Xacro definition of TIAGo.

- **`ros2_control/`**: ROS 2 control configurations, including:

- `gazebo_controller_manager_cfg.yaml`

- `ros2_control.urdf.xacro`

- `transmissions.urdf.xacro`

- **`test/`**: Contains test scripts for validating TIAGo’s description:

- `test_description.launch.py`

- `test_xacro.py`

- **`tiago_description/`**: Contains Python utilities for launching TIAGo, including:

- `launch_arguments.py`

- `tiago_launch_utils.py`

- **`urdf/`**: Contains Xacro files defining specific robot components, structured as:

- `arm/`, `head/`, `sensors/`, `torso/`, `end_effector/`, `calibration/`

- Example: `torso/torso.ros2_control.xacro`, `torso/torso.urdf.xacro`


### `tiago_controller_configuration`

Contains configuration files for controlling the robot’s actuators.

- **`config/`**: YAML configurations for various controllers, including:

- `arm_controller.yaml`: Controls the robot's arm.

- `head_controller.yaml`: Controls the head movements.

- `ft_sensor_controller.yaml`: Manages force-torque sensor data.

- `joint_state_broadcaster.yaml`: Handles joint state broadcasting.

- `gravity_compensation_controller_ilm.yaml`: Implements ILM-based gravity compensation.

- `gravity_compensation_controller_parker.yaml`: Implements Parker-based gravity compensation.

- `torso_controller.yaml`: Controls the torso movements.

- **`launch/`**: Launch files to initialize controllers, including:

- `default_controllers.launch.py`: Loads and starts default controllers.

- `gravity_compensation_controller.launch.py`: Launches gravity compensation controllers.

- **`module/`**: Contains YAML files specifying controller configurations:

- `10_default_controllers.yaml`: Defines default controllers for initialization.


### `tiago_robot`

Contains high-level package metadata, including `package.xml` and `CMakeLists.txt`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think you need to explain each and every file, just give an overview of what each package does

Comment on lines +7 to +18
[TIAGo (Take It and Go)](https://pal-robotics.com/robot/tiago/) is a mobile manipulator robot developed by PAL Robotics. It is widely used in research and industry for a variety of applications, including:

The templates are written using [empy](https://pypi.org/project/empy/) and have the extension `.em`.
- Mobile manipulation

- Human-robot interaction

- Assistive robotics

- Warehouse automation

- AI and reinforcement learning applications

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A bit more description and more information and some research about it would be helpful

Co-authored-by: Sai Kishor Kothakota <saisastra3@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants