로봇 시뮬레이션
이 장에서는 Gazebo 시뮬레이터를 사용하여 시뮬레이션 환경에서 Indy 로봇 모델을 실행하는 명령을 제공합니다. 이는 물리적 로봇이 필요 없이 로봇 응용 프로그램을 테스트하고 개발하는 데 유용할 수 있습니다.
패키지 구성
├── indy_gazebo
└── indy_gazebo.launch.py
├── indy_moveit
├── ...
└── launch ── indy_moveit_gazebo.launch.py
이 섹션은 indy_gazebo와 indy_moveit 두 패키지를 사용합니다. indy_gazebo 패키지는 시뮬레이션 로봇에 대한 설명을 포함하며, indy_moveit은 시뮬레이션 로봇과 함께 moveit을 사용하기 위한 moveit 구성을 포함합니다.
실행
아래 명령을 통해 Indy7 로봇 모델이 로드된 Gazebo 시뮬레이터를 실행합니다.
명령어를 실행하면 아래와 같이 Gazebo 창과 Rviz 창이 실행됩니다.
ROS2 Humble
ROS2 Jazzy
Gazebo 시뮬레이터에서 Moveit 사용하게 위해 아래 명령어를 입력하십시오.
ROS2 Humble
ROS2 Jazzy
아래 그림에서 Goal State를 선택하면, 2개의 사전 정의된 목표(HomePos, ZeroPos)가 있습니다. Plan & Execute 버튼을 누르면 로봇이 목표 위치로 이동합니다.
Servoing 모드에서는 조이스틱(엑스박스 원 S 컨트롤러로 테스트됨)이나 키보드 또는 다른 장치를 사용하여 로봇을 제어할 수 있습니다.
먼저 장치를 PC에 연결하고 필요한 경우 드라이버를 설치하십시오 (키보드나 엑스박스 컨트롤러는 드라이버 설치가 필요 없습니다).
다음 명령을 통해 Indy7의 Gazebo 시뮬레이터를 실행하십시오.
키보드를 이용한 Servoing 모드
아래 명령어를 통해 서보 제어를 위한 컨트롤러를 시작하십시오.
- ↑, ↓ : x 방향 작업공간 조그 이동
- ←, → : y 방향 작업공간 조그 이동
- . , ; : z 방향 작업공간 조그 이동
- N, M, ,: 작업공간 UVW 이동
- W, E: 전역좌표계 (W) 및 툴좌표계 (E) 기준 작업공간 조그모션 전환
- 1, 2, 3, 4, 5, 6, 7: 관절공간 조그모션
- R: 조그방향 전환
- -, +: 관절공간 모션 속도 조절
- 9, 0: 작업공간 모션 속도 조절
- Q: 종료
조이 컨트롤러 (Xbox One S pad)를 이용한 Servoing 모드
아래 명령어를 통해 서보 제어를 위한 컨트롤러를 시작하십시오.
- D-pad : 1축, 2축 관절 모션 제어
- Y, A : 3축 관절 모션 제어
- B, X : 4축 관절 모션 제어
- LS , RS, LB, RB, LT, RT : 작업공간 TCP 모션 제어