IsaacLab最新2025教程(4)-设置物体物理属性并进行交互

Update:

这部分内容想了想感觉太多,分成两个贴子了,链接如下:

IsaacLab最新2025教程(4)-导入刚体和柔性物体并配置物理参数-优快云博客

前言

上一篇文章主要讲了很基础的环境搭建,创建物理环境,导入简单的物体的物理属性:

IsaacLab最新2025教程(3)-搭建训练场景-优快云博客

这篇文章主要为如何与物体交互,比如随机初始化物体位置等,同样也是根据IsaacLab官方文档的tutorial:Interacting with a rigid object — Isaac Lab Documentation。我会标记一些我认为后续开发经常要用到的点和tips。

刚体(rigid object),柔性物体(deformable object)和关节物体(articulation)

找不到文档的介绍了,可能是在IsaacSim的介绍文档中涉及了,先占个坑,后续出IsaacSim文章时候再看。简单介绍一下就是,物体的动态属性,刚体假设整个物体是没有形变的,类似金刚石等,所以整个物体的运动可以使用刚体力学进行建模,而柔性物体是具备形变的,比如衣服,面条等,建模方式不同于刚体力学。最后的articulation其实没有想好怎么翻译,但是范围很广泛不只是局限于机器人,所以关节物体都可以表示,比如门,自行车等等,因为这些物体有关节,可以进行相对运动,在我们这个文章主要指的是机器人了。

所以,在设置物体的static property之后我们还需要定义物体的dynamic property,是一个刚体,柔性物体还是articulation,这样我们的物体才会和设置的场景进行交互,不然的话会发现导入的物体在环境里像个bug,一动不动,机械臂一碰就飞了,后续会做个对比实验给大家看一下。

##rigidbody,deformable, articualtion的class code都在这个包下面,建议大家多点开看一看他们不同的功能
from isaaclab.assets import RigidObject, RigidObjectCfg

##RigidObjectCfg也是一个类,prim_path会自动帮助我们提前设定一个prim,不再需要通过prim_utils手动提前设置,spawn就是之前提到的导入object和物理属性,init_state很简单了就是物体的初始pose,这个函数挺有用的,适合随处初始化位置,设定完configuration之后就要导入物体了,需要使用RigidObject类进行导入,类似之前的.func()。

cone_cfg = RigidObjectCfg(
        prim_path="/World/Origin.*/Cone",
        spawn=sim_utils.ConeCfg(
            radius=0.1,
            height=0.2,
            rigid_props=sim_utils.RigidBodyPropertiesCfg(),
            mass_props=sim_utils.MassPropertiesCfg(mass=1.0),
            collision_props=sim_utils.CollisionPropertiesCfg(),
            visual_material=sim_utils.PreviewSurfaceCfg(diffuse_color=(0.0, 1.0, 0.0), metallic=0.2),
        ),
        init_state=RigidObjectCfg.InitialStateCfg(),
    )
    cone_object = RigidObject(cfg=cone_cfg)

Tips

建议大家可以找源代码点进去看一下各个arguments,还有各种属性property的类,方便之后做domain randomization

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值