# Thetastar and DWA **Repository Path**: light_raining/thetastar-and-dwa ## Basic Information - **Project Name**: Thetastar and DWA - **Description**: No description available - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-01-30 - **Last Updated**: 2023-01-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 路径规划(Thetastar and DWA) [![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat-square)](https://gitee.com/ahao1q97/thetastar-and-dwa) 基于Ros平台的路径规划 库中的代码是在重庆大学(2020)的机器人与智能控制实验室(Robot & Intelligent System Lab, RISL)完成项目的结果。 该项目的目的是为室外环境下的四轮差速小车,创建一个实时的路径规划算法。该算法使用安装在车辆顶部的2D激光雷达,生成二进制障碍地图作为输入,并通过Theta*与DWA进行实时规划。该算法是使用c++开发的,因为实时需要与ROS结合,以确保模块化和可移植性,并使用RViz作为可视化/仿真环境。 本仓库包含以下内容: 1. 用于全局规划的Thetastar算法[全局](https://gitee.com/ahao1q97/thetastar-and-dwa/tree/master/global_planner)。 2. 用于局部避障的DWA算法[局部](https://gitee.com/ahao1q97/thetastar-and-dwa/tree/master/dwa_planner)。 3. 用于地图处理的节点[Map_Server](https://gitee.com/ahao1q97/thetastar-and-dwa/tree/master/publish_data)。 4. 可视算法函数[Light of Sight](https://gitee.com/ahao1q97/thetastar-and-dwa/tree/master/math)。 5. 关于Theta*算法的讲解[ppt](https://gitee.com/ahao1q97/thetastar-and-dwa/blob/master/Theta_star.pptx)。 6. 用于DWA的局部地图[cost_map](https://gitee.com/ahao1q97/neonavigation/blob/master/costmap_cspace/src/largemap_to_map.cpp)。 7. 用于平滑曲线的贝塞尔插值[bezier_curve](https://gitee.com/ahao1q97/thetastar-and-dwa/tree/master/bezier_curve_path)。 8. 四轮小车仿真环境[amovcar](https://gitee.com/ahao1q97/thetastar-and-dwa/tree/master/arducar_simulation)。 ## 内容列表 - [背景](#背景) - [安装](#安装) - [使用说明](#使用说明) - [相关仓库](#相关仓库) - [维护者](#维护者) - [如何贡献](#如何贡献) - [使用许可](#使用许可) ## 背景 `路径规划` 最开始依赖于 [move_base](https://github.com/ros-planning/navigation) ,但是由于move_base项目过于庞杂,且实验室需要自行开发基于Ros(spec.md)平台的规划算法,于是,创建了本次项目。 > 通过在实时地图中,取得机器人当前的位置和姿态(odom),在rviz中使用2D Goal获得move_base_simple/goal,在地图上生成一条只保留点必要点的直线,并发布local_goal的topic,用于DWA避障、导航。该项目为[Robot & Intelligent System Lab, RISL,CQU](https://gitee.com/CQU_RISL/dashboard)的研究成果。 ## 安装 这个项目使用 [gazebo](http://gazebosim.org/) ,[mavros](http://wiki.ros.org/mavros)。请确保你本地安装了它们。 ```sh $ mkdir -p ~/mavros_catkin_ws/src $ cd ~/mavros_catkin_ws $ catkin init $ wstool init src $ wstool init ~/catkin_ws/src $ rosinstall_generator --rosdistro melodic mavlink | tee /tmp/mavros.rosinstall $ rosinstall_generator --upstream mavros | tee -a /tmp/mavros.rosinstall $ git clone https://gitee.com/zhuleilei33/mavros.git $ wstool merge -t src /tmp/mavros.rosinstall $ wstool update -t src -j4 $ rosdep install --from-paths src --ignore-src -y $ sudo ./src/mavros/mavros/scripts/install_geographiclib_datasets.sh $ catkin build $ gedit ~/.bashrc $ source ~/mavros_catkin_ws/devel/setup.bash ``` ## 使用说明 你可以在gazebo仿真环境中,完成四轮差速小车(amovCar)的实时避障。 - 四轮差速小车 ```sh 1:启动地图和小车 $ cd arducar_simulation $ source devel/setup.bash $ roslaunch simulation gazebo_car.launch 2:启动gmapping建图 $ ctrl+shift+t $ source devel/setup.bash $ roslaunch simulation apm_car_gmapping.launch 3:启动rviz $ rviz 4:启动规划算法 $ cd .. $ cd theta_ws $ source devel/setup.bash $ roslaunch dwa_planner local_dwa_Astar.launch ``` ## 相关仓库 - [RIS-Group](https://gitee.com/RICS-Group) — 💌 基于Webots仿真平台的机器人项目。 ## 维护者 [@WenHao Fu](https://gitee.com/ahao1q97) ## 如何贡献 非常欢迎你关于路径规划的讨论[提一个 Issue](https://gitee.com/ahao1q97/thetastar-and-dwa/issues/new) 或者提交一个 Pull Request。 ### 贡献者 这个项目的存在要感谢所有的贡献者。 ## 使用许可 [CQU](LICENSE) © Richard Littauer