현재 ISSAC 기반 개발을 통해 VLM 및 멀티모달 기술을 PiPER 로봇에 적용하는 작업을 진행하고 있습니다. 이와 관련하여 개발 지원이나 스크립트 제공 등의 도움을 받을 수 있을지 문의드립니다.
https://github.com/agilexrobotics/piper_isaac_sim
agliex측에서 제공하는 해당 링크 확인해주시면 감사하겠습니다.
확인해보았는데, 제품의 urdf 파일만 존재합니다.
혹시 다른 스크립트나 앞서 말한 연구에 도움이 될 요소들을 얻을 수 있을까요?
piper_isaac_sim/usd/piper_description.usd 파일을 이용해보시기 바랍니다.
USD(Universal Scene Description) 파일이 Isaac Sim의 ROS(Robot Operating System) 연동의 핵심 연결 고리 역할을 합니다.
USD 파일 자체는 ROS와의 직접적인 통신 프로토콜은 아니지만, Isaac Sim 내에서 ROS 브릿지를 통해 로봇 시뮬레이션 데이터를 ROS 환경과 주고받을 때 USD가 로봇의 "상태"와 "환경"을 정의하는 데 사용됩니다.
Isaac Sim에서 USD와 ROS의 연동 방식
Isaac Sim은 ROS/ROS 2 브릿지 (Bridge) 기능을 내장하고 있어, 시뮬레이션과 ROS 네트워크 간의 통신을 담당합니다.
1. USD의 역할 (로봇 모델 정의)
-
로봇 모델 및 환경 정의: USD 파일은 시뮬레이션에서 사용될 로봇의 3D 모델, 관절(Joints), 센서, 물리적 속성(질량, 관성) 및 환경의 배치를 완벽하게 정의합니다.
-
관절 제어: USD에 정의된 로봇의 관절 이름과 구조를 기반으로, ROS에서 보내는 **제어 명령어(예: 관절 각도)**가 시뮬레이션 내의 USD 로봇 모델에 정확하게 적용됩니다.
2. ROS 브릿지의 역할 (통신 중개)
-
ROS 토픽 매핑: Isaac Sim의 ROS 브릿지는 USD로 정의된 시뮬레이션 데이터를 ROS 토픽으로 변환하고, ROS에서 오는 명령을 시뮬레이션으로 전달하는 역할을 합니다.
-
Sim to ROS: 로봇의 현재 위치($/tf$), 센서 데이터($/scan$, $/camera/image_raw$), 관절 상태($/joint\_states$) 등을 USD 모델에서 읽어 ROS 토픽으로 발행합니다.
-
ROS to Sim: ROS에서 생성된 **이동 명령($/cmd\_vel$)**이나 **관절 제어 명령($/joint\_command$)**을 수신하여 USD 모델의 해당 요소에 적용합니다.
-
요약
USD 파일은 로봇 시뮬레이션 자체를 가능하게 하는 ‘청사진’ 역할을 하며, 이 청사진 위에 정의된 로봇을 ROS 브릿지라는 **‘통신 장치’**를 통해 ROS 환경과 연결하는 것입니다.
따라서 USD 파일을 통해 Isaac Sim에서 로봇을 성공적으로 로드했다면, ROS 브릿지를 활성화하고 설정함으로써 ROS와의 연동이 가능해집니다.
PIPER에 부착하는 d435i 브라켓
도면이나 스케치를 받을 수 있을까요? 기관제출용으로 필요합니다
