import sys import numpy as np import argparse from typing importOptional
# Isaac Sim 相关依赖库 from isaacsim import SimulationApp simulation_app = SimulationApp({"headless": False}) # start the simulation app, with GUI open from isaacsim.core.api import World from isaacsim.core.prims import Articulation from isaacsim.core.utils.stage import add_reference_to_stage, get_stage_units from isaacsim.core.utils.viewports import set_camera_view from isaacsim.storage.native import get_assets_root_path from isaacsim.robot_motion.motion_generation import ArticulationKinematicsSolver, LulaKinematicsSolver from isaacsim.core.utils.numpy.rotations import euler_angles_to_quats
from isaacsim.core.utils.types import ArticulationAction from isaacsim.robot.manipulators.manipulators import SingleManipulator import isaacsim.core.api.tasks as tasks
# 4. 控制机器人运动 while simulation_app.is_running(): world.step(render=True) if world.is_playing(): if world.current_time_step_index == 0: world.reset() actions, succ = controller.compute_inverse_kinematics( target_position=np.array([0.5, 0, 0.5]), target_orientation=euler_angles_to_quats(np.array([0, 0, 0])), ) if succ: articulation_controller.apply_action(actions) else: print("IK did not converge to a solution. No action is being taken.") simulation_app.close()