Arduino를 이용한 로버 제어(실기편)

4316 단어 로봇ROS

테마 기사 링크



아래의 기사에는 이번 테마를 설정한 목적이나 관련 기사가 정리되어 있습니다. 자신이 보고 싶은 항목이 있는 경우는 이용해 주세요. 자작 로봇(로버)의 ROS 대응

목차



준비하는 것

ArduinoIDE

ros_lib 생성

ArduinoIDE에서 쓰기 설정

로버의 동작 점검

넘어진 부분

준비하는 것


  • 3WD48mm 옴니 휠 모바일 로봇 (이하, 로버)
  • Ubuntu 16.04 (Windows에서도 가능)



  • ArduinoIDE



    Arduino의 통합 개발 환경.

    공식 사이트 에서 Linux 64bit를 클릭하고 기부할지 묻는 질문을 극복하십시오.

    다운로드한 파일을 확장하고 설치합니다.
    $ cd Downloads
    
    $ tar Jxfv arduino-1.8.10-linux64.tar.xz
    
    $ cd arduino-1.8.10-linux64
    
    $ ./install.sh
    

    이렇게하면 홈 디렉토리에 Arduino 폴더가 생성됩니다. Arduino/libraries 폴더에 적절하게 사용하는 라이브러리를 넣으면 ros 패키지 등을 사용할 수 있습니다.

    ros_lib 생성



    ROS Melodic의 경우
    rosserial 및 rosserial_aruduino 패키지를 설치합니다.
    $ sudo apt-get install ros-melodic-rosserial-arduino
    $ sudo apt-get install ros-melodic-rosserial
    

    그런 다음 arduino 측면에서 사용할 ros 패키지를 준비합니다.
    $ wget https://downloads.arduino.cc/arduino-1.8.13-linux64.tar.xz
    $ tar Jxfv arduino-1.8.13-linux64.tar.xz
    $ cd arduino-1.8.13-linux64.tar.xz/libraries
    $ rosrun rosserial_arduino make_libraries.py .
    $ cp -r ros_lib ~/Arduino/libraries
    

    ArduinoIDE에서 쓰기 설정



    툴 탭의 보드, Clock, 시리얼 포트를 이하의 설정으로 한다.
    - 보드: ATmega328P
    - Clock: 8MHz/X'tal
    - 시리얼 포트 : dev/ttyUSB0(사용하는 환경에 따라)

    로버의 동작 점검



    판매원이 구매자에게만 소스 코드나 매뉴얼을 공개하고 있다. 따라서 라이브러리가 없으면 소스 코드를 컴파일 할 수 없습니다. 양해 바랍니다.

    다음 소스 코드를 clone하고 rover/arduino_scripts/rover_sirial IDE로 컴파일 한 다음 로버에 씁니다.

    Arduino IDE의 시리얼 모니터로부터 커멘드(r, f등)를 입력해 선회, 전진하면 성공.
    2020/11/27 덧붙여 : melodic라면, 왠지 스크립트로 설정한 통신 속도에 어긋남이 발생하고 있다. 스크립트로 설정한 통신 속도의 배로 시리얼 모니터측의 통신 속도를 설정함으로써 정상적으로 동작한다.
    예 : 스크립트에서 "node_handle.getHardware () -> setBaud (9600);"로 설정하면 직렬 모니터는 19200bps로 설정합니다.
    $ git clone https://github.com/NaotakaKawata/rover.git rover
    

    넘어진 부분


  • 영어의 매뉴얼을 읽으면서 진행하고 있었지만, 써 있는 샘플 코드와 실제로 꽂혀 있는 포트 번호가 다르다. 엔코더가 있는 DC 모터 가 부속되어 있으므로 반환값을 보고 깨달았지만, 처음으로 기제품의 로봇을 샀기 때문에 기본적인 체크를 게을리 버렸다. 여러분은 조심하십시오.
  • 샘플 코드도 처음에는 제공된 소스를 사용해 동작 체크를 실시합시다. 부품이 손상되었을 수 있습니다.

  • →필자는 타이어와 DC 모터 사이에 설치하는 알루미늄 허브의 구멍 직경이 다르기 때문에 한 번 반송하고 있다. 정중한 대응이었기 때문에 그 점은 만족하고 있다.

    좋은 웹페이지 즐겨찾기