Isaac Sim机器人基本操作及关键词汇英中文对照

一、机器人基本操作(三种实现方式)

Isaac Sim提供GUI、Extension脚本、Standalone Python三种核心操作方式,覆盖从可视化调试到自动化运行的全场景需求,以下以Franka Emika Panda机械臂为例,详细说明核心操作流程。

(一)GUI方式(可视化交互,适合快速调试)

1. 添加机器人到场景
  1. 新建场景:点击顶部菜单栏「File > New Stage」创建空白场景。
  2. 添加机器人:点击「Create > Robot > Franka Emika Panda Arm」,机械臂将自动加载到场景中。
2. 查看机器人关节属性
  1. 打开物理检查器:点击「Tools > Physics > Physics Inspector」,左侧将弹出属性窗口。
  2. 选择目标机器人:在左侧窗口中选中「Franka」,将自动显示关节的上下限、默认位置等基础信息。
  3. 查看高级属性:点击属性窗口右上角的汉堡图标,可展开关节刚度(stiffness)、阻尼(damping)等参数。
  4. 参数修改与保存:修改参数后机器人会实时响应动作变化,点击绿色对勾可将修改设为默认值。
3. 控制机器人运动
  1. 生成控制图:点击「Tools > Robotics > Omnigraph Controllers > Joint Position」,打开控制器配置弹窗。
  2. 绑定机器人:在「Articulation Position Controller Inputs」弹窗中,为「Robot Prim」字段点击「Add」,选择「Franka」作为目标机器人,点击「OK」生成控制图。
  3. 启动仿真与调整关节:
    • 点击场景工具栏「Play」启动仿真。
    • 两种方式打开关节控制面板:在「Stage」树中选中「JointCommandArray」节点,或通过「Window > Graph Editors > Action Graph」打开图形编辑器,选择生成的「Position_Controller」图。
    • 在属性面板中,滑动或输入以「input*」开头的参数(对应机器人从基座开始的各个关节),即可控制机械臂运动。

(二)Extension脚本方式(API编程,适合场景定制)

1. 添加机器人到场景
  1. 打开脚本编辑器:在Isaac Sim界面中打开「Script Editor」。
  2. 运行以下代码(自动加载Franka机械臂并设置初始位置):
python 复制代码
import carb
from isaacsim.core.prims import Articulation
from isaacsim.core.utils.stage import add_reference_to_stage
from isaacsim.storage.native import get_assets_root_path
import numpy as np

assets_root_path = get_assets_root_path()
if assets_root_path is None:
    carb.log_error("Could not find Isaac Sim assets folder")
usd_path = assets_root_path + "/Isaac/Robots/Franka/franka.usd"
prim_path = "/World/Arm"

add_reference_to_stage(usd_path=usd_path, prim_path=prim_path)
arm_handle = Articulation(prim_paths_expr=prim_path, name="Arm")
arm_handle.set_world_poses(positions=np.array([[0, -1, 0]]))  # 设置机械臂初始位置
2. 查看机器人关节信息
  1. 确保已完成「添加机器人」步骤(arm_handle已初始化)。
  2. 点击场景「Play」启动物理仿真,在脚本编辑器新建标签页,运行以下代码:
python 复制代码
# 获取关节数量
num_joints = arm_handle.num_joints
print("关节数量: ", num_joints)

# 获取关节名称
joint_names = arm_handle.joint_names
print("关节名称: ", joint_names)

# 获取关节运动范围限制
joint_limits = arm_handle.get_dof_limits()
print("关节限制: ", joint_limits)

# 获取当前关节位置
joint_positions = arm_handle.get_joint_positions()
print("关节位置: ", joint_positions)
  1. 实时打印关节状态(每帧更新):
python 复制代码
import asyncio
from isaacsim.core.api.simulation_context import SimulationContext

async def test():
    def print_state(dt):
        joint_positions = arm_handle.get_joint_positions()
        print("实时关节位置: ", joint_positions)
    simulation_context = SimulationContext()
    await simulation_context.initialize_simulation_context_async()
    await simulation_context.reset_async()
    simulation_context.add_physics_callback("printing_state", print_state)  # 添加物理回调

asyncio.ensure_future(test())
  1. 移除实时打印回调:
python 复制代码
simulation_context = SimulationContext()
simulation_context.remove_physics_callback("printing_state")
3. 控制机器人运动
  1. 启动仿真(点击「Play」),运行以下代码控制关节位置:
python 复制代码
# 设置关节到目标位置(随机姿态)
arm_handle.set_joint_positions([[-1.5, 0.0, 0.0, -1.5, 0.0, 1.5, 0.5, 0.04, 0.04]])

# 重置所有关节到初始位置(0角度)
arm_handle.set_joint_positions([[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]])
  1. 若需每帧发送控制指令,需将代码嵌入物理回调(参考「实时打印关节状态」的回调逻辑)。

(三)Standalone Python方式(独立运行,适合批量测试)

1. 运行独立脚本
  1. 定位脚本路径:Isaac Sim安装根目录下的standalone_examples/tutorials/getting_started_robot.py
  2. 打开终端,执行以下命令运行(需提前配置Isaac Sim环境):
    • Linux系统:./python.sh standalone_examples/tutorials/getting_started_robot.py
    • Windows系统:python.bat standalone_examples\tutorials\getting_started_robot.py
2. 核心脚本逻辑说明
  • 初始化仿真环境:通过SimulationApp启动仿真,支持GUI/无头模式(headless=False显示GUI)。
  • 场景管理:通过World对象统一控制物理渲染、对象管理。
  • 显式仿真步进:通过my_world.step()手动控制仿真帧推进,循环中可实现多阶段动作切换(如机械臂移动/复位、移动机器人启停)。
  • 示例逻辑:脚本运行4个周期,交替控制机械臂和移动机器人的运动状态,最后一个周期实时打印移动机器人关节位置。

二、关键词汇英中文对照

英文术语 中文翻译 说明
Stage 场景/舞台 承载所有仿真对象(机器人、环境、传感器)的容器
Robot Prim 机器人基元 机器人在场景中的核心对象标识,用于绑定控制逻辑
Articulation 关节链/ articulated机器人 用于管理多关节机器人的核心类,提供关节控制API
Joint 关节 机器人可运动的连接部件(如旋转关节、移动关节)
Joint Position 关节位置 关节的角度或位移状态(核心控制参数)
Joint Velocity 关节速度 关节运动的角速度或线速度
Joint Effort 关节力矩 驱动关节运动的力或力矩
DOF (Degree of Freedom) 自由度 机器人独立运动的维度(Franka机械臂通常为9个自由度)
Joint Limits 关节限制 关节运动的上下边界(如角度范围、位移范围)
Physics Inspector 物理检查器 可视化查看/修改机器人物理属性的工具
OmniGraph 全能图 Isaac Sim可视化编程工具,用于搭建控制逻辑
Action Graph 动作图 OmniGraph的核心类型,用于编辑机器人控制流程
JointCommandArray 关节指令数组 存储所有关节控制指令的节点(GUI方式控制核心)
SimulationContext 仿真上下文 管理仿真初始化、重置、回调的核心类
Physics Callback 物理回调 每帧物理计算后执行的自定义函数(用于实时控制/数据打印)
Standalone Python 独立Python模式 脱离Isaac Sim GUI,通过脚本独立启动仿真的运行方式
Extension 扩展模式 在Isaac Sim GUI内通过脚本编辑器运行代码的模式
USD (Universal Scene Description) 通用场景描述文件 存储机器人模型、场景布局的标准格式(Franka模型文件为franka.usd)
Prim Path 基元路径 场景中对象的唯一标识路径(如/World/Arm
Set Joint Positions 设置关节位置 控制机器人关节到目标姿态的核心API
Get Joint Positions 获取关节位置 读取机器人当前关节状态的核心API
Stiffness 刚度 关节抵抗形变的特性(影响运动平滑度)
Damping 阻尼 关节运动的阻力(用于减少震荡)
SimulationApp 仿真应用 独立模式下启动Isaac Sim仿真的入口类
World 世界对象 独立模式下管理场景、物理、渲染的核心对象
Step 步进 推进仿真的单帧计算(包含渲染和物理更新)
相关推荐
移远通信17 小时前
移远通信×古月居:AI算力模组加持,OriginMan机器人焕新升级
人工智能·ai·机器人·移远通信
捷米研发三部17 小时前
自动化生产线中AB PLC通过协议转换网关和DeviceNet协议的机器人进行通讯案例
网络·机器人·自动化
大力财经18 小时前
耐士劳发布首款融合星基RTK、AI视觉与激光雷达割草机器人
人工智能·机器人
无我198718 小时前
口碑好的养殖厂机器人清淤施工服务商
机器人
RPA机器人就选八爪鱼18 小时前
RPA财务机器人选型攻略:5步搭建高性价比自动化体系
大数据·人工智能·机器人·自动化·rpa
gxdtgsy18 小时前
电力巡检机器人国内外厂商深度解析:技术革新驱动智能运维新方向
机器人
datamonday18 小时前
[EAI-037] π0.6* 基于RECAP方法与优势调节的自进化VLA机器人模型
人工智能·深度学习·机器人·具身智能·vla
捷米特网关模块通讯19 小时前
Ethernet/IP 转 DeviceNet工业PLC网关支撑AB PLC驱动机器人稳定运行
机器人·数据采集·罗克韦尔plc·工业自动化·网关模块·总线协议
沫儿笙19 小时前
库卡机器人气保焊智能节气阀
人工智能·机器人