OMOROBOT
  • Home
  • Manual
    • OMO R1
      • 조종기 사용법
      • ROS 구동하기
        • ROS pkg install
        • omo_r1_bringup 패키지
        • omo_r1_gazebo 패키지
        • ROS 원격 구동
        • SLAM 네비게이션
    • OMO R1mini
      • 로봇 살펴보기
      • 로봇 조립하기
      • 로봇 ON/OFF
      • 충전하기
      • 통신 명령표
      • Protocol Test Program
      • 시리얼 통신으로 로봇 다루기
      • Demonstrator GUI
      • ESP12보드
        • ESP12와 PC의 연결
      • R1mini PRO
        • Jetson nano 설치
      • ROS를 이용한 제어
        • ROS1 Melodic
          • omo_r1mini 패키지 설치
          • omo_r1mini 패키지 소개
          • 원격 접속
          • 원격으로 로봇 다루기
          • UDEV 설정
          • Camera 다루기
          • Lidar 다루기
          • rviz에 로봇 띄우기
          • Jupyter 설정
          • Jupyter 다루기
          • r1mini_gui_teleop 으로 로봇 다루기
            • 설치하기
            • 사용하기
          • SLAM 해보기
          • SLAM 해보기2
          • YOLO 설치하기
            • YOLO 설치 Error 해결방법
          • YOLO 사용하기
          • HLDS Hitachi-LG HLS-LFCD_LDS 설정
          • ----- Q&A -----
        • ROS2 Foxy
          • ROS2 설치하기 Ubuntu 20.04
          • Workspace 설치하기
          • ROS2 설치하기 (Jetson nano)
          • omo-r1mini-foxy 패키지 소개
          • Teleop 명령으로 조종하기
          • SLAM 해보기
          • SLAM 하기 - Mapping
          • SLAM 하기 - Navigation
      • [베타 버전] DC 컨버터 연결
Powered by GitBook
On this page
  • ROS 설치
  • Dependency Install
  • Package Install
  • 소스코드 받기
  • 소스 코드 빌드
  • USB 시리얼 장치 설치
  • USB 시리얼 문제 해결
  1. Manual
  2. OMO R1
  3. ROS 구동하기

ROS pkg install

PreviousROS 구동하기Nextomo_r1_bringup 패키지

Last updated 3 years ago

ROS 설치

  • ROS 설치는 ROS의 위키페이지에 잘 나타나 있지만, 혹시 이 글을 읽는 분들이 ROS의 설치 부터 시작해야 한다면 에서 부터 시작하기를 권합니다.

  • ROS 버전은 Ubuntu 18.04에서 설치된 ROS Melodic 버전을 기준으로 하고, 빌더는 크게 관계는 없지만, catkin-tools를 사용하고 있다고 가정하겠습니다. catkin-tools를 포함하여 설치를 안내하고 있는 페이지는 방금 언급한 입니다.

  • 다음 과정은 catkin_ws 폴더가 사용자의 home폴더 안에 설치된 것을 기준으로 작성하였습니다.

  • ROS-melodic 버전에서 테스트되었습니다.

Dependency Install

$ sudo apt install -y ros-melodic-tf \
    ros-melodic-joy \
    ros-melodic-teleop-twist-joy \
    ros-melodic-teleop-twist-keyboard ros-melodic-laser-proc \
    ros-melodic-rgbd-launch ros-melodic-depthimage-to-laserscan \
    ros-melodic-rosserial-arduino ros-melodic-rosserial-python \
    ros-melodic-rosserial-server \
    ros-melodic-rosserial-client \
    ros-melodic-rosserial-msgs ros-melodic-amcl \
    ros-melodic-map-server \
    ros-melodic-move-base \
    ros-melodic-urdf \
    ros-melodic-xacro \
    ros-melodic-compressed-image-transport \
    ros-melodic-rqt-image-view \
    ros-melodic-gmapping \
    ros-melodic-navigation \
    ros-melodic-interactive-markers \
    ros-melodic-ar-track-alvar \
    ros-melodic-ar-track-alvar-msgs \
    ros-melodic-usb-cam
  • 위에 설치해야할 모듈들이 저희 omo_r1 pkg를 구동하는데 필요한 모듈들입니다. 이 중에는 이미 여러분들이 설치를 진행했을 수도 있는 모듈도 포함하고 있습니다.

Package Install

소스코드 받기

omo_r1 ROS 패키지는 아래 github 페이지에서 다운로드할 수 있습니다.

앞서 설치한 ROS catkin_ws 폴더에서 다음과 같이 입력하시면 됩니다.

$ cd ~/catkin_ws/src
$ git clone https://github.com/omorobot/omo_r1.git
$ git clone https://github.com/PinkWink/ydlidar.git
  • omo_r1 pkg는 ydlidar를 탑재하고 있는데 해당 패키지를 포함하여 omo_r1 패키지는 github에서 받을 수 있습니다.

  • 먼저 워크스페이스를 catkin_ws라고 한다면 catkin_ws안에 src 폴더로 이동해서 git clone 명령으로 omo_r1과 ydlidar를 받습니다.

소스 코드 빌드

$ cd ~/catkin_ws
$ catkin build
  • 소스 코드를 모두 받은 후에 워크스페이스(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

이렇게 하면 /dev/ttyMotor 가 확인됩니다.

USB 시리얼 문제 해결

$ lsusb
...
Bus 001 Device 004: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
...

여기서 ID 이후에 나오는 1a86이 vendor ID이고 다음 7523이 product ID 입니다. 만약 이 값이 아닌 다른 값으로 검색되는 경우 해당 ID를 수정해주어야합니다. 터미널에 다음을 입력하여 98-omo-r1.rules 파일을 엽니다.

$ sudo nano /etc/udev/rules.d/98-omo-r1.rules

여기서 idVendor와 idProduct를 위에 lsusb 명령으로 확인한 값으로 변경합니다.

SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523"....

Ctrl-X키를 눌러 빠져나온 다음 다음을 입력하여 udev를 다시 적용합니다.

$ sudo udevadm control --reload-rules
$ sudo udevadm trigger

이제 다시한번 /dev/ttyMotor 가 보이는지 확인합니다.

만약 이렇게 해도 검색이 안된다면 USB장치의 문제가 있는것일 수 있으므로 다른 장비를 사용하거나 PC를 재부팅해보시기 바랍니다.

cd ~/catkin_ws/src///scripts/ 로 이동하여 스크립트를 실행합니다.

만약 이 스크립트를 실행했는데도 /dev/ttyMotor가 확인되지 않으면 lsusb 명령으로 USB시리얼 장치의 ID를 확인해주어야합니다.

☹️
ROS Melodic 설치를 안내하고 있는 페이지
ROS Melodic 설치를 안내하고 있는 페이지
omo_r1
omo_r1_bringup
create_udev_rules.sh
GitHub - omorobot/omo_r1: Official ros package for OMO R1 robot from the original source has been released https://github.com/omorobot/omorosGitHub
Logo