第六章、配置controller并用键盘控制节点让小车动起来

第六章、配置并用键盘控制节点让小车动起来
1前言
上一节用xacro对urdf文件进行一个优化 , 并且配置好小车仿真所需的插件,以及传感器的插件 。这一节通过配置让小车能够在仿真环境中真正动起来,并且能够用键盘控制节点来做一个控制 。
2 配置功能包
在工作空间下新建功能包,并在功能包中新建如下文件夹:

第六章、配置controller并用键盘控制节点让小车动起来

文章插图
是ROS为开发者提供的机器人控制中间件,包含一系列控制器接口、传动装置接口、硬件接口、控制器工具箱等 。
◆配置yaml文件
在文件夹中新建.yaml文件,代码如下:
第六章、配置controller并用键盘控制节点让小车动起来

文章插图
racebot:#上面的racebot是运行动命名空间 Publish all joint states --公布所有--------------------joint_state_controller:type: joint_state_controller/JointStateControllerpublish_rate: 50# Velocity Controllers ----速度控制器---------------------left_rear_wheel_velocity_controller:type: effort_controllers/JointVelocityControllerjoint: left_rear_wheel_jointpid: {p: 1, i: 0.0, d: 0.0, i_clamp: 0.0}right_rear_wheel_velocity_controller:type: effort_controllers/JointVelocityControllerjoint: right_rear_wheel_jointpid: {p: 1, i: 0.0, d: 0.0, i_clamp: 0.0}left_front_wheel_velocity_controller:type: effort_controllers/JointVelocityControllerjoint: left_front_wheel_jointpid: {p: 0.5, i: 0.0, d: 0.0, i_clamp: 0.0}right_front_wheel_velocity_controller:type: effort_controllers/JointVelocityControllerjoint: right_front_wheel_jointpid: {p: 0.5, i: 0.0, d: 0.0, i_clamp: 0.0}# Position Controllers ---位置控制器-----------------------left_steering_hinge_position_controller:joint: left_steering_hinge_jointtype: effort_controllers/JointPositionControllerpid: {p: 10.0, i: 0.0, d: 0.5}right_steering_hinge_position_controller:joint: right_steering_hinge_jointtype: effort_controllers/JointPositionControllerpid: {p: 10.0, i: 0.0, d: 0.5}
在yaml文件中,用到了功能包中的ler控制器来控制轮子的转速 , 用ler控制器控制摆转件的旋转 。之前在URDF中约束了摆转件的旋转角度 。控制器发布控制指令,通过上一节配置的将控制指令转换为执行器的控制信号,实现机器人的运动 。注意命名空间可以自行修改但是要与其他相关代码中的命名空间保持一致,否则会让小车无法跑动 。
◆配置文件
文件代码如下:
【第六章、配置controller并用键盘控制节点让小车动起来】