ROS 2 Humble packages for Techman robots, including the core driver, message definitions, robot descriptions, MoveIt configurations, Gazebo launches, image transport utilities, and a small inspection GUI.
This repository is the TM ROS 2 workspace for:
- connecting to a real TM robot through TMflow
- launching MoveIt for supported robot models
- running Gazebo simulation
- receiving TM vision images
- using the lightweight inspection GUI
For the detailed vendor walkthroughs, screenshots, and TMflow-specific setup notes, see the documents in doc.
tm_driver: core robot drivertm_msgs: ROS interfaces used by the drivertm_description: URDF/Xacro robot modelstm_moveit: MoveIt configurations for supported TM robotstm_gazebo: Gazebo simulation launchestm_image: TM vision image publisher supportimage_sub: simple image subscriber exampletm_inspect: GUI for connection and message inspectiondemo: example client programs
The MoveIt and Gazebo packages include launch files for:
tm5s,tm6s,tm7s,tm12s,tm14s,tm20s,tm25s,tm30stm5sx,tm6sx,tm7sx,tm12sx,tm14sx,tm20sx,tm25sx,tm30sx
In the examples below, replace <tm_robot_type> with one of those names.
- Ubuntu with ROS 2 Humble installed
- TMflow configured on the robot controller
- Robot and PC on the same network
- A TMflow Listen node project running before starting the ROS driver
For a real robot connection, make sure:
- The robot has a static IP address.
- Your PC is on the same subnet and can ping the robot.
- TMflow
Ethernet Slaveis configured and enabled. - A TMflow
Listentask is running.
The full TMflow setup walkthrough is in tm_humble.md.
Create or enter a ROS 2 workspace, clone this repository into src, install dependencies, and build:
source /opt/ros/humble/setup.bash
mkdir -p ~/tm2_ws/src
cd ~/tm2_ws/src
git clone -b humble https://github.com/TechmanRobotInc/tm2_ros2.git
cd ..
rosdep install --from-paths src --ignore-src -r -y
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
source install/setup.bashIf you add packages later or want a clean rebuild:
cd ~/tm2_ws
rm -rf build install log
source /opt/ros/humble/setup.bash
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
source install/setup.bashSource the workspace in every new terminal before running any command:
source /opt/ros/humble/setup.bash
cd ~/tm2_ws
source install/setup.bashUse this for a direct connection to a real robot through TMflow:
ros2 launch tm_driver tm_bringup.launch.py robot_ip:=192.168.10.2The equivalent direct executable is:
ros2 run tm_driver tm_driver robot_ip:=192.168.10.2The MoveIt launch already starts the TM driver, so do not run a second driver in another terminal for the same robot IP.
ros2 launch <tm_robot_type>_moveit_config <tm_robot_type>_run_move_group.launch.py robot_ip:=192.168.10.2Example:
ros2 launch tm12s_moveit_config tm12s_run_move_group.launch.py robot_ip:=192.168.10.2ros2 launch <tm_robot_type>_moveit_config <tm_robot_type>_run_move_group.launch.pyExample:
ros2 launch tm12s_moveit_config tm12s_run_move_group.launch.pyros2 launch tm_gazebo <tm_robot_type>_gazebo.launch.pyExample:
ros2 launch tm_gazebo tm12s_gazebo.launch.pySimulation:
ros2 launch <tm_robot_type>_moveit_config <tm_robot_type>_run_move_group_gz.launch.pyReal robot with the Gazebo-integrated launch path:
ros2 launch <tm_robot_type>_moveit_config <tm_robot_type>_run_move_group_gz.launch.py robot_ip:=192.168.10.2 sim:=Falseros2 launch tm_inspect tm_gui.launch.pyStart the image bridge node:
ros2 run tm_image image_talkerIn another terminal, view the received image stream:
ros2 run image_sub sub_imgTM vision setup on the robot side is documented in tm_humble.md.
Examples in the demo package exercise services and motion commands exposed by the driver:
ros2 run demo demo_send_script
ros2 run demo demo_set_io
ros2 run demo demo_set_positionsSee tm_humble_demo.md for the full demo descriptions.
- Configure networking and TMflow
Ethernet Slave/Listenon the robot. - Verify connectivity with
ping <robot_ip>from the ROS PC. - Start the driver with
tm_bringup.launch.pyor start the relevant MoveIt launch. - Use RViz, services, actions, or the demo nodes from a second terminal.
- Running two TM drivers against the same robot IP is not supported.
- MoveIt real-robot launches can move the robot immediately. Use appropriate safety procedures.
- For Gazebo and MoveIt dependency details, see tm_humble_extension.md.
- For TM-specific kinematic parameter generation, see tm_humble_description.md.
- For the inspection GUI, see tm_humble_gui.md.
- tm_humble.md: TMflow setup, networking, listen node, and vision setup
- tm_humble_demo.md: demo programs
- tm_humble_extension.md: MoveIt and Gazebo usage
- tm_humble_description.md: robot-specific description generation
- tm_humble_gui.md: inspection GUI