主要内容

在Simulink中使用ROS 2标记跟踪机器人金宝app

使用Si金宝appmulink®在ROS 2网络上控制在基于ROS的模拟器上运行的模拟机器人。

在此示例中,您可以运行一个模型,该模型实现符号算法,并控制模拟机器人以遵循基于环境中的符号的路径。该算法从模拟机器人接收位置信息和相机信息,该机器人在基于单独的ROS的模拟器中运行。该算法检测标志的颜色并发送速度命令以基于颜色转动机器人。在此示例中,算法旨在当机器人遇到蓝色标志时左转,然后机器人遇到绿色标志时右转。最后,机器人在遇到红色标志时停止。

要使用ROS 1或MATLAB®查看此示例,请参阅在Matlab中使用ROS签署后面的机器人

启动机器人模拟器

为差分驱动机器人启动基于ROS的模拟器,并配置与机器人模拟器的Simulink®连接。金宝app

此示例使用可用的虚拟机(VM)使用说明下载开始使用凉亭和模拟乌龟机器人

  • 启动Ubuntu®虚拟机桌面。

  • 在Ubuntu桌面中,单击凉亭ROS2迷宫图标来启动为本例构建的露台世界。

  • 在matlab命令窗口中,设置ros_domain_id.环境变量到25.匹配机器人模拟器设置并运行ROS2主题列表要验证机器人模拟器的主题在Matlab中可见。

setenv('ros_domain_id''25')ROS2('话题''列表'
/ parameter_events

打开模型和配置Simulink金宝app

设置Simulink金宝app ROS首选项以与机器人模拟器通信。

打开示例模型

Open_System('signfollowingrobotros2.slx');

配置ROS 2的网络设置。

  • 在下面模拟选项卡,在准备, 选择ROS工具箱> ROS网络

  • 配置ROS网络地址,将ROS 2域ID值设置为25.

  • 点击好吧要应用更改并关闭对话框。

在每次步骤中,该算法检测来自相机馈送的符号,又决定向前推动它。标志检测完成图像Proecessing模型子系统。

Open_System('signfollowingrobotros2 /图像处理');

标志跟踪逻辑子系统实现统计流®图表,其中包含了检测到的图像大小和坐标图像处理并提供线性和角速度来驱动机器人。

Open_System('signfollowingrobotros2 / sign跟踪逻辑');

运行模型

运行模型并观察机器人模拟器中机器人的行为。

  • 视频观众显示实际的相机馈送和检测到的标志图像。

  • 在模拟器中,机器人遵循标志并根据颜色转动。

  • 一旦机器人到达红色,模拟会自动停止最后签字。