ROS 설치는 ROS의 위키페이지에 잘 나타나 있지만, 혹시 이 글을 읽는 분들이 ROS의 설치 부터 시작해야 한다면 ROS Melodic 설치를 안내하고 있는 페이지에서 부터 시작하기를 권합니다.
ROS 버전은 Ubuntu 18.04에서 설치된 ROS Melodic 버전을 기준으로 하고, 빌더는 크게 관계는 없지만, catkin-tools를 사용하고 있다고 가정하겠습니다. catkin-tools를 포함하여 설치를 안내하고 있는 페이지는 방금 언급한 ROS Melodic 설치를 안내하고 있는 페이지 입니다.
다음 과정은 catkin_ws 폴더가 사용자의 home폴더 안에 설치된 것을 기준으로 작성하였습니다.
omo_r1 pkg는 ydlidar를 탑재하고 있는데 해당 패키지를 포함하여 omo_r1 패키지는 github에서 받을 수 있습니다.
먼저 워크스페이스를 catkin_ws라고 한다면 catkin_ws안에 src 폴더로 이동해서 git clone 명령으로 omo_r1과 ydlidar를 받습니다.
소스 코드 빌드
소스 코드를 모두 받은 후에 워크스페이스(catkin_ws)로 이동해서 위 그림과 명령에 나타난 것 처럼 catkin build 명령으로 빌드를 수행합니다.
USB 시리얼 장치 설치
R1로봇은 PC와 USB-to-Serial(USB시리얼) 포트를 통해 연결됩니다.
Ubuntu 리눅스에서 USB시리얼 장치는 /dev/ttyUSB0, /dev/ttyUSB1 따위로 등록되는데,
로봇 구동명령을 실행할때 이 경로를 매번 설정해주어야하는 번거로움이 있습니다.
다음과정을 통해 USB시리얼 장치를 등록하면 자동으로 /dev/ttyMotor 로 설정됩니다.
$ cd ~/catkin_ws/src/omo_r1/omo_r1_bringup/scripts/
$ sudo ./create_udev_rules.sh
[sudo] password for cto:
This script copies OMO R1 udev rules to /etc/udev/rules.d/
Motor Driver (USB Serial from RS232) : /dev/ttyUSBx to /dev/ttyMotor :
98-omo-r1.rules created
OpenCR IMU (USB Serial) : /dev/ttyACMx to /dev/imu :
99-opencr-cdc.rules created
YD LiDAR (USB Serial) : /dev/ttyUSBx to /dev/ttyLiDAR :
ydlidar.rules created
Reload rules
$ lsusb
...
Bus 001 Device 004: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
...
$ sudo nano /etc/udev/rules.d/98-omo-r1.rules
$ sudo udevadm control --reload-rules
$ sudo udevadm trigger