今天一整天都要开会,闲的无聊,把这周学的东西简单整理下。纯英文文档想不起来东西的时候总是找不到位置...持续更新一整天
1.将块与块连接起来
尝试连接块与块的时候发现只能是cube、mesh连接,如果是一整个的包括坐标系、材质包等等,就会没办法连起来...可能是我操作方法不对,再摸索下,应该是能添加根关节的连接的,还没试成功
选中块、右键ADD、Physics、Rigid Body with Colliders Preset
播放试一下
2.轮子和主body连接,加旋转方向、速度、阻尼
官方文档把Rigid Body删了干嘛?
Create > Physics > Joints > Revolute Joint
出现一个新的PhysicsRevolute的块。此时点击播放可以用鼠标拖着整个区块进行移动
两个区块同时添加一个力:Physics > Angular Drive
PhysicsRevolute 下方Damping修改阻尼,Target Velocity修改速度
给物理核心区块添加关节
Physics > Articulation Root
3.添加颜色
上方导航栏Click Create -> Materials -> OmniPBR .
右侧Stage中选定区块,下方材质选择新加的材质,材质可以自设定颜色
4.添加传感器
2.5. Add Camera and Sensors — Omniverse IsaacSim latest documentation
5.使用Python控制
2.6. Interactive Scripting — Omniverse IsaacSim latest documentation
6.可以用键盘来分别控制旋转角度,前进速度等
输入输出的prim记得统一
类型令牌进入图形编辑器的搜索栏,并在图形中添加两个常量令牌节点。选择其中一个,在属性窗格中将其值设置为 left_wheel_joint。为另一个常量令牌节点重复此过程,但将值设置为 right_wheel_joint。在图形编辑器的搜索栏中键入 make array,并将一个 Make Array 节点添加到图形中。选择 Make Array 节点,并单击属性窗格菜单的输入部分的 + 图标以添加第二个输入。将 arraySize 也设置为 2,然后在同一窗格中的下拉菜单中将输入类型设置为 token[]。最后,将常量令牌节点连接到 Make Array 节点的 A 和 B,然后将该节点的输出连接到 Articulation Controller 节点的 Joint Names 输入。
最后一个节点是事件节点。在图形编辑器的搜索栏中搜索 playback 并将一个 On Playback Tick 节点添加到图形中。此节点将为每一帧发出执行事件,但仅在模拟播放时才会发出。将 On Playback Tick 节点的 Tick 输出连接到两个控制器节点的 Exec In 输入。将差分控制器的 Velocity Command 输出连接到关节控制器的 Velocity Command 输入。完成后,图形应该看起来类似于这样...
按下播放按钮,然后在图形中选择差分控制器节点。在属性窗格中点击并拖动角速度或线速度的值以更改其值(或者只需点击并键入所需值)。
如果添加键盘输入:
2.8. OmniGraph: Input Devices — Omniverse IsaacSim latest documentation
7.使用Jupyter、Python、C++来控制
3. Development Tools — Omniverse IsaacSim latest documentation
8.ROS
Window > Visual Scripting > Action Graph
Prerequisite
-
Completed ROS & ROS 2 Installation: installed ROS, enabled the ROS extension, built the provided Isaac Sim ROS workspace, and set up the necessary environment variables .
-
It is also helpful to have some basic understanding of ROS topics and how publisher and subscriber works.
-
ROS Bridge is enabled.
-
roscore
is running.
8.1 ros桥搭建
啧,这个没跑成功,一直说prim路径错误警告,桥都搭好了,ros信息也能正常接受和发送,就是控制不了小车移动,后续测试其它ros话题信息都没问题。
7.1.2. Driving TurtleBot via ROS messages — Omniverse IsaacSim latest documentation
8.2 发布RGB话题信息
一旦连接了Camera Helper Node并按下播放按钮,会看到在操作图窗口左上角的图标上单击时,操作图列表中出现一个新的操作图:/Render/PostProcessing/SDGPipeline。此图是由Camera Helper Node自动创建的。从渲染器中检索相关数据,对其进行处理,并将其发送到相应的ROS发布者。此图仅在您运行的会话中创建。它不会作为您资产的一部分保存,并且不会出现在场景树中。
和RGB同理还有这些东西可以接受发送。可以录制rosbag包,可以在本机使用RVIZ来查看内容。
-
Camera Info
-
Depth
-
Point Cloud
-
BoundingBox 2D Tight
-
BoundingBox 2D Loose
-
BoundingBox 3D
-
Semantic labels
-
Instance Labels
8.3 时间戳
8.4 添加 PhysX 激光雷达 ROS 桥接器
暂时用不上,先记一下
Create -> Isaac -> Sensors -> PhysX Lidar -> Rotating
7.1.5. PhysX Lidar Sensors — Omniverse IsaacSim latest documentation
8.5 TD树、odom
8.6 建图
7.1.8. ROS Navigation — Omniverse IsaacSim latest documentation