主要内容

自动停车员与ROS在仿真软件万博1manbetx

分发一个自动停车员在ROS网络中各个节点中应用仿真软件®。万博1manbetx这个例子扩展了自动停车员(自动驾驶工具箱)在自动驾驶的工具箱™。使用仿真软件模型在仿万博1manbetx真软件中自动停车员的例子中,调整计划、控制器和车辆动力学参数分区模型到ROS节点之前。

先决条件:自动停车员(自动驾驶工具箱),从模型生成一个独立的ROS节点®万博1manbetx

介绍

一个典型的自主车辆应用程序具有以下工作流程。

这个例子集中于模拟规划,控制车辆组件。为本地化这个示例使用预先录制好的地图定位数据。的规划组件进一步分成行为计划路径规划组件。这导致ROS网络由四个ROS节点:行为计划,路径规划,控制器车辆Sim。下图显示了每个ROS节点之间的关系网络中,每个使用的主题。

探索模型ROS节点和连接万博1manbetx

观察组件的划分成四个独立的仿真软件模型。万博1manbetx每个仿真软万博1manbetx件模型代表一个ROS节点发送和接收消息在不同的主题。

车辆Sim节点

1。打开车辆模型。

open_system (“ROSValetVehicleExample”);

2。的订阅子系统包含ROS订阅块读取输入数据控制器节点。

3所示。的汽车模型子系统包含一个自行车模型(自动驾驶工具箱)块,车辆身体3自由度,来模拟车辆控制器效果和发送通过活性氧ROS的车辆信息网络发布块的发布子系统。

行为计划节点

1。开放的行为规划模型。

open_system (“ROSValetBehavioralPlannerExample”);

2。这个模型读取当前车辆构成、速度和方向的ROS网络,并将下一个目标。它检查车辆是否达到了目标段使用的姿势exampleHelperROSValetGoalChecker

3所示。的行为计划目标检查程序模型运行新消息时可用/ currentpose/ currentvel

4所示。模型发送状态如果车辆进入停车场的目标使用/ reachgoal话题,它使用一个std_msgs / Bool消息。所有的模型模拟此消息时停止真正的

路径规划节点

1。打开路径规划模型。

open_system (“ROSValetPathPlannerExample”);

2。这个模型计划通过环境地图使用的可行路径pathPlannerRRT(自动驾驶工具箱)对象,它实现了最优迅速探索随机树(RRT *)算法和将计划发送到控制器的ROS网络。

3所示。的路径规划子系统运行新消息时可用/ plannerConfig/ nextgoal的话题。

控制器节点

1。打开车辆控制器模型。

open_system (“ROSValetControllerExample”);

2。这个模型计算并发送ROS的转向和速度命令网络。

3所示。控制器子系统运行在当一个新消息/ velprofile的话题。

模拟ROS节点验证分区

验证模型的行为是相同的分区后,系统分为四个ROS节点。

1。运行rosinit在MATLAB®命令窗口初始化全局节点和ROS的主人

rosinit
启动ROS ..........核心…在10.4244秒内完成。初始化ROS主在http://192.168.88.1:56949上。初始化全局节点/ matlab_global_node_90052 NodeURI http://ah-avijayar: 57028 /

2。加载预先录制好的定位地图数据在MATLAB基础工作空间使用exampleHelperROSValetLoadLocalizationDatahelper函数。

exampleHelperROSValetLoadLocalizationData;

3所示。打开仿真模型。

open_system (“ROSValetSimulationExample.slx”);

在左停车选择区,您也可以选择一个位置。默认的停车位是顶部的第六位。

4所示。在模拟选项卡中,单击运行模拟部分或运行sim (“ROSValetSimulationExample.slx”)在MATLAB命令窗口。图打开,显示了车辆跟踪参考路径。蓝线代表参考路径,而红线是实际的路径乘汽车旅行。所有模型的仿真停止当车辆到达最后一个停车位。

sim卡(“ROSValetSimulationExample.slx”);

仿真结果

可视化子系统在车辆模型为这个示例生成的结果。

open_system (“ROSValetVehicleExample /车辆模型可视化”);

visualizePath块负责创建和更新显示的车辆路径的情节。车辆速度和转向命令显示在一个范围。

open_system (“ROSValetVehicleExample /车辆模型/可视化/命令”)

ROS节点部署

产生ROS申请行为计划,路径规划,控制器节点和模拟车辆节点在MATLAB和比较结果与仿真。更多此信息生成活性氧笔记,看到的从模型生成一个独立的ROS节点®万博1manbetx

1。部署行为计划,路径规划控制器ROS节点。

2。打开车辆模型。

open_system (“ROSValetVehicleExample”);

3所示。从模拟选项卡上,单击运行开始仿真。

4所示。的情节和观察车辆运动仿真运行的结果进行比较。

5。关闭ROS网络使用rosshutdown

rosshutdown
关闭全局节点/ matlab_global_node_90052 NodeURI http://ah-avijayar: 57028 /关闭ROS主在http://192.168.88.1:56949上。