主要内容

为仓库机器人执行任务

此示例演示了如何在给定地图上的三个位置之间执行移动机器人的障碍路径。该机器人预计将访问仓库中的三个地点:充电站,装载站和卸载位置。访问这些位置的序列由调度器决定。调度程序为每个机器人提供导航到导航的目标姿势。机器人计划一条路径并使用纯追踪控制器以遵循基于机器人的当前姿势的航点。这差动驱动运动型号块模型的简化运动学,从纯追踪控制器的线速度和角速度。此示例构建于基于Simulink的差动驱动机器人路径规划万博1manbetx例子。

仓库地图

分拣或配送设施的典型仓库具有从工作站到存储区域的套餐。仓库可能有离限区域,如办公室和正在进行的库存阻挡过道或人行道。机器人在到达分拣站时,该机器人任务是挑选的,并被告知一个位置来存储它们。仓库还有一个充电站,用于在一定时间后再充电机器人。

这个示例仓库平面图可以转换成二进制占用图,它表示仓库设施中的所有安全区域。

加载示例映射文件。logicalMap是指示仓库中空闲空间的逻辑值的矩阵。做一个binaryoccupancymap.来自这个矩阵。

加载warehouseMaps.matlogicalMap地图= biniaroccupancap(logicalmap);显示地图)

分配XY- 对充电站,排序(装载)站和卸货地点靠近仓库附近的卸货地点。

chargingStn = (5, 5);loadingStn =(52岁,15);unloadingStn =(15日42);

在地图上显示各个位置

抓住;文本(chargingStn (1) chargingStn (2), 1,“充电”);PlotTransforms([ChargingStn,0],[1 0 0 0])文本(LoadingStn(1),LoadingStn(2),1,“分拣站”);plottransforms([loadingstn,0],[1 0 0 0])文本(卸载Stn(1),卸载Stn(2),1,“卸货站”);plotTransforms([unloadingStn, 0],[1 0 0 0])保持不变

Figure包含一个轴对象。标题为Binary Occupancy Grid的坐标轴对象包含16个类型为patch, line, image, text的对象。

模型概述

提供万博1manbetx了Simulink®型号,用于模拟系统的所有方面,用于调度,规划,控制和建模机器人行为。

打开Simulin万博1manbetxk模型。

open_system (“warehouseTasksRobotSimulationModel.slx”的)

规划,控制和植物模型

该模型使用类似于的规划,控制和工厂模型基于Simulink的差动驱动机器人路径规划万博1manbetx例子。该计划者从调度程序中获取开始和目标位置,并根据给定地图计划它们之间的障碍路径。控制器使用纯追踪控制器,用于产生机器人的线性和角速度控制以导航路径。这些控件用于塑造驾驶机器人的行为的工厂模型。

机器人调度程序

调度程序块将启动和目标位置分配给机器人。机器人的当前姿势用作起始位置,结束位置由调度器内部指定的一系列任务确定。该示例说明了机器人的以下任务序列:

  1. 从充电点开始,到装载点。

  2. 暂停作为加载站装箱并计划卸载位置的路径。

  3. 导航到卸载站以卸载包。刷新充电站的路径。

  4. 停在充电站。

模拟机器人

运行模拟以查看机器人执行任务。

仿真= SIM(“warehouseTasksRobotSimulationModel.slx”);

Figure包含一个轴对象。带有标题二进制占用网格的轴对象包含21个类型补丁,行,图像,文本的对象。

想象机器人轨迹

给出自定义可视化工具以模仿分布式摄像机系统,并在地图中的某些位置获取机器人轨迹的更详细视图。打开可视化辅助阻塞并使用预设视图下拉以选择不同的观点。这采样时间可视化对机器人的模拟没有影响。

也可以看看

©版权所有2019 The MathWorks, Inc.