ISAAC-SIM入门教程3——isaac机器人入门

和上一章节一样,机器人入门同样有三种方式,本文只演示第一种和第三种方式

一、基于GUI的方式

1.打开isaacsim,从新的stage开始(File > New Stage)然后通过Create > Robot > Franka Emika Panda Arm将机器人添加到场景中

2.检查机器人

使用Physics Inspector 检查机器人的关节属性。使用方式,先打开Physics Inspector(Tools > Physics > Physics Inspector

更改其中的值可以在stage上看到相应的改动情况

3.控制机器人

依次选择Tools -> Robotics -> Omnigraph Controllers -> Joint Position打开图形生成器:

在新出现的“Articulation Position Controller Inputs”弹出窗口中,单击“Robot Prim”字段的 “Add”,选择 Franka 作为 Target。

点击play开始模拟,在stage树中打开JointCommandArray的属性面板,改变属性可以看到关节的运动:

二、基于python的方式

在解压目录下运行:

./python.sh standalone_examples/tutorials/getting_started_robot.py

运行结果:

代码关键部分:

    for i in range(4):
        print("running cycle: ", i)
        if i == 1 or i == 3:
            print("moving")
            # move the arm
            arm.set_joint_positions([[-1.5, 0.0, 0.0, -1.5, 0.0, 1.5, 0.5, 0.04, 0.04]])
            # move the car
            car.set_joint_velocities([[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]])
        if i == 2:
            print("stopping")
            # reset the arm
            arm.set_joint_positions([[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]])
            # stop the car
            car.set_joint_velocities([[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]])

        for j in range(100):
            # step the simulation, both rendering and physics
            my_world.step(render=True)
            # print the joint positions of the car at every physics step
            if i == 3:
                car_joint_positions = car.get_joint_positions()
                print("car joint positions:", car_joint_positions)

代码运行四个周期,在每个周期中,机械臂和汽车将移动或停止移动。汽车的关节位置将在最后一个周期的每个物理步骤中打印。

### DexGraspNet 在 Isaac Sim 中的应用 DexGraspNet 是一种基于深度学习的方法,用于预测物体的抓取姿态。它通过结合视觉输入和物理特性来估计最佳的机器人手部配置[^1]。Isaac Sim 提供了一个强大的仿真环境,支持复杂的物理模拟以及机器人的训练与测试。 #### 使用 DexGraspNet 的基本流程 在 Isaac Sim 中集成 DexGraspNet 需要完成以下几个方面的工作: 1. **数据准备** 数据集对于 DexGraspNet 至关重要。通常需要大量的标注好的抓取样本作为模型训练的基础。这些数据可以来自公开的数据集或者自定义采集。如果使用的是 NVIDIA 提供的相关工具链,则可能已经包含了预处理过的数据集[^2]。 2. **模型加载与部署** 可以利用 PyTorch 或 TensorFlow 加载预先训练好的 DexGraspNet 模型权重文件,并将其嵌入到 Isaac Sim 场景中运行推理过程。具体来说,在 Python 脚本里调用 `torch.load()` 函数读取 `.pth` 文件即可恢复网络参数[^3]。 ```python import torch model = YourModelClass() # 替换为实际类名 checkpoint = torch.load('path_to_checkpoint.pth') model.load_state_dict(checkpoint['state_dict']) ``` 3. **传感器设置** 在虚拟环境中布置摄像头和其他感知设备获取目标对象的姿态信息。这一步骤直接影响到后续算法性能表现的好坏程度。例如,RGB-D 图像能够提供丰富的几何结构特征给神经网络分析处理[^4]。 4. **交互逻辑编写** 完成上述准备工作之后,还需要设计具体的控制策略使得机械按照预期动作执行操作命令。这部分涉及到状态机转换、路径规划等内容[^5]。 #### 示例代码片段展示如何初始化并运用该技术框架的一部分功能模块: ```python from omni.isaac.gym import GymSimulator gym_sim = GymSimulator() def setup_scene(): gym_sim.create_env() add_camera_sensor() spawn_robot_and_object() setup_scene() run_grasping_experiment(dexgraspnet_model=model) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值