Skip to content

TM ROS Driver

Robot Operating System (ROS) is an open-source robotics middleware suite, which includes abundant libraries, drivers and tools, intended to help build robot applications more efficiently.

To support ROS, Techman Robot presents the TM ROS Driver for developers to build ROS-based applications with TM Robot by motion control and data acquisition (status, images from EIH camera, etc.). TM ROS Driver also comes with a stack with sample codes, a GUI tool for debugging and resources (URDF) for running simulations with the famous ROS tools – Gazebo and MoveIt.

Product Overview

TM ROS Driver consists of 3 major parts: Topic Publisher, Service Server and Action Server.

Topic publisher connects with TMflow through Ethernet slave and collect data from the robot (such as robot status, joint status, tool pose, etc.) so that customer ‘s ros node can subscribe the topic and get that information.

Service Server is purposed for motion control with a sort of tm_msg. After the driver connects with a Listen Node within the TMflow Project, customer ‘s ros node can interact with the Listen Node and result in robot motions.

Action Server acts as an action interface which translates trajectories generated by MoveIt and drives robot motion.

In addition, Techman Robot provides different versions of TM ROS Driver for various versions of ROS1 & ROS 2.

Action Server

• An action interface on /follow_joint_trajectory for seamless integration with MoveIt

Topic Publisher

• publish feedback state on /feedback_states

The Feedback State includes robot position, error code, and io status, etc. (see tm_msgs/msg/FeedbackState.msg)

• publish joint states on /joint_states

• publish tool pose on /tool_pose

Service Server

/tm_driver/send_script (see tm_msgs/srv/SendScript.srv) :
send robot script (TM Robot Expression) to Listen node

/tm_driver/set_event (see tm_msgs/srv/SetEvent.srv) :
send “Stop”, “Pause” or “Resume” command to Listen node

/tm_driver/set_io (see tm_msgs/srv/SetIO.srv) :
send digital or analog output value to Listen node

_/tm_driver/set_position (see tm_msgs/srv/SetPosition.srv) :
send motion command to Listen node, the motion type include PTP, LINE, CIRC ans PLINE, the position value is joint angle(J) or tool pose(T), for more detail, see the manual Expression Editor and Listen Node.

ROS Version

TM ROS Driver Version

Supports TMvision