C:\\Users\\( )\\AppData\\Local\\ov\\pkg\\isaac_sim-2022.1.1\\standalone_examples\\api\\omni.isaac.( )
위치 폴더에서 스크립트(.py) 작성
폴더는 상관 없는 듯 함
C:/Users/kimhj/AppData/Local/ov/pkg/isaac_sim-2022.1.1
위치에서
python standalone_examples/api/omni.isaac.( )/(파일 이름).py
명령어를 돌리면 실행 (윈도우 cmd 기준)
from omni.isaac.kit import SimulationApp
simulation_app = SimulationApp({"headless": False})
from omni.isaac.core import World
from tasks.follow_target import FollowTarget
import numpy as np
from ik_solver import KinematicsSolver
import carb
my_world = World(stage_units_in_meters=1.0)
#Initialize the Follow Target task with a target location for the cube to be followed by the end effector
my_task = FollowTarget(name="denso_follow_target", target_position=np.array([0.5, 0.4, 1.4]))
my_world.add_task(my_task)
my_world.reset()
task_params = my_world.get_task("denso_follow_target").get_params()
target_name = task_params["target_name"]["value"]
denso_name = task_params["robot_name"]["value"]
my_denso = my_world.scene.get_object(denso_name)
#initialize the controller
my_controller = KinematicsSolver(my_denso)
articulation_controller = my_denso.get_articulation_controller()
while simulation_app.is_running():
my_world.step(render=True)
if my_world.is_playing():
if my_world.current_time_step_index == 0:
my_world.reset()
observations = my_world.get_observations()
actions, succ = my_controller.compute_inverse_kinematics(
target_position=observations[target_name]["position"],
target_orientation=observations[target_name]["orientation"],
)
if succ:
articulation_controller.apply_action(actions)
else:
carb.log_warn("IK did not converge to a solution. No action is being taken.")
simulation_app.close()
앱이 실행되는 동안 while 함수가 끊임없이 수행