728x90
- USB Port 설정법
- 각 센서를 제작한 회사에서 지원하는 프로그램을 이용하여 윈도우에서 USB Port의 Serial을 변경
$ ls -al /dev/serial/by-id
- USB 장치에 부여된 이름 확인
(터미널 창 사진 추가)
$ lsusb
- 위 명령어를 USB를 꽃고 치고 빼고 쳐서 해당 usb port의 idVendor와 idProduct를 확인
- idVendor는 제품 회사의 ID, idProduct는 제품의 ID (서로 다른 센서의 이 두 ID가 겹치는 경우가 많음)
- 'Bus 001 Device 033'가 새로 생김
$ udevadm info -a /dev/ttyUSB0 | grep '{serial}'
- USB Port의 serial 번호를 확인
- 위의 경우 'DM03L0C6'
$ cd /etc/udev/rules.d
$ sudo gedit portset.rules
- /etc/udev/rules.d directory에서 usb port 설정 파일 생성(portset.rules)
KERNEL=="ttyUSB*", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="DM03L0C6",
MODE:="0666", GROUP:="dialout", SYMLINK+="ttyRS485"
- 위에서 확인한 내용들을 토대로 portset.rules 파일에 위 내용을 입력
- KERNEL은 kernel의 이름으로, device의 kernel 이름과 일치할 때 작업 진행
- SYMLINK+=에 장치에 부여할 고유 이름 설정
- 위의 경우 RS485 to USB의 port를 설정하는 것이므로 이름을 'ttyRS485'로 변경
$ sudo service udev reload
$ sudo service udev restart
- 변경 사항을 적용하기 위해 udev를 재로드 후 재시작
$ cd ~/catkin_ws/src/md/src
$ sudo gedit com.cpp
- RS485 USB를 사용하는 package의 통신 설정 파일으로 이동해(com.cpp) port 변경사항을 작성
$ ll /dev/
- 변경 사항 적용 여부 확인
- 위 명령어든 'dev'라는 이름이 붙은 모든 이름들을 불러옴
$ sudo ls -l /dev/tty*
- 개별로 확인 가능
- 위처럼 USB의 연결 순서에 맞게 심볼릭 링크가 변경됨을 확인할 수 있다
- 위는 ttyRS485의 원본이 ttyUSB0, 1임을 의미한다
- Product ID, Vendor ID, Serial Number가 모두 동일한 경우
$ udevadm info /dev/ttyUSB0
$ udevadm info /dev/ttyUSB1
- 각 device에 대한 좀 더 자세한 정보를 확인
- 위 결과 중 port의 'ID_PATH'를 확인하여 udev 파일에 입력
- 'ID_PATH'는 현재 device가 꽃혀있는 USB port에 대응되는 값. 따라서 위 값 설정 후 device 연결 port를 변경하면 안됨
(udev 사진 추가. 아래 사진 수정)
- 혹은 Bus, Device 정보를 통해 생성 가능
KERNEL=="ttyUSB[0-9]", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", ATTRS{busnum}=="1",
ATTRS{devnum} =="5", MODE:="0666", GROUP:="dialout", SYMLINK+="ttyIMU"
KERNEL=="ttyUSB[0-9]", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", ATTRS{busnum}=="1",
ATTRS{devnum} =="6", MODE:="0666", GROUP:="dialout", SYMLINK+="ttyRPLidar"
- 위처럼 udev의 설정을 하나씩 알아내는 것 대신 제공된 script 파일을 실행시켜서 설정을 간단히 수행할 수 있음
$ cd ~/catkin_ws/src/rplidar_ros/scripts
- 위 directory로 이동 후 create_udev_rules.sh 파일 확인
(파일 사진 추가)
- etc/udev/rules.d 로 복사될 rplidar.rules 파일 확인
(파일 사진 추가)
참고자료 : https://github.com/wookbin/iahrs_driver
'Project > RIS' 카테고리의 다른 글
[RIS] 1/5 (__attribute, stdint.h, ros::Timer) (0) | 2023.01.06 |
---|---|
[RIS] 모터 드라이버(MD 200T) 관련 문제점 (12/15 ~ 1/10. 해결) (7) | 2023.01.03 |
[RIS] 12/26 (MDAS) (0) | 2022.12.26 |
[RIS] 12/5 (RealSense, TF) (0) | 2022.12.05 |
[RIS] 12/3 (각종 오류) (0) | 2022.12.03 |