提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
上一篇文章(https://blog.csdn.net/weixin_48386130/article/details/143477139?spm=1001.2014.3001.5501)讲了仓储物流机器人从任务下发到任务完成得信息流,本文将其中设计机器人本体软件的信息流进行扩充讲解。
仓储物流机器人主要依靠ros进行信息传递。
主要分为两大部分:
主控程序和各模块控制节点。
一、主控制程序
主控制程序是整个机器人软件的大脑,负责机器人完成开机自检和打印,协议解析和任务分解,任务执行,状态监控、信息汇总和上传。
主控节点和模块节点间的通信通常通过话题(topic)、服务(service)、或动作(action)来实现。
二、各模块控制节点
1.开机自检和信息打印节点
当机器人开机启动后,会首先进行机器人开机自检和信息打印,其中包括:
1、电机复位自检:各个电机复位。
2、定位节点启动并获取定位。
3、电源自检:检查是否可以正常获取电池模块信息。
4、部分传感器检查:IMU,激光雷达等节点启动是否正常。
检查完毕之后会以一定频率输出自检报告。
2.定位节点
定位节点的目的是获取机器人在全局坐标系中的位置和姿态。
流程为:
初始化:启动二维码相机节点,获取地面二维码解码信息——将解码信息上传调度系统,获得机器人全局坐标——调度系统下发坐标——机器人接收全局坐标信息,实现初步定位。
非初始化:根据里程计节点,IMU节点,陀螺仪节点获得机器人相对移动位置信息,结合初始化坐标,得到机器人实时位置,同时,二维码相机节点会不停工作,再次识别到二维码时会进行位置矫正。
1.二维码相机节点
开机初始化:使用摄像头读取地面二维码并解析二维码信息,获取位置信息。这些二维码通常是预先布置在地面上,包含位置编码信息,进行解码定位。
非初始化阶段:此节点会一直工作,识别到地面二维码之后,进行定位矫正。
2.IMU节点
IMU节点负责提供加速度和角速度数据,帮助机器人获取方向、倾斜和短时间的移动状态。
3.陀螺仪节点
获取机器人的旋转角度信息,与IMU结合,增强定位稳定性和相应速度。
4.里程计节点
测量机器人车轮转动量来记录机器人相对移动的距离。
3.电池节点
机器人在开机完成初始化过程中会启动电池节点,实时获取电池状态。
4.控制节点
负责机器人各个功能模块执行和传感器反馈,
包含以下几个节点:
1.行走控制模块节点
详见https://blog.csdn.net/weixin_48386130/article/details/143382987?spm=1001.2014.3001.5501
2.举升控制模块节点
根据指令进行举升操作,将货箱从存储位或缓存位上下搬运。
3.取还箱模块节点
在合适的位置进行取还箱动作操作。
5.货箱识别定位节点
拣选机器人需要在货架上进行货箱取放,此时就需要识别货箱位置,一般使用视觉传感器进行。
6.避障节点
在机器人执行任务过程中,会打开避障节点,进行相应的减速策略控制。
7.日志和故障监测节点
日志记录节点:该节点订阅多个话题,例如控制指令、位置数据、故障信息等,并记录至日志文件中。同时可通过 /get_logs 服务接口进行实时或历史日志的查询。
故障监测节点:该节点实时监测来自各节点的故障信息,并进行相应处理,例如发布急停命令或重启服务。
总结
其中的算法和策略我没法细写,之后补充一些普适性的吧。
标签:定位,信息流,机器人,信息,二维码,模块,ROS,节点 From: https://blog.csdn.net/weixin_48386130/article/details/143479430