===[Device Setting]====================================
-iAHRS는 USB로 연결되는데 상황에 따라서 인식되는 ttyUSB 포트의 번호가 바뀔 수 있음으로 장치 이름을 고정해서 사용할게요.
- ttyUSB권한 설정.
USB Port에 대한 권한은 ‘sudo chmod 777 ttyUSB0’ 명령어를 통해서 줄 수 있지만, 매번 설정이 번거로우므로 dialout그룹에 추가하는 방법을 이용.
sudo usermod -a -G dialout $USER
- ttyUSB rule의 설정을 위한 심볼릭 링크 ttyUSBx만들기
- 심볼릭 링크를 만드는데 필요한 정보는 아래 3가지.
Vender ID
Product ID
Serial Number
- 위의 3가지 정보는 아래 2개의 명령어로 찾을 수 있어요.
$ lsusb
$ udevadm info -a /dev/ttyUSB0 | grep '{serial}' <-- 저는 처음에 iAHRS가 ttyUSB0으로 잡혀서 이렇게 했어요. 만약 번호가 다르면 그 번호를 입력하세요.
위에 출력된 정보가 USB to Serial Device의 Serial Number이며, 해당 번호는 제품별로 다를 수도 있습니다.
- 알아낸 정보를 이용한 .rules file생성.
‘IMU.rules’ 파일을 ‘/etc/udev/rules.d’ 경로에 생성한 후에 해당 파일의 내용을 아래와 같이 작성한 후 저장.
KERNEL=="ttyUSB*", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015", ATTRS{serial}=="DM03L0C6", MODE:="0666", GROUP:="dialout", SYMLINK+="IMU"
- udev 재시작 명령어를 호출한 후에 PC의 재 시작을 해주어야 적용 됩니다.
$ sudo service udev restart
- 심볼릭 등록의 확인. (아래와 같은 명령어를 호출하면 위의 그림처럼 ttyUSB가 IMU로 고정된 것을 볼 수 있어요 .)
$ ll /dev/
===[사용하기]====================================
- roslaunch 하기
$ roslaunch iahrs_driver iahrs_driver.launch
- imu topic확인하기
- rviz를 사용하여 확인하기
$ rviz
- rviz화면을 아래와 같이 설정
- 동작에 대한 영상은 바로 아래~~~
- 사용 가능한 서비스 (Input: 없음)
-
all_data_reset_cmd : 모든 보정 데이터 초기화(c=9)
-
euler_angle_init_cmd: 현재 Euler angle을 0위치로 설정(c=5)
-
euler_angle_reset_cmd: Euler angle초기화 (c=7)
-
pose_velocity_reset_cmd: 위치와 속도 초기화 (c=8)
-
reboot_sensor_cmd: 센서 재시작(c=99)