主要内容

带激光雷达传感器的差动轮式机器人

vrcollisions_lidar示例展示了如何使用LinePickSensor在Simulink®3D动画™中建模LIDAR传感器行为。

在一个简单的虚拟世界中,定义了一个顶部安装有激光雷达传感器的轮式机器人。这个LIDAR传感器是使用LinePickSensor来实现的,它可以检测几条射线(建模为IndexedLineSet)与周围场景对象的碰撞。传感器pickkedrange和pickkedpoint字段在该模型中仅用于可视化目的,但与机器人姿态信息一起可用于同步定位和映射(SLAM)和其他类似目的。

传感器感知线可见,显示为透明的绿色线。51条感知射线均匀分布在水平面上-90度到90度之间。激光雷达的范围是10米。

为了可视化LIDAR传感器输出,有一个可视化代理LineSet,它定义的线与定义为LinePickSensor传感几何的线相同。可视化线是蓝色的。pickedPoint和pickedRange LinePickSensor输出的组合用于可视化碰撞点。pickkedpoint输出包含与周围对象碰撞的点的坐标。这个输出的大小取决于碰撞的传感器射线的数量。pickedRange输出大小是固定的,等于感知射线的数量。输出返回每条感知线从LIDAR传感器原点到碰撞点的距离。对于没有碰撞的射线,输出返回-1。pickedRange用于确定在pickedPoint传感器输出中返回碰撞点的线的索引。实际上,蓝线被缩短了,因此每条线只显示射线扇原点和碰撞点之间的线段。

使用信号编辑器和Ramp块对机器人轨迹进行了简单的建模。在信号编辑器中,为模拟的前40秒定义了一个简单的1x1米的平方轨迹。回到原来的位置后,机器人只会无限旋转。

在该模型中,同时定义了VR Sink和VR Source块,与同一个虚拟世界相关联。VR源用于读取传感器信号。VR Sink用于设置机器人的位置/旋转和传感器视觉代理线端点的坐标。

在虚拟世界中,有几个定义的视点,包括静态的和附加到机器人上的,允许从不同的角度观察激光雷达可视化。

警告:无法识别的函数或变量' customizationtics '。

Baidu
map