当前位置: 首页 > news >正文

机器人规划算法——基于A-star和CostMap膨胀地图的全局规划(附Github源码链接)

前言

这段时间,笔者用c++写了一套机器人局部避障算法,并工程落地,机器人可以正常避障,避障所采用的技术方案是A*+TEB算法。并取得一定成果,后续还要针对复杂的场景继续优化。主要涉及到技术模块有:
(1) costmap:代价地图模块,分为静态层和障碍物层以及膨胀层,静态层将读取地图信息并根据机器人内切半径进行膨胀,障碍物层是根据搭载的传感器检测到的障碍物点云并且以机器人内切圆半径进行膨胀。
(2)全局规划器:这部分规划部分主要是A根据costmap规划一条路径。
(3)局部规划器(控制器):使用TEB去跟踪A
生成的全局规划路径。同时具有局部避障能力。
(4)状态机:负责统筹costmap和全局规划器以局部规划器。
之前做过局部规划器的技术分享机器人控制算法——局部规划器TEB算法原理及C++可视化仿真。
本次就做全局规划器和静态代价地图的分享。

全局规划器

这个部分就是A*算法,网上很多教程。

代价地图

这块很复杂,请直接参见我的技术系列文章:
Costmap文献阅读——Layered Costmaps for Context

相关文章:

  • Mysql-数据库范式和Mysql安装
  • MCU友好过渡MPU,米尔基于STM32MP135开发板裸机开发应用笔记
  • HANA中的内存及磁盘使用统计
  • 美国CPC认证如何办理?CPC审核不通过有哪些原因呢?
  • ArcGIS Pro横向水平图例
  • Android开发 OCR:通过Tesseract实现图片文字识别
  • 题目:新一的宝藏搜寻加强版(蓝桥OJ 4059)
  • 学习笔记——C语言基本概念指针(下)——(8)
  • 【Linux】文件查看命令(六)
  • AMD GPUs - Radeon™ PRO W7900与NVIDIA 4000系列GPU性能
  • 工作日志- 不定期更新
  • git 更改仓库地址
  • Java常见限流用法介绍和实现
  • Mysql的高级语句3
  • 蓝桥杯算法题-发现环
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • 【RocksDB】TransactionDB源码分析
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • django开发-定时任务的使用
  • es6(二):字符串的扩展
  • ES6核心特性
  • ES6系列(二)变量的解构赋值
  • java中具有继承关系的类及其对象初始化顺序
  • js面向对象
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • 两列自适应布局方案整理
  • 前端工程化(Gulp、Webpack)-webpack
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 说说动画卡顿的解决方案
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 一个完整Java Web项目背后的密码
  • Java总结 - String - 这篇请使劲喷我
  • Linux权限管理(week1_day5)--技术流ken
  • 第二十章:异步和文件I/O.(二十三)
  • ​ubuntu下安装kvm虚拟机
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (SpringBoot)第二章:Spring创建和使用
  • (二十四)Flask之flask-session组件
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (一)appium-desktop定位元素原理
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (转)shell中括号的特殊用法 linux if多条件判断
  • .net 获取url的方法
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .NET开发不可不知、不可不用的辅助类(三)(报表导出---终结版)
  • .NET开发不可不知、不可不用的辅助类(一)
  • .Net中ListT 泛型转成DataTable、DataSet
  • .NET中统一的存储过程调用方法(收藏)