内容学自赵虚左的视频及资料
需求描述:
控制机器人模型在 rviz 中做圆周运动
1.安装 Arbotix
方式1:命令行调用
sudo apt-get install ros-<<VersionName()>>-arbotix
<<VsersionName()>> 替换成当前 ROS 版本名称
添加 arbotix 所需配置文件
# 该文件是控制器配置,一个机器人模型可能有多个控制器,比如: 底盘、机械臂、夹持器(机械手)....
# 因此,根 name 是 controller
controllers: {
# 单控制器设置
base_controller: {
#类型: 差速控制器
type: diff_controller,
#参考坐标
base_frame_id: base_footprint,
#两个轮子之间的间距
base_width: 0.2,
#控制频率
ticks_meter: 2000,
#PID控制参数,使机器人车轮快速达到预期速度
Kp: 12,
Kd: 12,
Ki: 0,
Ko: 50,
#加速限制
accel_limit: 1.0
}
}
.launch 文件中配置 arbotix 节点
<node name="arbotix" pkg="arbotix_python" type="arbotix_driver" output="screen">
<rosparam file="$(find my_urdf05_rviz)/config/hello.yaml" command="load" />
<param name="sim" value="true" />
</node>
<rosparam> arbotix 驱动机器人运行时,需要获取机器人信息,可以通过 file 加载配置文件
<param> 在仿真环境下,需要配置 sim 为 true
启动 launch 文件并控制机器人模型运动
启动launch:roslaunch xxxx ....launch
控制小车运动:
此时调用 rostopic list 会发现一个熟悉的话题: /cmd_vel
rostopic pub -r 10 /cmd_vel geometry_msgs/Twist '{linear: {x: 0.2, y: 0, z: 0}, angular: {x: 0, y: 0, z: 0.5}}'