- 选型指南
- 概述
- 入门指南
- 机械臂参数
- 示教器使用
-
二次开发
-
API(C++)
- 快速开始
- 接口说明
- 7000端口接口说明
- 使用示例
- 返回值说明
-
API(Python)
- 快速开始
- 接口说明
- 7000端口接口说明
- 使用示例
- 返回值说明
- ROS2开发
-
API(C++)
- 相关下载
TL-硬件驱动功能包
1. tl_driver 功能包说明
tl_driver 功能包在机械臂 ROS2 功能包中是十分重要的,该功能包实现了通过 ROS 与机械臂进行通信控制机械臂的功能,在下文中将通过以下几个方面详细介绍该功能包。
- 功能包使用。
- 功能包架构说明。
- 功能包话题说明。
通过这三部分内容的介绍可以帮助大家:
- 了解该功能包的使用。
- 熟悉功能包中的文件构成及作用。
- 熟悉功能包相关的话题,方便开发和使用。
2. tl_driver 功能包使用
2.1 tl_driver 功能包编译
Bash
cd ~/tl_robot_ros2_cpp
colcon build
source install/setup.bash
编译完成后我们可以通过以下命令直接启动节点,连接机械臂。
2.2 启动方式
tl_driver 提供两种启动方式:
方式一:通用启动(推荐开发调试使用)
通过 tl_driver.launch.py 传入 arm_type 参数,适用于快速切换不同臂型:
Bash
ros2 launch tl_driver tl_driver.launch.py arm_type:=<arm_type>
方式二:快捷启动(推荐日常使用)
每种臂型都有对应的专用 launch 文件,无需传参,直接启动:
| 臂型 | 启动命令 |
|---|---|
| TCB605 | ros2 launch tl_driver tl_tcb605_driver.launch.py |
| TCB605F | ros2 launch tl_driver tl_tcb605f_driver.launch.py |
| TCB605L | ros2 launch tl_driver tl_tcb605l_driver.launch.py |
| TCB605LV | ros2 launch tl_driver tl_tcb605lv_driver.launch.py |
| TCB605V | ros2 launch tl_driver tl_tcb605v_driver.launch.py |
| TCB610 | ros2 launch tl_driver tl_tcb610_driver.launch.py |
| TCB610V | ros2 launch tl_driver tl_tcb610v_driver.launch.py |
| TCB705 | ros2 launch tl_driver tl_tcb705_driver.launch.py |
| TCB705F | ros2 launch tl_driver tl_tcb705f_driver.launch.py |
| TCB705L | ros2 launch tl_driver tl_tcb705l_driver.launch.py |
| TCB705LV | ros2 launch tl_driver tl_tcb705lv_driver.launch.py |
| TCB705V | ros2 launch tl_driver tl_tcb705v_driver.launch.py |
| TCB710 | ros2 launch tl_driver tl_tcb710_driver.launch.py |
| TCB710V | ros2 launch tl_driver tl_tcb710v_driver.launch.py |
以下文档示例均以 TCB710 为例进行说明,其他臂型操作方式相同。
2.3 示例:启动 TCB710 机械臂
Bash
ros2 launch tl_driver tl_tcb710_driver.launch.py
2.4 指定机械臂 IP 启动
默认 IP 为 config 文件中的 192.168.1.13。若机械臂 IP 不同,可直接在启动指令后追加 arm_ip:=<IP> 覆盖(优先于 config 文件,无需修改配置):
Bash
ros2 launch tl_driver tl_tcb710_driver.launch.py arm_ip:=192.168.1.100
通用 launch 同样支持:
Bash
ros2 launch tl_driver tl_driver.launch.py arm_type:=tcb710 arm_ip:=192.168.1.100
启动成功后,将显示以下画面:
当机械臂 IP 被改变后我们的启动指令就失效了,再直接使用如上指令就无法成功连接到机械臂了,我们可以通过修改如下配置文件,重新建立连接。该配置文件位于我们的 tl_driver 功能包下的 config 文件夹下,需要根据不同的机械臂型号修改相应的配置文件。以 TCB710 为例,配置文件为 config/tl_tcb710_config.yaml:
其配置文件内容如下:
YAML
tl_driver:
ros__parameters:
# robot param
arm_ip: "192.168.1.13" # 设置TCP连接时的IP
arm_port: "6001" # 设置TCP连接时的端口
arm_port_aux: "7000" # 设置机械臂连接时的辅助端口
arm_type: "TCB710" # 机械臂型号
arm_joints: ["joint1", "joint2", "joint3", "joint4", "joint5", "joint6", "joint7"] # 关节名称
3. tl_driver 功能包架构说明
3.1 功能包文件总览
Text
├── CMakeLists.txt # 编译规则文件
├── config # 机械臂配置文件
│ ├── tl_tcb605_config.yaml
│ ├── tl_tcb605f_config.yaml
│ ├── tl_tcb605l_config.yaml
│ ├── tl_tcb605lv_config.yaml
│ ├── tl_tcb605v_config.yaml
│ ├── tl_tcb610_config.yaml
│ ├── tl_tcb610v_config.yaml
│ ├── tl_tcb705_config.yaml
│ ├── tl_tcb705f_config.yaml
│ ├── tl_tcb705l_config.yaml
│ ├── tl_tcb705lv_config.yaml
│ ├── tl_tcb705v_config.yaml
│ ├── tl_tcb710_config.yaml
│ └── tl_tcb710v_config.yaml
├── doc # 相关文档与图片
│ ├── tl_driver1.png
│ └── tl_driver2.png
├── include # 头文件
│ └── tl_driver
│ └── tl_driver.h
├── launch # 启动文件
│ ├── tl_driver.launch.py # 通用启动(需传 arm_type 参数)
│ ├── tl_tcb605_driver.launch.py
│ ├── tl_tcb605f_driver.launch.py
│ ├── tl_tcb605l_driver.launch.py
│ ├── tl_tcb605lv_driver.launch.py
│ ├── tl_tcb605v_driver.launch.py
│ ├── tl_tcb610_driver.launch.py
│ ├── tl_tcb610v_driver.launch.py
│ ├── tl_tcb705_driver.launch.py
│ ├── tl_tcb705f_driver.launch.py
│ ├── tl_tcb705l_driver.launch.py
│ ├── tl_tcb705lv_driver.launch.py
│ ├── tl_tcb705v_driver.launch.py
│ ├── tl_tcb710_driver.launch.py
│ └── tl_tcb710v_driver.launch.py
├── lib # 专有库(V3.0.2,不可修改)
│ ├── arm # ARM 架构
│ │ └── libtl_host.so
│ ├── include # C/C++ API 头文件(扁平结构)
│ │ ├── tl_admittance.h
│ │ ├── tl_api.h
│ │ ├── tl_clamp.h
│ │ ├── tl_constant_force.h
│ │ ├── tl_dexterous_hands.h
│ │ ├── tl_force.h
│ │ ├── tl_interface.h
│ │ ├── tl_io.h
│ │ ├── tl_job_operate.h
│ │ ├── tl_modbus.h
│ │ ├── tl_queue_operate.h
│ │ ├── tl_servo_ext.h
│ │ ├── tl_track.h
│ │ └── tl_types.h
│ └── x86 # x86 架构
│ └── libtl_host.so
├── package.xml
├── README.md
├── src # 驱动代码源文件
│ └── tl_driver.cpp
└── test # 接口测试
├── test_all_interfaces.py # 全接口测试脚本
└── tl_driver_接口测试.md # 接口测试说明文档
4. tl_driver 功能包话题与服务说明
tl_driver 功能包的服务和话题较多,可以通过如下指令了解其话题信息。
主要为套用 API 实现的一些机械臂本体的功能,其详细介绍和使用在此不详细展开,可以通过专门的文档《tl_driver服务与话题说明书》进行查看。




