실제 로봇 제어
이 장에서는 실제 Indy와 함께 ROS를 실행하는 방법에 대해 설명합니다.
패키지 구성
├── indy_driver
├── indy_driver ── indy_driver_dcp.py
└── launch ── indy_bringup.launch
├── indy_moveit
├── ...
└── launch ── moveit_indy.launch
실제 로봇 제어를 위해 indy_driver와 indy_moveit 두 패키지를 사용합니다. indy_driver 패키지는 ROS1과 Indy 로봇을 연결하는 통신 스크립트를 포함하고 있으며, indy_moveit은 Indy 로봇과 함께 moveit을 사용하기 위한 moveit 구성을 포함합니다.
실행
아래 명령어 실행을 통해 Indy7 로봇 모델의 드라이버를 실행하여 ROS1을 통해 실제 로봇을 제어할 수 있도록 합니다.
indy_ip
: 로봇 컨트롤박스의 IP 주소를 입력합니다 (192.168.xxx.xxx는 예시입니다).
Moveit 과 함께 Indy 로봇을 시작하려면 아래와 같이 RViz 없이 먼저 indy_bringup
을 실행하십시오.
이후 새 터미널을 열고 아래와 같이 Moveit을 실행하십시오.
spacenave
를 통해 실제 로봇에서 Servoing 기능을 사용하는 것은 시뮬레이션과 동일합니다.
새 터미널을 열고 키보드 노드를 사용하여 Servoing 모드를 수행할 수 있습니다.
is_sim
: 실제 로봇에서는 false로 설정합니다.- ↑, ↓ : x 방향 작업공간 조그 이동
- ←, → : y 방향 작업공간 조그 이동
- . , ; : z 방향 작업공간 조그 이동
- N, M, ,: 작업공간 UVW 이동
- W, E: 전역좌표계 (W) 및 툴좌표계 (E) 기준 작업공간 조그모션 전환
- 1, 2, 3, 4, 5, 6, 7: 관절공간 조그모션
- R: 조그방향 전환
- -, +: 관절공간 모션 속도 조절
- 9, 0: 작업공간 모션 속도 조절
- Q: 종료
- H: 홈 위치 이동
- Z: 제로 위치 이동
- S: 복구 (Recover)
- P: Teleoperation 모드 중지