提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
面试曾经被问到了机器人的信息流,当时边想边答,答的磕磕绊绊,现在整理一下。
仓储物流机器人信息流涵盖从任务下发到机器人执行的完整流程,涉及多种模块间的信息交互,通常包括业务系统、调度系统、机器人控制系统和底层传感控制系统等部分。以下是信息流详细步骤,可以分为七步:
- 业务系统下发任务
- 调度系统任务拆解与分配
- 机器人控制系统解析指令
- 各功能模块执行与传感反馈
- 实时数据上报与状态监控
- 调度系统反馈与异常处理
- 任务完成与电量管理
无代码
一、业务系统下发任务
需求来源:仓储管理系统或订单系统在检测到货物需求后,将任务信息发送至调度系统。
信息内容:业务系统将包括货物类型、位置(存储位、缓存位)、目标位置和优先级的任务下发至调度系统。
信息流动:业务系统 → 调度系统
二、调度系统任务拆解与分配
任务分解:调度系统对任务进行解析、拆分,并生成机器人可以执行的指令序列。
任务分配:调度系统评估各个机器人的位置、电量、负载情况、任务优先级等因素,选择最合适的机器人执行任务。
信息内容:任务指令通常包含以下内容:
任务类型:如取料、还料、行走、充电等。
路径规划:目标路径(如二维坐标点序列)。
位置与操作参数:货箱的位置、高度,货物类型,存放盘位置等。
信息流动:调度系统 → 机器人控制系统
通信协议:tcp/ip。
三、机器人控制系统解析指令
指令解析:机器人控制系统接收任务指令并解析,确定每个动作的执行顺序与相应参数。
信息内容:解析结果包含具体操作步骤和参数,如路径、速度、举升高度等。
信息流动:机器人控制系统内部 → 各功能控制模块(如行走控制模块、举升控制模块)
通信方式:ROS。
补充:通常来说,如调度系统与机器人控制系统这样的通常用TCP/IP来通信,而控制系统内部采用ROS节点与消息传递的方式。在这种混合架构中,可以在控制系统的ROS节点中引入TCP/IP客户端或服务端模块,与调度系统通信,这样既可以利用ROS的实时性,也能保证与调度系统稳定的数据传输。
四、各功能模块执行与传感反馈
机器人内部控制系统的信息传递使用ROS进行,在解析完指令后,会启动不同节点来进行机器人控制:
定位模块节点:通过定位模块(如二维码相机,IMU,陀螺仪)获取当前位置信息,实时校准机器人位置,这个节点自同机器人开机一同启动。
主控制节点:处理机器人整体控制逻辑,并启动相应节点。
行走控制节点:依据路径规划控制机器人移动,实时监测和调整速度与方向,包括机器人横向控制和径向控制。
避障模块:避障模块通过传感器(如深度相机、激光雷达)检测周围环境,及时调整路径或急停。
举升控制模块:根据指令进行举升操作,将货箱从存储位或缓存位上下搬运。
伸缩叉控制模块:在合适位置启动伸缩叉,将货箱准确对接。
货架二维码识别定位模块:识别货架二维码定位信息并上传。
深度相机模块:深度相机识别货箱位置。
信息流动:各功能控制模块 → 控制系统 → 各传感器节点(如二维码相机、深度相机) → 控制系统
五、实时数据上报与状态监控
信息内容:机器人控制系统定时上报任务状态、位置信息、故障信息、电量信息等,供调度系统和运维监控系统进行决策。
数据格式:数据上报通常以标准化的格式封装,包括状态标识(如正在执行、已完成、故障等)、任务ID、当前坐标、电量状态等。
信息流动:机器人控制系统 → 调度系统、运维监控系统
六、调度系统反馈与异常处理
任务状态反馈:调度系统根据任务完成情况反馈新的指令(如继续执行、返回起始点等)或终止任务。
故障处理:如发生故障或异常,调度系统将及时中断任务并发布急停或重新调度任务。运维系统可接收异常报警进行处理。
信息内容:包括任务继续/终止命令,紧急停机指令,以及异常告警。
信息流动:调度系统/运维系统 → 机器人控制系统
七、任务完成与电量管理
完成反馈:机器人完成任务后,上报调度系统,等待下一个任务。
充电任务:调度系统检测机器人电量不足时,会发出充电任务,机器人前往充电位进行充电。
信息流动:机器人控制系统 → 调度系统
总结
机器人内部信息流我会在之后的文章中细讲。
标签:信息流,机器人,系统,调度,控制系统,任务,仓储,模块 From: https://blog.csdn.net/weixin_48386130/article/details/143477139