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 步进 推进仿真的单帧计算(包含渲染和物理更新)
相关推荐
TsingtaoAI18 小时前
脑控机器人项目交付|用意念指挥机器人,情绪交互与抓取功能全面实现
人工智能·ai·机器人·具身智能
AI_Auto19 小时前
工业与AI融合应用 | 四个实战用例!机械装备行业AI+数字孪生+机器人落地全景
大数据·人工智能·机器人·制造
数智工坊21 小时前
RehearseVLA深度解析:基于物理一致世界模型的VLA强化学习后训练框架
人工智能·深度学习·3d·机器人
雪岭飞花21 小时前
Zoox驶入火灾现场召回,特斯拉Robotaxi清洁机器人,享道上汽定制车明年发布 | Robotaxi周报
机器人
机器人零零壹1 天前
越擎科技专访 | iRobotCAM机器人离线编程软件如何破解大尺寸机器人3D打印落地难题,让复杂制造走向智能化
科技·3d·机器人·机器人仿真·3d打印·增材制造·irobotcam
国科安芯1 天前
空间机电一体化:AS32S601型抗辐射MCU在卫星推进与执行机构控制中的关键技术研究
单片机·嵌入式硬件·物联网·机器人·云计算
Zeku1 天前
10.ROS2-URDF机器人建模-从概念到开发与调试全记录
机器人·ros2·linux驱动开发·linux应用开发
科技新芯2 天前
中坚科技亮相2026 WAIC:人形机器人ZERO首秀,重载四足机狗落地应用
科技·机器人
人生百态,人生如梦2 天前
情感交互仿生人从技术到落地构想3——技术交流贴(2026.7)
人工智能·机器学习·人机交互·交互·具身智能
QYR-分析2 天前
智能化自动化浪潮下,机器人末端执行器行业赛道发展全景解析
人工智能·机器人·自动化