【ROS】teb_local_planner 局部路径规划功能包的 安装调试
问题:
为了解决Ackermann转向结构的Nanocar小车 在用ros的 teb局部路径规划算法进行路径规划时出现的前轮摆动严重的问题。
nanocar导航包下载:
base_control功能包 雷达驱动功能包 robot_navigation功能包 robot_vision功能包
teb_local_planner 功能包 (注意跟自己ros版本匹配) teb_local_planner_tutorials 功能包
teb tutorials 运行报错问题 stage_ros功能包
安装:
将相应功能包下载后,拷贝到工作空间/src目录下,编译即可。
运行调试
先运行roscore ,不然修改参数服务器的参数后,再重启 roslaunch,参数服务器的参数也会重置
roslaunch teb_local_planner test_optim_node.launch
设置 参数enable_homotopy_class_planning
,作用: 是否输出多条轨迹。也就是配置中的HCPlanning,设置后重启roslaunch
rosparam set /test_optim_node/enable_homotopy_class_planning False
启动参数调节器,可视化的动态参数配置工具 ,详情 :
rosrun rqt_reconfigure rqt_reconfigure
通过改变各参数,观察参数的对于路径规划上的影响.
汽车模型机器人FootPrint 的仿真
启动汽车模型机器人仿真器
roslaunch teb_local_planner_tutorials robot_carlike_in_stage.launch
启动参数调节器
rosrun rqt_reconfigure rqt_reconfigure
创建 launch文件用于绘制z轴角速度:
<node name="rqt_plot" pkg="rqt_plot" type="rqt_plot" args="/cmd_vel/angular/z" />
运行
roslaunch teb_local_planner_tutorials plot.launch
各参数的影响:
teb安装与使用 仿真与各参数影响 参数de_ref 解决摆头总结 参数详细总结
建图及导航
在机器人端执行slam 的launch 文件 roslaunch robot_navigation robot_slam_laser.launch
在PC 端执行rviz 图形化监控程序(载入rviz 配置文件) roslaunch robot_navigation slam_rviz.launch
在PC 端或机器人端启动一个键盘控制程序(建议将遥控速度调低以改善建图效果,建议速度不大于0.25m/s 注意,需要将鼠标光标保持在运行键盘控制程序的shell 窗口内,否则相关按键无效 ) rosrun teleop_twist_keyboard teleop_twist_keyboard.py
遥控机器人也可以使用遥控手柄来实现,如果使用手柄,则不需要启动上述键盘控制节点,同样的,使用遥控手柄也需要通过手柄速度调节按钮调整机器人速度以使建图效果更好(手柄默认遥控速度为0.5m/s)接下来通过键盘控制程序遥控机器人四处走动,让地图的四周黑色的边界尽可能的闭合,注意运动过程中不要撞上东西。
当地图四周已经全部闭合或者想要保存地图时候,在机器人端,新开一个控制终端(如果是在PC 端执行下下述指令,则机器人端不会保存地图文件,下一章节导航会出现问题),进入到想要保存地图的位置,然后保存地图,这里以robot_navigation 功能包下maps 为例(如果对这方面不熟悉建议按照下面命令行执行,因为后面的导航程序也是采用了这个路径和文件名称)roscd robot_navigation/maps rosrun map_server map_saver -f map保存完成后maps 文件夹下就会有map.pgm 和map.yaml 两个文件,到这里建图过程就全部完成了,下一个Demo 就是使用这里建好的地图来进行导航。
在机器人端运行导航的launch 文件
roslaunch robot_navigation robot_navigation.launch planner:=teb
在PC 端执行rviz 图形化监控程序
roslaunch robot_navigation navigation_rviz.launch
PC 端启动之后rviz 中显示如图,机器人当前实际位置和地图中的位
置可能并不匹配,需要手动设置机器人位置。
参数优化
启动参数调节器
rosrun rqt_reconfigure rqt_reconfigure
运行绘制z轴角速度的launch文件
roslaunch teb_local_planner_tutorials plot.launch