Post

NVIDIA Isaac Sim - Import Robot

Robot Information

나는 실제 차량과 같은 모델을 사용하기 위해 Quanser사의 QCar라는 모델을 사용하였다. QCar의 사진은 아래와 같고, 내가 가지고 있는 모델은 WeGo라는 로봇 회사의 WeCAR2.0이고 이 모델과 Qcar가 상당히 유사하기 때문에 이 로봇을 사용하여 학습을 진행해보려 한다. 왼쪽은 QCar이고, 오른쪽은 내가 가지고 있는 WeCAR2.0모델이다.

car

내가 가진 로봇의 스펙은 아래와 같다.

SpecNumber
크기525 x 305 x 315 mm
무게7kg
제어기NUC PC
최대속도 (no-load)약 2.5 m/s (최대 19980 RPM)
사용시간약 1시간
배터리제어기 :​ Li-ion 16.8V 14000mAh, 구동부 : Li-Pol 3S1P 1.1V 15000mAh
모터Velineon ® 3500 브러시리스
구동방식샤프트 구동, 다이렉트 드라이브 4WD
센서360° 2D 라이다, 스테레오 카메라
설치환경Ubuntu 18.04 / ROS Melodic
지원언어ROS

사실 중요한 스펙은 구동방식이라고 생각이 된다. 배터리야 구동하다 멈추면 다시 충전시키면 되지만, 바퀴의 작동 방식은 로봇에 따라서 4-differential wheel, ackermann system 이런식으로 나뉘기 때문에 조작하는 방식도 달라져야한다고 생각한다. 예를 들어, 4-differential wheel의 경우에 제자리 회전이 가능하고 바퀴의 종류에 따라서도 달라진다 (Mecanum Wheel, …) 근데 ackermann system의 경우에는 우리가 알고 있는 일반적인 자동차와 구동방식이 같다. 물론 4륜 이런 방식이런건 모터에 따라서 달라질 것이다.

결론은 내가 조작하려는 차량은 ackermann system을 가지고 있는 차량이다.

1. Isaac Sim Import

첫번째 step은 Isaac Sim으로 내가 원하는 로봇을 불러와야한다. 그러기 위해서 준비물은 아래와 같다. 내가 현재 사용하고 있는 Isaac Sim 버전은 2023.1.1 버전이기 때문에 참고하면 된다. Isaac Sim에서 쓸 것이 아니라면 빛과 같은 속도로 이 페이지의 나가기 버튼을 누르길 바란다.

  1. NVIDIA Isaac Sim (2023.1.1)
  2. Robot URDF or MJCF File

위의 2가지가 준비가 완료되었다면, 아래와 같이 Isaac Utils - Workflows - URDF Importer순서로 클릭해준다. import1

완료되었다면 아래와 같은 창을 맞이할 것이다.

import2

여기서부터는 설정이 매우 중요하다. 아래의 사항들을 설정하자.

  1. Fix Base Link: Defalult값은 체크가 되어 있을 것이다. 그런데 이 옵션은 로봇팔을 바닥에 고정시키거나, 차량에 고정시킬 때 쓰는 방법이다. 차량을 사용할 것이라면 체크를 해제하도록 하자.

  2. Joint Drive Type: 옵션을 열어보면 None, Position, Velocity가 있을 것이다. 로봇팔은 position control을 사용하고 차량은 velocity control을 사용하니 우리는 velocity control을 체크해주도록 하자.

  3. Joint Drive Strength: 이부분은 stiffness계수를 설정하는 값이다. 이것은 원하는 값으로 설정을 해보고 맞추면 되겠다. 나는 기본 값인 10000.00값을 그대로 사용하겠다.

  4. Joint Position Damping: 이부분은 Damping계수를 설정하는 값이다. 이것도 3번과 마찬가지고 원하는 값으로 설정하면 된다. 나는 이또한 기본 값인 1000.00으로 사용하겠다.

  5. Create Instanceable Asset: 이 옵션은 단순하게 차량을 한대만 불러올 것이면 상관 없지만 만약 이후에 여러대의 같은 차량을 불러와서 사용할 것이라면 체크해주도록 하자.

  6. Input FIle: 여기는 우리가 불러오고자 하는 URDF 파일을 넣으면 된다. 참고로 URDF내의 mesh나 collision 파일의 위치가 맞지 않으면 불러와지지 않고 에러가 걸리니 신경써서 설정해주자.

  7. Output Directory: 이 옵션은 우리가 불러온 URDF 파일을 USD 옵션으로 저장해주는 파일이다. 기본적으로 Isaac Sim은 URDF를 계속 불러오는 것보다, USD 파일을 통해서 로봇을 불러오는게 훨 빠르다.

위와 같은 step이 완료되었다면, 이제 제일 아래 있는 IMPORT 버튼을 눌러보자.

버튼을 누르면 아래와 같은 아름다운 자태의 로봇이 짠하고 나타난다.

import3

이것으로 첫번째 단계인 로봇 소환(?)을 끝냈고, 다음 포스트에는 불러온 로봇을 ackermann steering 시스템으로 동작하는 코드 또는 그래프를 만들어보자.

This post is licensed under CC BY 4.0 by the author.