Isaac Sim教程05 机器人简单组装及传感器

Isaac Sim 机器人简单组装及传感器了解

版权信息

Copyright 2023 Herman Ye@Auromix. All rights reserved.

This course and all of its associated content, including but not limited to text, 
images, videos, and any other materials, are protected by copyright law. 
The author holds all rights to this course and its contents.

Any unauthorized use, reproduction, distribution, or modification of this course 
or its contents is strictly prohibited and may result in legal action. 
This includes, but is not limited to:
Copying or distributing course materials without express written permission.
Reposting, sharing, or distributing course content on any platform without proper attribution and permission.
Creating derivative works based on this course without permission.
Permissions and Inquiries

If you wish to use or reproduce any part of this course for purposes other than personal learning, 
please contact the author to request permission.

The course content is provided for educational purposes, and the author makes no warranties or representations 
regarding the accuracy, completeness, or suitability of the course content for any specific purpose. 
The author shall not be held liable for any damages, losses, 
or other consequences resulting from the use or misuse of this course.

Please be aware that this course may contain materials or images obtained from third-party sources. 
The author and course creator diligently endeavor to ensure that these materials 
are used in full compliance with copyright and fair use regulations. 
If you have concerns about any specific content in this regard, 
please contact the author for clarification or resolution.

By enrolling in this course, you agree to abide by the terms and conditions outlined in this copyright notice.

学习目标

  • 熟悉Isaac Sim中机器人的关节及关节驱动配置
  • 了解Isaac Sim中关节树的概念
  • 熟悉Isaac Sim中的传感器配置
  • 熟悉Isaac Sim的视口调整

难度级别

初级中级高级

预计耗时

25 mins

学习前提

对象类型状态
Ubuntu22.04操作系统软件已确认
Isaac Sim软件已配置
Isaac Sim基本概念知识已了解
Isaac Sim基本使用知识已了解
Isaac Sim高级使用知识已了解

在这里插入图片描述
图中的机器人可以视作由三个杆件(links)和两个转动关节(revolute joints)组成的。

创建关节joint

Stage中,按下Ctrl,先选中父杆件Parent Link(此处为robot_body)再选中子杆件Child Link(此处为wheel_right),随后选中Create->Physics->Joint->Revolute Joint,创建一个Joint,并重命名为wheel_right_joint
在这里插入图片描述

检查wheel_right_joint这个prim属性中的父子关系和转动轴系是否正确,如果不正确就需要进一步调整。
在这里插入图片描述

点击左侧工具栏中的Play检查,会发现右轮已经和身体绑定,而尚未设置joint的左轮正常掉落了。
在这里插入图片描述
随后以相同的方式设置身体到左轮的joint,重新点击左侧工具栏中的Play检查,并拖动机器人身体Prim,检查轮子的转动情况是否正常。
在这里插入图片描述

创建关节驱动joint drive

添加了joint只能代表不同杆件间有了机械连接,但是还不能够控制和驱动,因此需要进一步添加关节驱动的API。
按下Ctrl选中Stage里的两个joint并依次点击Add->Physics->Angular Drive
在这里插入图片描述
为两个关节设置一定的目标速度(Target Velocity)和阻尼(Damping),此处分别为20010000,随后按下Play查看效果,应该发现小车开始以指定的速度运动
在这里插入图片描述

创建关节树Articulation(可选的)

Articulation(关节树)是一种高级概念,它通过将多个刚体及其之间的关节连接成一个层次结构,构建了一个关节树。这个树结构包含一个关节根(articulation root),它负责连接整个树的各个部分,从而形成一个统一的系统。

关节树的优势在于能够更有效地模拟多体系统的相互作用、运动和碰撞,从而降低计算的复杂性。通过使用关节树,我们能够实现更高的仿真准确性,减少关节误差,处理具有不同质量比的刚体,同时提高仿真效率。

将物体组织成关节树可以实现更高的模拟保真度,减少关节误差,并能够处理关节体之间更大的质量差异。这些设计具有零关节误差,同时能够处理关节体之间更大的质量比。

举例来说,考虑一个机械手臂的树结构:根部位于地平面的底部,旋转关节将不同的连杆连接到机械手,整个树结构只有一个分支,通过棱柱关节将两个夹具部分连接到手臂,实现了线性接头。

对于布娃娃,我们可以将任何肢体作为根,从而构建的结构仍然是一棵树。例如,我们可以选择头部作为根,然后使用球形关节将躯干连接到头部,接着使用球形关节连接手臂,以此类推。这种方法使我们能够轻松创建不同的布娃娃结构。

在这里插入图片描述
能够提高效率的具体原因和解释可以参考articulations,此处不进一步解释。

在这个小车的案例中,robot_body作为Articulation Root,选中Primrobot_body并依次点击Add->Physics->Articulation Root来将关节链转化为关节树

在这里插入图片描述

添加传感器

Omniverse Isaac Sim 提供了多种传感器,可用于感知环境和机器人的状态。此处以最为常见的Camera为例。

确定传感器轴系

在添加以相机为例的传感器前需要先确定轴系,参考Isaac、USD、ROS的传感器轴系说明

添加相机

依次点击Create->Camera来添加相机,并重命名为robot_camera,将他拖动到robot_body下和机器人的身体绑定,并通过调整相机的位置和姿态来感受合适的位置。
在这里插入图片描述

调整相机的视野方向,使得它位于机器人的前部头顶,略微朝下观察前方,此时Play,相机会随着机器人一起动。
在这里插入图片描述

在这里插入图片描述

相机检查器

将相机添加到场景中后,可以通过相机检查器扩展来管理我们的相机。
依次点击Isaac Utils->Camera Inspector,随后点击REFRESH来刷新相机列表。
在这里插入图片描述

  • 相机文本框
    有时在代码中需要提供一个合适的视角来查看场景,通常可以用GUI里调整相机角度来尝试,文本则是相机位置和方向的文字描述,可以通过复制来移植到代码中,方便代码开发。
    在这里插入图片描述
  • 新建视口Viewport
    当前Isaac Sim所看到的直接的窗口就是一个Viewport,可以通过相机检查器来创建一个视口,比如此时希望有世界顶部的一个相机,就可以选择Camera->OmniverseKit_Top,并点击CREATE VIEWPORT来新增视口。

在这里插入图片描述

在这里插入图片描述

固定相机关系

有时候不小心移动了相机的视野,这个时候的相机Transform就会变化,调回去比较麻烦,如果在相机和父关节间加上一个固定的Transform关系,则每次不小心弄乱了相机的视野时,都可以通过将相机自身Transform全部置0来恢复原有状态。
在这里插入图片描述

  • 18
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值