ROS 基础功能
逐个体验单项功能
驱动底盘及传感器
TIANRACER 底盘(编码器+IMU)
shell
roslaunch tianracer_core tianracer_core.launch # 单独驱动底盘
rostopic echo /tianracer/imu # 查看IMU数据
rostopic echo /tianracer/odom # 查看里程计数据
激光雷达
shell
roslaunch tianracer_bringup lidar.launch # 单独驱动激光雷达
roslaunch tianracer_rviz view_lidar.launch # 查看雷达数据
单线雷达
多线雷达,以 robosense RS16 为例(选配)
注意
查看时话题需要对应
USB 摄像头
shell
roslaunch tianracer_bringup usb_cam.launch # 单独驱动相机
roslaunch tianracer_rviz view_image.launch # 查看图像数据
GPS(选配)
shell
roslaunch tianracer_bringup gps.launch # 单独驱动GPS
rostopic echo /tianracer/gps # 查看GPS数据
深度相机(选配)
shell
roslaunch tianracer_bringup rgbd_camera.launch
roslaunch tianracer_rviz view_image.launch # 查看图像数据
注意
查看时话题需要对应
如何控制底盘运动
DBUS 直接通信
直接控制舵机和电机
遥控器遥控
TIANRACER 使用遥控器 DT7 进行控制,DT7 是一款工作于 2.4GHz 频段的无线电通讯设备,该遥控器仅能与 DR16 接收机搭配使用,该遥控器在开阔室外的最大控制范围可达 1000m,内置锂电池,最长工作时间可达到 12 个小时。
- 向右拨电源开关,开启遥控器。向左拨电源开关,关闭遥控器。
- 左侧拨码开关,扳上禁用遥控,使用 ROS 控制,扳中反之。
- 遥控器开启时有提示音,开启后电源指示灯绿灯长亮并伴随蜂鸣器提示音。
- 左手摇杆前进后退,右手摇杆转向,S1 模式控制设置
ROS Topic 通信
运算平台通过串口与下位机进行通信
终端话题发布
shell
rostopic pub /tianracer/cmd_vel geometry_msgs/Twist "linear:
x: 0.1
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0"
对于主要在二维空间(xoy 平面)内运动的平台,可以使用 geometry_msgs/Twist 消息类型,可以通过
- linear.x 控制前后
- angular.z 控制旋转
键盘控制
shell
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
提示
- 在使用键盘控制时,需要注意话题的对应问题,
teleop_twist_keyboard.py
默认话题为cmd_vel
,在给 Tianracer 系列使用时需要映射为/tianracer/cmd_vel
- 话题重映射方法为 在终端中输入
bash
rosrun teleop_twist_keyboard teleop_twist_keyboard.py cmd_vel:=/tianracer/cmd_vel
- 按下 Ctrl+C 退出程序。
rqt 发布
shell
rosrun rqt_publisher rqt_publisher