📑 TM ROS2 version Jazzy or higher is strictly required to support the TM Robots Series directory structure syntax.
This repository provides essential ROS 2 description files (URDF/Xacro) and 3D meshes for the TM AI Cobot S and TM AI Cobot series. It supports various configurations, including Standard, Standard-X, FT module, and FT-X for robot visualization (RViz), simulation (Gazebo), and motion planning (MoveIt 2).
Additionally, this guide (below) details how to migrate these standalone description packages into a legacy tm2_ros2 workspace.
The repository provides comprehensive coverage for the following model configurations:
| Standard | Standard-X | FT Module | FT-X Module | |
|---|---|---|---|---|
| TM AI Cobot S Series | TM5S | TM5SX | TM5SFT | TM5SXFT |
| TM12S | TM12SX | TM12SFT | TM12SXFT | |
| TM AI Cobot Series | TM5-700 | TM5X-700 | — | — |
| TM5-900 | TM5X-900 | — | — |
💡 Note: The Robot Models packages are continuously updated and deployed to this repository.
This guide explains how to migrate robot description files for the TM AI Cobot S Series (e.g., tm5s) into the legacy tm2_ros2 workspace. The legacy repository only includes the tm12s profile by default. Missing profiles must be retrieved from the standalone TM_Cobots_ROS2_Description repository.
Your workspace must maintain the exact layout below to prevent dependency failures and path resolution issues:
user_ws/ or tm2_ws/
└── tm2_ros2/
└── tm_description/
└── cobot_s/
├── tm12s_description/ <-- Default robot description profile in the tm2_ros2 Jazzy (legacy) repo
└── tm5s_description/ <-- Newly migrated standalone package from TM_Cobots_ROS2_Description repo
├── launch/
├── meshes/
├── rviz/
├── xacro/
├── CMakeLists.txt
└── package.xml
Automate the retrieval and deployment process using the workspace loader script.
📖 The Loader Script Usage Guideline
Edit your configuration file to define the root path of your active ROS 2 workspace:
# ---- Custom Setup (Specify the root directory of your ROS 2 workspace) ----
# Ensure this points to your active tm2_ros2 directory (e.g., assume your active ROS workspace name is tm2_ws)
WS_ROOT=$HOME/tm2_ws📄 Path Workspace Configuration
user_workspace.txt
Run the script (⚡ lite_ld.sh) to download and map the package automatically:
# Grant executable permissions to the deployment script if needed:
chmod +x lite_ld.sh
# Fetch and deploy the target model description package:
./lite_ld.sh tm5s
# Use the force flag (-f) to overwrite existing legacy files if updating:
# ./lite_ld.sh tm12s tm_description -f🗂️ The Loader Script
tm_loadertool
Use Git sparse-checkout to download and pull only the specific model files you need.
# Initialize a partial clone without downloading file blobs
git clone --filter=blob:none --no-checkout https://github.com/TechmanRobotInc/TM_Cobots_ROS2_Description
cd TM_Cobots_ROS2_Description
# Configure the sparse-checkout engine for the target model
git sparse-checkout init --cone
git sparse-checkout set tm_description/cobot_s/tm5s_description
# Pull only the matching files from the main branch
git checkout mainEnsure the destination directory structure exists, then run the appropriate command for your environment: (For example: ~/tm2_ws/tm2_ros2/tm_description/cobot_s/)
- Case 1: Standard Linux Environment
cp -r tm_description/cobot_s/tm5s_description ~/tm2_ws/tm2_ros2/tm_description/cobot_s/ - Case 2: Target workspace is located under a mounted D Drive Linux Environment (WSL2 / Linux)
cp -r /mnt/d/TM_Cobots_ROS2_Description/tm_description/cobot_s/tm5s_description /mnt/d/tm2_ws/tm2_ros2/tm_description/cobot_s/
💡 Tip: Replace tm5s_description with tm7s_description or other target models as required.
Run the following sequence in your terminal to perform a clean rebuild:
# 1. Source the system ROS 2 environment and set the DDS middleware
source /opt/ros/jazzy/setup.bash
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
# 2. Navigate to your workspace root directory
cd ~/tm2_ws
# 3. Purge legacy build, install, and log directories
rm -rf build install log
# 4. Perform a clean workspace build with optimization flags
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
# 5. Source the newly built workspace environment
source ./install/setup.bash