清洁机器人规划控制方案

清洁机器人规划控制方案

作者联系方式
Forrest709335543@qq.com

文章目录

  • 清洁机器人规划控制方案
    • 方案简介
    • 方案设计
      • 模块链路
      • 坐标变换
      • 算法框架
    • 功能设计
      • 定点自主导航
      • 固定路线清洁
      • 区域覆盖清洁
      • 贴边沿墙清洁
      • 自主返航回充
    • 仿真测试
      • 仿真测试准备
      • 定点自主导航测试
      • 固定路线清洁测试
      • 区域覆盖清洁测试
      • 贴边沿墙清洁测试

方案简介

室内商用扫地/洗地机器人规划控制(PNC)方案。有以下功能包组成:

  • clean_msg:功能消息定义
  • clean_pnc:规划控制算法
  • clean_rviz:rviz仿真测试插件

目前PNC方案支持以下功能:

  • 定点自主导航
  • 固定路线清洁
  • 区域覆盖清洁
  • 贴边沿墙清洁
  • 自主返航回充

PNC方案在满足清洁机器人常见场景需求,除此之外,还支持以下特性:

  • 断点续接清洁
  • 清洁区域补漏
  • 虚拟墙设置
  • 禁止清洁区域设置
  • 动/静态覆盖清洁设置
  • 左/右沿墙清扫设置
  • 动态调节速度(根据距离障碍物远近调节)
  • 清洁数据统计(清洁轨迹、清洁率、面积、耗时等)
  • 不同底盘形状碰撞支持
  • 扫地/洗地清洁设备控制支持

方案设计

模块链路

lidar/camera/odom
lidar/camera/odom
robot pose
clean task
clean report
ctrl vel
clean ctrl
sensor
localization
pnc
map
application
robot

PNC模块相关输出/输出关系如上图所示:

  • 输入
    • 传感器数据、如lidar、camera等
    • 定位位姿
    • 地图数据
    • TF变化
  • 输出
    • 机器人控制指令
    • 清洁设备控制指令
    • 清洁任务数据,如状态、报告等

坐标变换

整体方案运行,需要相关TF支持,相关TF关系定义如下:

10hz mapping or lolicazation module
30hz chassis module
30hz static tf
30hz static tf
30hz static tf
30hz static tf
map
odom
odom_link
base_link
lidar
camera
imu

注意:这里引入odom_linkframe主要是有些底盘运动电机没有安装在底盘中心

算法框架

tasker
task
pnc
task_manager
decider
global_plan_decider
local_plan_decider
path_follow_decider
planner
astar_path_planner
dwa_path_planner
clean_path_planner
contours_path_planner
planners
deciders
navi_logic
pose_navigator
path_follower
area_cleaner
wall_follower
auto_charger
clean_system
sweep_clean_system
wash_clean_system
function_map
forbidden_clean_area
task_cleaned_area
cost_map
footprint_model
global_cost_map
local_cost_map
task_list
clean_tasks
  • task_manager:清洁任务执行管理器。接收上层发过来的任务队列,挨个进行执行。
    • task:导航任务定义描述,现支持以下五个导航任务:
      • pose_navigator:定点自主导航任务。可实现A到B点功能。
      • path_follower:固定路线清洁任务。可用于预定义路线清洁。
      • area_cleaner:区域覆盖清洁任务。可用于固定区域覆盖式清洁。
      • wall_follower:贴边沿墙清洁任务。可用于沿墙贴边清洁。
      • auto_charger:自主返航回充任务。机器人低电量时自主返航回充。
    • tasker:导航任务实现抽象。上述每个导航任务都是一个tasker,一般每个tasker由以下三部分组成:
      • planner:规划器。一个tasker可根据要实现的功能搭配多个planner,比如实现pose_navigator要搭配astar_path_planner和dwa_path_planner。现支持的planner有:
        • astar_path_planner:A*全局路径规划算法。用于A到B点路径生成
        • dwa_path_planner:DWA局部路径规划算法。用于路径跟踪。
        • clean_path_planner:覆盖路径规划算法。用于区域覆盖清洁路线生成。
        • contours_path_planner:沿墙路径规划算法。用于沿墙贴边清洁路径生成。
      • decider:决策器。一个tasker可根据要实现的功能搭配多个decider,比如实现pose_navigator要搭配global_plan_decider和local_plan_decider。现支持的decider有:
        • global_plan_decider:全局规划决策器。用于判断是否需要进行全局路径重规划。
        • local_plan_decider:局部规划决策器。用于局部路径规划失败处理。
        • path_follow_decider:路径跟踪决策器。用于路径跟踪停障等待和绕障处理。
      • navi_logic:导航逻辑。一个tasker可根据要实现的功能配合planner和decider进行调用逻辑组合,从而实现对应功能。
  • cost_map:代价地图。用于障碍物碰撞检测。
    • footprint_model:机器人碰撞模型描述。可根据机器人形状进行定义。
    • global_cost_map:全局代价地图。可用于全局规划路径和清洁规划路径生成。
    • local_cost_map:局部代价地图。可用于局部规划路径生成。
  • fuction_map:功能地图。用于相关清洁功能实现,比如禁止清洁区域。
    • forbidden_clean_area:禁止清洁区域。限定清洁环境中,某些区域只允许经过,不可以清洁。
    • task_cleaned_area:已清洁区域。用于清洁任务中,已经清洁区域统计,生成相关清洁报告。
  • clean_system:清洁设备控制器。用于扫地/洗地清洁设备开关控制。

功能设计

定点自主导航

定点自主导航任务,可实现A到B点功能。功能设计如下图所示:

pose_navigator
pnc
task_manager
decider
global_plan_decider
local_plan_decider
planner
astar_path_planner
dwa_path_planner
planners
deciders
navi_logic
navi_goal
cost_map
clean_task
  • 由astar_path_planner生成机器人当前位置到导航目标点全局路径。
  • 得到全局路径后,dwa_path_planner则进行跟踪控制。
  • 在导航过程中,global_plan_decider会判断全局路径可达性,如果当前全局路径不可达,则重新进行全局路径规划。
  • 在导航过程中,local_plan_decider会根据dwa_path_planner规划状态,进行局部路径规划失败处理。

固定路线清洁

固定路线清洁任务,可用于预定义路线清洁。功能设计如下图所示:

path_follower
pnc
task_manager
decider
global_plan_decider
local_plan_decider
path_follow_decider
planner
astar_path_planner
dwa_path_planner
planners
deciders
navi_logic
clean_path
cost_map
function_map
clean_system
clean_task
  • 首先机器人会根据pose_navigator一样的逻辑导航到离清洁路线最近点,然后开始清洁路线跟踪。
  • 清洁路线跟踪使用dwa_path_planner。
  • 在开始清洁路线跟踪后,path_follow_decider判断跟踪路线是否需要停障。
    • 如果遇到障碍物则进行停障等待。
    • 停障等待超时后,进行绕障继续跟踪清洁路线。
  • 在清洁路线跟踪过程中,local_plan_decider会根据dwa_path_planner规划状态,进行局部路径规划失败处理。

区域覆盖清洁

区域覆盖清洁任务,可用于固定区域覆盖式清洁。功能设计如下图所示:

area_cleaner
pnc
task_manager
decider
global_plan_decider
local_plan_decider
path_follow_decider
planner
astar_path_planner
dwa_path_planner
clean_path_planner
planners
deciders
navi_logic
clean_zone
cost_map
function_map
clean_system
clean_task
  • 首先机器人会根据pose_navigator一样的逻辑导航到离清洁区域内最近点。
  • 到达清洁区域内后,使用clean_path_planner进行清洁路线覆盖规划,并进行跟踪。
  • 清洁路线跟踪使用dwa_path_planner。
  • 在开始清洁路线跟踪后,path_follow_decider判断跟踪路线是否需要停障
    • 如果遇到障碍物则进行停障等待
    • 停障等待超时后,进行绕障继续跟踪清洁路线
  • 在清洁路线跟踪过程中,local_plan_decider会根据dwa_path_planner规划状态,进行局部路径规划失败处理。

贴边沿墙清洁

贴边沿墙清洁任务,可用于沿墙贴边清洁。功能设计如下图所示:

wall_follower
pnc
task_manager
decider
global_plan_decider
local_plan_decider
planner
astar_path_planner
dwa_path_planner
contours_path_planner
planners
deciders
navi_logic
along_wall_path
cost_map
function_map
clean_system
clean_task
  • 首先机器人会根据pose_navigator一样的逻辑导航到离沿墙清洁路径上最近点。
  • 到达最近后,使用contours_path_planner进行沿墙清洁路径规划,并进行跟踪。
  • 沿墙清洁路线跟踪使用dwa_path_planner。
  • 在清洁路线跟踪过程中,local_plan_decider会根据dwa_path_planner规划状态,进行局部路径规划失败处理。

自主返航回充

自主返航回充任务,机器人低电量时自主返航回充。功能设计如下图所示:

auto_charger
pnc
task_manager
decider
global_plan_decider
local_plan_decider
planner
astar_path_planner
dwa_path_planner
planners
deciders
navi_logic
navi_goal
cost_map
clean_task
  • 首先机器人会根据pose_navigator一样的逻辑导航到充电桩前方位置。
  • 然后进行充电桩对接控制。

仿真测试

功能仿真测试视频:

清洁机器人PNC方案演示

仿真测试准备

  • 安装部署好工程

  • 仿真地图确认:仿真地图放在cleanbot/clean_pnc/data/map目录下,目前该目录下有测试地图demo,如果想更换地图可按如下步骤:

    • 将要更换的地图放到cleanbot/clean_pnc/data/map目录下

    • 更改仿真器中cleanbot/clean_pnc/launch/pnc_simulator.launchtest_map_name参数:

      <launch><node name="clean_pnc_simulator" pkg="clean_pnc" type="clean_pnc_simulator" output="screen"><param name="map_file_dir"    value="$(find clean_pnc)/data/map/"/><param name="test_map_name"   value="demo"/></node>
      </launch>
      
  • 启动仿真程序:启动成功后,可看到如下rviz界面:

    roslaunch clean_pnc simulation_wash_robot.launch
    

    在这里插入图片描述

  • 初始化机器人位姿:在rviz软件显示窗口上,点击2D Pose Estimate按钮在地图上相应位置进行机器人位姿初始化

    在这里插入图片描述

  • 任务暂停/取消:在rviz软件显示窗口左下角,可进行任务暂停/取消操作

    在这里插入图片描述

定点自主导航测试

  • 下发导航目标点:在rviz软件显示窗口上,点击2D Nav Goal按钮在地图上相应位置进行导航目标点下发

在这里插入图片描述

  • 下发成功后可在rviz看到如下界面:

    在这里插入图片描述

  • 如果想在测试过程中增加障碍物,可在rviz软件显示窗口上,点击Publish Point按钮在地图上相应位置进行障碍物设置:

    在这里插入图片描述

固定路线清洁测试

  • 设定清洁路线:在rviz软件显示窗口上,点击custom_path按钮在地图上相应位置进行清洁路线标注

    • 按下键盘上的Enter按键下发任务
    • 按下键盘上的d按键重新绘制路线

    在这里插入图片描述

  • 下发成功后可在rviz看到如下界面:

    在这里插入图片描述

  • 如果想在测试过程中增加障碍物,可在rviz软件显示窗口上,点击Publish Point按钮在地图上相应位置进行障碍物设置:

    在这里插入图片描述

注意:任务完成后,机器人会主动导航返回任务起始点

区域覆盖清洁测试

  • 设定清洁区域:在rviz软件显示窗口上,点击clean_polygon按钮在地图上相应位置进行清洁区域标注

    • 按下键盘上的Enter按键下发任务
    • 按下键盘上的d按键重新绘制区域

    在这里插入图片描述

  • 下发成功后可在rviz看到如下界面:

    在这里插入图片描述

  • 如果想在测试过程中增加障碍物,可在rviz软件显示窗口上,点击Publish Point按钮在地图上相应位置进行障碍物设置:

在这里插入图片描述

注意:任务完成后,机器人会主动导航返回任务起始点

贴边沿墙清洁测试

  • 设定清洁区域:在rviz软件显示窗口上,点击along_wall按钮在地图上相应墙体位置进行沿墙启点下发

    在这里插入图片描述

  • 下发成功后可在rviz看到如下界面:

    在这里插入图片描述

  • 如果想在测试过程中增加障碍物,可在rviz软件显示窗口上,点击Publish Point按钮在地图上相应位置进行障碍物设置:

    在这里插入图片描述

注意:任务完成后,机器人会主动导航返回任务起始点

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/60950.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Web前端期末网页大作业—传统文化壁画手工艺带psd设计图(html+css+javascript)

&#x1f329;️ 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f482; 作者主页: 【进入主页—&#x1f680;获取更多源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;HTML5网页期末作业 (1000套…

30佳让房间焕然一新的墙贴装饰欣赏

墙贴是一种已设计和制作好现成的图案的不干胶贴纸&#xff0c;只需要动手贴在墙上&#xff0c;玻璃或瓷砖上即可。通过搭配整体的装修风格&#xff0c;以及主人的个人气质&#xff0c;彰显出主人的生活情趣&#xff0c;让家赋予了新生命&#xff0c;也引领新的家居装饰潮流。这…

金鱼会开车?对,以色列新研究证明金鱼有陆地导航能力,还能看标志认出目的地...

萧箫 发自 凹非寺量子位 报道 | 公众号 QbitAI 只能在水中游动的金鱼&#xff0c;竟然学会了在地面上“开车”&#xff1f; 没错&#xff0c;它不仅能通过改变在鱼缸中游动的方向&#xff0c;来控制小车方向&#xff1a; 经过努力后&#xff0c;还能准确到达指定地点&#xff0…

【SSM分布式架构电商项目-11】后台系统开发接口返回商品类目数据

功能 构造数据 category.getDataService({"data": [{"u": "/products/1.html","n": "<a href/products/1.html>图书、音像、电子书刊</a>","i": [{"u": "/products/2.html",&quo…

跨境电商亚马逊listing产品描述技巧,拿出小本子快记下来

今天,我们来讲一下亚马逊的listing中五点描述的技巧,这个重要性是仅次于标题的,它的作用是在你的商品顾客被你的价格、图片以及标题三个要素吸引而来的同时,再一次加深对于商品的深度了解,Bullet Points是否能够给客户提供到商品足够的信息给予客户,让客户了解到商品的实…

[译] 不要再用这么多 div 了,试试语义化标签吧

我们都喜欢使用 <div> 写网页。它已经存在几十年了。几十年来&#xff0c;当你出于样式或结构的考虑需要将一些东西包装到一起时&#xff0c; <div> 已经成为首选元素。现在的线上网站普遍能看到下面的代码结构&#xff1a; <div class"container" i…

无法亲自到长城那就用纸箱做个长城吧!

不到长城非好汉&#xff01;五一长假快到了&#xff0c;但疫情期间&#xff0c;还是感觉不宜出行。那就和孩子一起在家用纸盒给做一个“长城”吧。相信孩子一定非常喜欢。 转载自:徒劳吴工 几周前幼儿园老师说班级要做一个中国北京的主体迎接新年&#xff0c;吴工对北京了解不多…

20亿人欢庆开斋节,出口企业该如何把握Q2爆单潮

福布斯中东的数据报告&#xff0c;斋月最显着的标志之一是消费者花费在网络上的时间变多了。预计中东北非地区的人们在 2022 年斋月期间&#xff0c;每天花费的时间比平时多 12%&#xff0c;预计每天总共花费 8 小时 47 分钟。 全球48个国家&#xff0c;大约 20 亿的人口会隆…

捞偏门?浅谈机器学习的一些小众方向

随着 DeepMind 的 AlphaGo 在 2016 年战胜了李世石&#xff0c;“人工智能”这个词开始进入大众的视野。从那时起&#xff0c;不管是大型互联网公司还是初创企业都开始大规模招聘机器学习的相关从业者&#xff0c;无论社招的求职者还是校招的应聘学生都出现了大规模的增长。由于…

有哪些比较好用的开源项目管理工具?

有哪些比较好用的开源项目管理工具&#xff1f;无论是建立初创型企业&#xff0c;还是小公司开始进行业务扩张时&#xff0c;项目管理都至关重要。 当一个大计划需要按照进度执行&#xff0c;需要统一管理所有工作的任务与资料&#xff0c;或是必须掌控或参与一个团队的合作..…

设计师:设计师知识储备之硬装部分/软装部分简介、家装材料知识(吊顶材料/门窗材料/五金材料/墙面材料/地面材料/胶粘材料/油漆材料/水电材料/瓦工部分)之详细攻略

设计师&#xff1a;设计师知识储备之硬装部分/软装部分简介、家装材料知识(吊顶材料/门窗材料/五金材料/墙面材料/地面材料/胶粘材料/油漆材料/水电材料/瓦工部分)之详细攻略 目录 硬装部分/软装部分简介 硬装部分 软装部分 家装材料知识 吊顶材料 门窗材料 五金材料 …

Html和css算是编程语言吗,不被承认的编程语言

众所周知&#xff0c;比较著名的编程语言有许多&#xff0c;比如PHP、Java、Python、C等等&#xff0c;他们有着非常优秀的作用。但是基本每一个程序员都知道这一门不被承认的编程语言——HTML 为什么他不被承认呢? HTML是 HyperText Markup Language (超级文本标记语言)首字母…

revit建模中两面墙贴在一起怎么插入门窗及隐框玻璃的做法

一、revit建模中两面墙贴在一起怎么插入门窗 在Revit的应用中&#xff0c;有时需要统计特殊的工程量&#xff0c;在统计一个项目中不同位置&#xff0c;不同厚度的保温材料时&#xff0c;有时会将保温层用一片墙表示出来贴在主体的墙上&#xff0c;这时在其中一面墙上插入门窗时…

基于chinese-llama-plus北大团队推出法律大模型,数据与模型全部开源,模型合并使用全流程

上篇分享了一个法律的大模型&#xff0c;lawGPt&#xff0c;目前看回答一些基本的法律问题还是可以的&#xff0c;昨天又发现&#xff0c;北京大学也开源了一个法律大模型&#xff0c;lawyer-llama&#xff0c;通过在大规模法律语料中进行训练&#xff0c;系统学习中国的法律知…

2022年MathorCup数学建模A题大规模指纹图像检索的模型与实现解题全过程文档加程序

2022年第十二届MathorCup高校数学建模 A题 大规模指纹图像检索的模型与实现 原题再现 在生物特征识别领域&#xff0c;指纹作为最具独特性与持久性的生物特征之一&#xff0c;被广泛应用于身份识别。   指纹识别过程分为特征提取和比对两个环节。其中特征提取环节会提取用于…

数学公式识别工具mathpix的安装和使用

一、简介 Mathpix可以将图片、PDF 文档、网页中&#xff0c;甚至是手写的数学公式直接转换成LaTeX 格式&#xff0c;贴入 Markdown&#xff0c;Mathtype&#xff0c;WinEdt 或 Word 自带的公式编辑器中反向转换即可。Mathpix 是一个在线服务&#xff0c;需要联网使用。 二、下…

2020 US News University Rankings(中国大学排名)

2020 US News University Rankings(中国大学排名) &#xff08;中国[含港澳台]合计3176所高校&#xff0c;此处仅为大陆高校&#xff09;

击败ChatGPT?OpenChat霸榜斯坦福AlpacaEval开源榜首,性能高达105.7%

来源 | 新智源 ID | AI-era 一夜之间&#xff0c;全新开源模型「OpenLLM」击败ChatGPT的消息&#xff0c;在网上引起轩然大波。 根据官方的介绍&#xff0c;OpenLLM&#xff1a; - 在斯坦福AlpacaEval上&#xff0c;以80.9%的胜率位列开源模型第一 - 在Vicuna GPT-4评测中…

2021QS 榜单发布:计算机专业排名 MIT 斯坦福霸榜,清华北大进入前 20

公众号 “菜鸟学Python”, 设为 “星标” 和30w一起学Python&#xff01;来自新智元 【导读】2021 QS 世界大学学科排名出炉了&#xff01;最新排名涉及 51 个学科&#xff0c;横跨 5 大领域。在计算机科学专业排名中&#xff0c;MIT、斯坦福、哈佛占领了世界前三席&#xff0c…

四大世界权威大学排名指标及侧重点

U.S.News、QS、ARWU、THE是公认的四大权威世界大学排名&#xff0c;每个排名的侧重点各有不同&#xff0c;故知识人网小编撰文加以介绍。 很多博士后、访问学者和联合培养博士的申请者会注重学校排名。那么都有哪些排名体系呢&#xff1f;一般来说&#xff0c;国际公认的四大权…