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 步进 推进仿真的单帧计算(包含渲染和物理更新)
相关推荐
RobotNow6 小时前
优秀的机器人厂商集中平台哪家效率高
机器人
搬砖者(视觉算法工程师)6 小时前
工具科普介绍之Spherasim:无人机与机器人开发领域的工具
机器人·无人机
鲁邦通物联网8 小时前
技术实战:基于电梯梯控产品融合算法构建高可用机器人梯控中间件
机器人·机器人梯控·agv梯控·机器人乘梯·机器人自主乘梯·agv机器人梯控
广州赛远21 小时前
IRB2400-16冲压机器人防护服清理污渍_避免误区与正确方法
机器人
qidun2101 天前
橙色机器人防护服防护作用有哪些-全面解析工业机器人防护服的核心价值
机器人
犀思云1 天前
企业总部网络全球化扩张:利用FusionWAN NaaS 破解“网络成本瓶颈”
网络·人工智能·机器人·智能仓储·专线
CelestialYuxin1 天前
【微论文】机器人第一性原理:技术演进的本构逻辑与实现路径
深度学习·机器人·硬件架构
Deepoch1 天前
自然交互+精准感知!Deepoc具身模型开发板让清洁机器人告别“盲扫”
人工智能·科技·机器人·半导体·清洁机器人·具身模型·deepoc
合力亿捷-小亿1 天前
2026年AI语音机器人测评推荐:复杂噪声环境下语义识别准确率对比分析
人工智能·机器人
h7ml1 天前
查券返利机器人的OCR识别集成:Java Tesseract+OpenCV优化图片验证码的自动解析方案
java·机器人·ocr