코딩 및 기타

[isaac sim] [node] on playback tick , ros2 context , subscribe twist , scale to stage units

정지홍 2026. 2. 26. 17:31

 

on playback tick

  • 시뮬레이터가 play일때, 매 틱마다 이벤트를 쏴주는 트리거 노드이다.
    • 즉, "현재 시뮬레이터가 돌아가고 있으니, 매 스텝/프레임마다 해당 그래프 로직을 실행해라"하는 시계(클럭)역할이다.
    • 단, paused or stopped라면 tick이 안나감.
  • Tick : 매 틱마다 실행 펄스가 나간다. 여기서 다른 노드들의 실행입력을 연결해서, "매 틱마다 실행"시키는 용도.
  • Delta Seconds : 이전 틱부터 이번 틱까지 경과 시간.
  • Frame : 프레임(틱) 카운트(정수).... 즉, 몇 번째 틱인지
  • Time : 타임라인의 누적 시간(초). 즉, 현재 시각 

 


Ros2 Context

  • isaac sim안에서 ros2를 사용하기 위한 "Ros 2 통신 컨텍스트(rcl/rclcpp context)"를 만들어서, 다른 Ros 2 노드들이 공유하게 해주는 초기화 노드이다.
  • Domain Id : 입력이다. Ros 2 Domain ID를 지정한다.... 이걸로 같은 Domain ID끼리 서로 찾을 수 있으며 통신을 할수 있다.
  • Use Domain ID Env Var : ROS_DOMAIN_ID 환경변수를 우선적으로 쓸지의 여부이다. 이를 킨ㄷ면, 시스템 환경에서 설정한 ROS_DOMAIN_ID를 사용한다. 만약 끄면 위의 설정입력값을 사용한다.
  • Context : 만들어진 Ros2 context핸들이다.  즉, ROS2에서 통신을 하기 위한 실행환경/핸들이다.

 

 

Ros2 Subscribe Twist

  • Ros2에서 geometry_msgs/msg/Twist 토픽을 subscribe해서, 메시지 안의 Linear Velocity ( 선속도 x,y,z )와 Angular Velocity(각속도 x , y, z)를 뽑아준다.
  • 보통 /cmd_vel같은 토픽을 받아서, 로봇에 속도 명령을 적용할때 사용함.
  • context : Ros2 Context의 출력을 연결. 
  • topic name : 구독할 토픽 이름
  •  

 


 

scale to/from stage units

  • 길이/위치/속도 같은 "단위가 있는 수치"를 USC 스테이지의 단위(stage units) 기준으로 스케일 변환해주는 노드다.
  • isaac sim에서는 stage가 1 unit = 1m일수도 있고 1unit=1cm일수도 있다.
    따라서 외부에서 들어오는 값을 스테이지 단위로 맞추거나 or 반대로 stage값을 미터 기준으로 바꿀때 사용.
  • value ( 입력 ) : 변환할 값. ( 스칼라/벡터 일수 있음 )
  • conversion ( 입력 ) : 변환 방향 기준 선택....
    • to stage units : 미터를 스테이지 유닛으로
    • from stage units : 스테이지 유닛을 미터로
  • Result : 변환된 값