-
Notifications
You must be signed in to change notification settings - Fork 45
Comprehensive README for tiago_robot – Full Documentation Overhaul #35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: humble-devel
Are you sure you want to change the base?
Conversation
@De-funkd what i have do in this . this is already have no issue .please tell if i have to do anything in this . |
### 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. |
There was a problem hiding this comment.
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
- `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`. |
There was a problem hiding this comment.
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
[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 | ||
|
There was a problem hiding this comment.
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>
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:
tiago_bringup
tiago_description
tiago_controller_configuration
tiago_robot
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.