工具类
本节概述了IsaacSim Unity3D中可用的工具。
地图生成
艾萨克(Isaac)导航堆栈需要2D占用地图才能进行本地化。Map Camera是使用正交相机的深度成像为Unity场景生成此类地图的便捷工具。请按照以下步骤使用“地图摄像头”工具:
-
将预制件添加到场景中。
Core package/Prefabs/Sensors/Map Camera
-
在“
检查器”
选项卡中选择GameObject 。
-
选择
放置相机
。这将设置相机位置和近/远剪辑平面。远近裁剪平面之间的所有可见网格都在地图中投影为“障碍物”。
-
将“游戏”视图切换到“显示2”以预览地图。
-
准备就绪后,选择“
保存地图”
以保存PNG文件和相应的地图配置JSON(适用于Isaac SDK)。
生成地图后,请删除或禁用“地图摄像机”预制件,以避免在运行时渲染地图摄像机。
../../_images/unity_map_generator_1.jpg
../../_images/unity_map_generator_2.jpg
四月标签
AprilTag是机器人技术中常用的可视基准系统。您可以在中找到AprilTag预制件 。这是通过平面网格实现的,平面网格的比例为1:10m x 10m。
Core package/Prefabs
../../_images/unity_apriltag.jpg
可视化
“ isaac.minisight”预制件将Unity中的本地和全局计划可视化。
../../_images/unity_visualization.jpg
建立
请按照以下步骤构建场景:
-
在Unity编辑器中,打开
文件>构建设置
。
-
选择
添加打开场景
以将在Unity Editor中
打开的场景
添加到构建设置。
-
点击
构建
。
这将生成一个<cite style="box-sizing: border-box;"><scene> .x86_64</cite>可执行文件和一个<cite style="box-sizing: border-box;"><scene> _Data</cite>文件夹。运行可执行文件以启动模拟器。如果要移动或复制构建,则需要同时复制“ .x86_64”二进制文件和“ _Data”文件夹。
../../_images/unity_build_settings.jpg
单个二进制文件中的多个场景
IsaacSim Unity3D提供了一些帮助程序功能,可将多个场景构建为一个二进制文件。这些位于BuildHelper和MultiSceneTools脚本中。在Unity Editor窗口中,您还可以使用
Isaac>在文件夹中构建场景,
在项目Asset文件
夹
中选择一个文件夹,以创建包含该文件夹中所有场景的构建。或者,您可以使用
Isaac>在文件中构建场景
来选择一个JSON文件,其中包含当前项目中的场景列表,并创建一个包含所有场景的构建。
使用静态方法
您还可以在BuildHelper脚本中使用静态方法从Unity命令行创建构建。例如,您可以创建
warehouse.json
具有以下内容的文件:
<pre style="box-sizing: border-box; font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace; font-size: 12px; white-space: pre; margin: 0px; padding: 12px; line-height: normal; display: block; overflow: auto; color: rgb(64, 64, 64);">{
“场景” : [
“包/com.nvidia.isaac_sim_samples/Warehouse/Scenes/small_warehouse.unity” ,
“包/com.nvidia.isaac_sim_samples/Warehouse/Scenes/medium_warehouse.unity” ,
“资产
/tutorial.unity ” ]
}
</pre>
然后运行以下命令来创建构建:
<pre style="box-sizing: border-box; font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace; font-size: 12px; white-space: pre; margin: 0px; padding: 12px; line-height: normal; display: block; overflow: auto; color: rgb(64, 64, 64);">bob @ desktop:〜$:Unity / Hub / Editor / 2018.3.14f1 / Editor / Unity -quit -batchmode -logFile -projectPath isaac_sim_unity3d / projects / sample -executeMethod Isaac.BuildHelper.BuildFromFile --sceneFile Warehouse.json </pre>
这将创建一个
warehouse.x86_64
and
warehouse_Data
文件,
isaac_sim_unity3d/projects/sample/Builds
其中包含上面列出的三个场景。可执行文件中的名称“仓库”与
Warehouse.json
场景文件的名称匹配。请注意,JSON文件中的路径是相对于Unity项目路径给出的,并且程序包中的场景由程序包名称“ com.nvidia.isaac_sim_samples”而不是显示名称“ NVIDIA IsaacSim for Unity3D(示例)”引用。该构建也仅适用于项目中的场景。