机器人运动规划的核心算法
源代码: http://www./plang/ros_motion_planning 机器人运动规划是一个计算问题,涉及找到一系列有效配置以将机器人从源移动到目的地。一般包括路径搜索和轨迹优化。 该存储库提供了常见运动规划算法的实现。理论分析可以在运动规划中找到。此外,我们还提供Python和MATLAB版本。 欢迎您的星星、分叉和 PR! 内容0. 3分钟快速启动使用 ROS Noetic 在 ubuntu 20.04 LTS 上进行测试。 安装ROS (建议桌面完整版)。 安装 git。 sudo apt install git 安装依赖 git clone -b release-0.6.3 --recursive https://github.com/oxfordcontrol/osqp cd osqp && mkdir build && cd build cmake .. -DBUILD_SHARED_LIBS=ON make -j6 sudo make install sudo cp /usr/local/include/osqp/* /usr/local/include git clone https://github.com/robotology/osqp-eigen.git cd osqp-eigen && mkdir build && cd build cmake .. make sudo make install sudo apt install python-is-python3 \ ros-noetic-amcl \ ros-noetic-base-local-planner \ ros-noetic-map-server \ ros-noetic-move-base \ ros-noetic-navfn 克隆存储库。 git clone https://github.com/ai-winter/ros_motion_planning.git 编译代码。 注意:如果遇到 libignition 依赖错误,请参阅#48 。 cd ros_motion_planning/ catkin_make # or catkin build # you may need to install it by: sudo apt install python-catkin-tools 执行代码。 cd scripts/ ./main.sh 注意:修改启动文件可能不会产生任何效果,因为它们是由 Python 脚本根据src/user_config/user_config.yaml 您运行main.sh . 因此,您应该修改配置而user_config.yaml 不是启动文件。
使用RViz 中的2D 导航目标来选择目标。 移动! 您可以使用其他脚本快速关闭它们。 ./killpro.sh
1.文件整体文件结构如下所示。 ros_motion_planner ├── assets ├── scripts └── src ├── core │ ├── global_planner │ ├── local_planner │ ├── curve_generation │ └── utils ├── sim_env # simulation environment │ ├── config │ ├── launch │ ├── maps │ ├── meshes │ ├── models │ ├── rviz │ ├── urdf │ └── worlds ├── third_party │ ├── dynamic_rviz_config │ ├── dynamic_xml_config │ ├── gazebo_plugins │ └── rviz_plugins └── user_config # user configure file
为了更好地理解项目代码,可以使用doxygen工具生成详细的接口文档。首先安装 doxygen 和 graphviz。 sudo apt-get install doxygen graphviz 然后启动 doxygen,你可以在 中找到文档./docs/html/index.html 。 doxygen 有关项目用途的更多信息,请参阅下表。 指数 | 文档 | 介绍 |
---|
0 | | 介绍如何动态配置机器人类型、规划算法、环境障碍物等参数。 | 1 | | 介绍如何使用Docker方便地搭建项目环境并进行模拟。 | 2 | | 介绍如何基于此存储库中提供的算法构建真实的机器人应用程序。 | 3 | | 重要更新。 |
粒子群算法 | | | 粒子群优化 |
当地规划师规划师 | 版本 | 动画片 | 纸 |
---|
PID | | | 将单积分器动力学映射到独轮车控制命令 14 | 线性QR | | | - | 数字水务局 | | | 避免碰撞的动态窗口方法 | 有源滤波器 | | | 机械手和移动机器人的实时避障 | RPP | | | 机器人路径跟踪的受监管纯粹追踪 | TEB | | |
| 多点控制 | | | - | 格子 | | |
|
曲线生成规划师 | 版本 | 动画片 | 纸 |
---|
多项式 | | | - | 贝塞尔 | | | - | 三次样条 | | | - | 样条曲线 | | | - | 杜宾斯 | | | 在具有平均曲率约束且具有指定初始位置和终止位置以及切线的最小长度曲线上 | 里兹-谢普 | | |
|
机器人的运动规划是一个复杂的过程,它涉及到路径规划和轨迹规划两个主要步骤。以下是实现机器人运动规划的一般方法: 路径规划:在有障碍物的环境中,机器人需要找到一条从起点到终点的无碰撞路径。路径规划算法有很多,如基于图搜索的算法(如Dijkstra算法、A*算法等)、基于采样的算法(如RRT、PRM等)、基于势场的算法等。这些算法可以根据具体的应用场景和需求进行选择。路径规划生成的路径通常由一系列的离散点表示,这些点可以通过线性插值进行连接。 轨迹规划:轨迹规划是在路径规划的基础上,考虑机器人的运动学和动力学约束,生成一条满足光滑性、速度可控性等要求的轨迹。轨迹规划的方法包括多项式插值、样条插值等。在轨迹规划过程中,需要考虑机器人的速度、加速度以及加加速度等运动参数,以确保机器人的运动平稳且符合实际物理限制。
在实际应用中,机器人的运动规划还需要考虑其他因素,如传感器的噪声、控制误差、动态障碍物等。为了处理这些问题,可以采用一些先进的控制策略和感知技术,如鲁棒控制、自适应控制、深度学习等。 此外,虚拟模型和仿真环境在机器人运动规划中也起着重要作用。通过建立机器人的虚拟模型和相应的仿真环境,可以在计算机上模拟机器人的运动过程,验证运动规划算法的正确性和有效性,从而在实际应用中提高机器人的运动性能和安全性。 总的来说,机器人的运动规划是一个涉及多个领域的综合性问题,需要综合考虑机器人的运动学、动力学、感知和控制等多个方面。通过合理的路径规划和轨迹规划,以及先进的控制策略和感知技术,可以实现机器人的高效、安全和可靠的运动。 机器人运动规划的核心算法
源代码: http://www./plang/ros_motion_planning
|