主要内容

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

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

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

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

为了可视化LIDAR传感器输出,有一个可视化代理LineSet,其定义的线与定义为LinePickSensor传感几何体的线相同。可视化线是蓝色的。结合pickkedpoint和pickdrange LinePickSensor输出用于可视化碰撞点。pickkedpoint输出包含与周围物体碰撞的点的坐标。这个输出的大小取决于有多少传感器射线相撞。pickdrange输出大小是固定的,等于传感射线的数量。输出返回每条传感线从激光雷达传感器原点到碰撞点的距离。对于不碰撞的射线,这个输出返回-1。pickdrange用于确定在pickkedpoint传感器输出中返回碰撞点的线的索引。实际上,蓝线被缩短了,以便每条线只显示射线扇原点和碰撞点之间的线段。

机器人的轨迹是用信号编辑器和斜坡块以一种简单的方式建模的。在Signal Editor中,模拟的前40秒定义了一个简单的1x1平方米轨迹。在回到原来的位置后,机器人只能无限地旋转。

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

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