更新了一个简陋的DWA控制器,详情跳转 car_motion_ctrl 下的文档。
展望:再搞个简单的DWA控制器,一个B样条优化,目前效率感人。。不要多作期待
新增了混合A* 和 RRT 两种算法的路径搜索,详见 navigation/car_planning_2
这是一个用于个人练手路径规划的小项目,包含了dijkstra, astar, hybirdastar, RRT几种全局路径规划,贝塞尔曲线平滑,梯度下降平滑,一个简单的PID控制器以及一个简陋的仿真。
项目依赖:move_base那一套东西,反正如果当时安装ros是 sudo apt install ros-noetic-desktop , 那依赖应该不是问题。
其中:car为车子模型相关的内容,car_planning对应是dijkstra, astar, 贝塞尔曲线几个内容, car_planning_2对应是hyburdastar, RRT, 梯度下降平滑几个内容,car_motion_ctrl是控制器,simulation是仿真。
展示视频:https://www.bilibili.com/video/BV1v54y1V7qV 【这是2022.5.14更新前的内容,新版本会跟旧版本会略微有所不同】
roslaunch car display.launch
大致的运行过程就是读取静态地图,根据给定的参数生成一个costmap;在接受到目标后,运用dijkstra或是Astar算法铺出一个权重网络,根据权重先得到一个梯度路径,然后用贝塞尔曲线圆滑梯度路径并发布,就是RVIZ上显示路径结果,最后运用PID算法控制小车往目标移动
navigation/car/robots
;navigation/car_gazebo
;navigation/car_planning
;navigation/car_motion_ctrl
;