flatsim
代表
flatworld simulation
,是一个小型模拟应用程序,可让您运行几乎完整的Isaac导航堆栈。flatsim应用程序通过将射线投射到给定的占用栅格图中来模拟激光测距仪。与在完整3D环境中进行更昂贵的3D射线扫描相比,这种模拟速度非常快。因此,这是测试导航堆栈的快速且高性能的方法。
Flatsim应用程序无法提供与实际场景中基于完整3D的模拟相同的准确性,尤其是在反射或透明对象的精确模拟方面。
flatsim
使用导航堆栈中的节点集,并添加了两个新节点:
-
DifferentialBaseSimulator:
运行基本的差分基本驱动器模型,以根据导航堆栈发送的命令来移动机器人。这为范围扫描仿真提供了机器人的地面真实姿势。它还提供了车轮里程表,它被导航堆栈用作另一个输入。
-
RangeScanSimulator:
根据机器人的当前位置和所需的地图计算模拟的平面范围扫描。
运行Flatsim应用程序
-
使用以下命令从Isaac源代码树内部启动flatsim:
bob@desktop:~/isaac$ bazel run //apps/flatsim
-
http://localhost:3000
在Web浏览器中加载Sight Web界面。
默认情况下,flatsim应用程序以随机游走模式启动。在此模式下,代表机器人的点导航到地图上的随机目标。当机器人到达目标时,将确定一个新的目标,然后机器人会朝该目标移动。
在Flatsim中使用交互式标记
作为Flatsim的第一个实验,请执行以下步骤将交互式标记添加到地图。您可以单击此标记并将其拖动到地图上的其他位置。完成后,机器人会更改路线以移动到标记的新位置。
-
如果尚未运行,请使用以下命令启动flatsim:
bob@desktop:~/isaac$ bazel run //apps/flatsim
-
http://localhost:3000
在Web浏览器中加载Sight Web界面。机械手点开始导航到第一个随机目标。
-
在Sight Web界面右侧的“配置”部分中的goals.goal_behavior中,将所需的行为从更改
random
为
pose
。机器人停止移动是因为您已更改其行为,但尚未添加将配置为新行为目标的交互式标记。
-
在flatsim-地图视图窗口中右键单击,然后选择设置。
-
在设置中,单击选择标记,然后选择pose_as_goal。
-
点击添加标记。
-
单击更新。标记会添加到地图,与随机行走目标分开,仍会显示。您可能需要放大地图才能看到新标记。机械手不会立即开始导航到标记。
-
点击并将标记拖动到地图上的新位置。机器人开始导航到标记位置。
有关更多信息,请参见
交互式标记
。