模拟移动机器人在一个仓库使用露台
这个例子展示了如何模拟一个仓库在露台机器人。露台让你模拟一个使用一系列传感器的移动机器人,在执行某些任务在一个模拟的环境。这个例子的细节如何使用模拟器应用为一个仓库的机器人执行任务例子,一个机器人提供了在仓库包场景。机器人利用露台的模拟范围传感器来检测可能的碰撞与一个动态环境,避免他们。
先决条件
下载一个虚拟机与ROS和露台建立一个模拟机器人。
检查为一个仓库的机器人执行任务示例工作流的路径规划和导航在仓库里的场景。
检查在露台控制差动驱动机器人仿真软件万博1manbetx收集传感器数据的例子基本步骤和控制一个机器人在露台。
模型概述
打开模型。
open_system (“simulateWarehouseRobotInGazebo.slx”)
该模型可分为以下元素:
意义:从传感器读取数据在露台。
日程安排:分配方案和计划路径机器人提供的包。
控制:生成命令按照预定义的路径,避免障碍。
动作:发送命令到露台开动机器人在环境中。
时间表
机器人执行的任务之间的充电站,装载站,卸货站所引导的调度器。
感觉
当前机器人位姿、车轮的速度和范围传感器读数读取从露台的模拟环境。下图是视角的扩展从露台读取传感器子系统。
控制
控制器产生控制命令的路径点使用单纯的追求块。如果传感器在机器人探测范围内的一个障碍avoidCollisionDistance
阈值,机器人停止。此外,机器人停止当附近得到足够的目标。
开动
基于生成的控制命令,先锋轮控制子系统生成每个车轮的扭矩值。扭矩作为一个应用ApplyJointTorque
命令。
设置
仓库设施
加载地图文件的例子中,地图
,这是一个逻辑值指示占据空间的矩阵仓库。逆矩阵来表示自由空间,使binaryOccupancyMap
对象。指定一个分辨率为100细胞每米。
地图为基础的warehouseExtensions.world
文件,该文件是使用建筑编辑器在相同的比例因子如下提到的。一个. png
文件可以使用地图collision_map_creator_plugin
插件生成映射矩阵。细节上可以找到如何安装插件碰撞地图创造者插件。
mapScalingFactor = 100;负载gazeboWarehouseMap.mat地图logicalMap = ~地图;地图= binaryOccupancyMap (logicalMap mapScalingFactor);显示(图)
分配xy充电站的位置,分类,和仓库的卸货位置附近的货架上。值的选择是基于模拟世界在露台。
chargingStn = (12、5);loadingStn = (24、5);unloadingStn =(15日24);
在地图上显示不同的地方。
持有在;文本(chargingStn (1) chargingStn (2), 1,“充电”);plotTransforms ([chargingStn 0],[1 0 0 0])文本(loadingStn (1) loadingStn (2), 1,“分拣站”);plotTransforms ([loadingStn 0],[1 0 0 0])文本(unloadingStn (1) unloadingStn (2), 1,“卸货站”);plotTransforms ([unloadingStn 0], [1 0 0 0])从;
距离传感器
的激光雷达扫描阅读块的传感部分是用于读取范围值模拟传感器。的warehouseExtensions.world
文件包含各种模型的细节和演员(仓库工人)的场景。因为<演员>
标签是静态链接只有视觉上的网格,传感器的传感器类型范围gpu_ray
。
此外,传感器使用范围640范围,但默认是128。这需要修改公共汽车中使用的激光雷达扫描阅读块。加载exampleHelperWarehouseRobotWithGazeboBuses.mat
文件得到修改公共汽车Gazebo_SL_Bus_gazebo_msgs_LaserScan.range
设置为640。修改后的公共汽车被保存到.mat
文件使用类型编辑器。
负载exampleHelperWarehouseRobotWithGazeboBuses.mat
避碰
世界上演员走一个预定义的轨迹。机器人利用一系列传感器来检查障碍的范围内2.0米(avoidCollisionDistance)
的角度范围(π-π/ 10日/ 10)
在一个非零的阅读范围内和视图中,机器人停止,只有简历后范围是明确的。“停止机器人感知障碍”功能块包含了这个逻辑。
在运行模拟时,停止灯变绿时,机器人的感觉就好了。如果它已经停止灯变红。
avoidCollisionDistance = 2;
模拟
模拟场景中,设置连接到露台。
首先,运行模拟器露台。在虚拟机,点击露台仓库的机器人图标。如果露台模拟器无法打开,你可能需要重新安装插件。看到安装露台插件手动在执行模型之间的联合仿真和露台万博1manbetx。
在仿真万博1manbetx软件,打开露台Pacer块,然后单击配置露台网络和仿真设置。指定网络地址作为自定义,的主机名或IP地址为你的露台模拟,港口的14581年
露台的默认端口。VM的桌面显示的IP地址。
更多信息连接到露台,使联合仿真,明白了执行模型之间的联合仿真和露台万博1manbetx。
单击初始化模型顶部的按钮上面的模型初始化所有的变量声明。
运行仿真。环境和周围的机器人驱动器停止每当一个工人被内定义的阈值。