Posts

Tuesday, 19 February 2019

RC car 일단 저장

일단 저장

Pixhawk2 Calibration

  1. Mission Planner 설치 (윈도우) / Qgroundcontrol (우분투)
  2. Firmware 설치
    • 인터넷에서 다른 firmware 다운로드 옵션을 통해 FMUv3 용의 ardurover firmware을 다운로드 후 설치 (Pixhawk1 버전은 안됨)
  3. Mission Planner의 지시에 따라 가속도계, 나침반, radio, esc (필수 x) 를 calibration
    • radio calibration에서 mission planner는 최소 4개의 채널(poll, pitch, yaw, throttle)을 요구하지만, 사용하고 있는 컨트롤러는 기본적으로 2개의 채널만 사용.
    • AUX1~3 채널을 임의로 할당하여 사용(기본 2개의 채널을 rover 제어에 필요한 poll, throttle에 할당)
    • 기본적으로 mission planner에서는 channel 3의 신호를 throttle 제어에 사용하도록 설정되어 있으므로, parameter 변경을 통해 channel 2가 throttle을 제어할 수 있도록 한다.

TK1에 MAVROS 설치

  1. TK1 에 ros-indigo 설치
    1. roswiki 참고
    2. TK2 에 MAVROS 설치
sudo apt-get install python-catkin-tools
sudo apt-get install ros-indigo-mavros ros-indigo-mavros

Serial, USB

그림1

  1. TK1 보드에서 Pixhwak를 제어하기 위해 Pixhwak의 TELEM2 포트를 USBtoTTL 장치를 통해 그림 1과 같이 연결
  2. Qgroundcontrol 에서 SYS_COMPANION 파라메터를 “Companion Link(921600 baudrate 8N1)으로 수정(Mission Planner에서는 기본적으로 57600)
ls /dev/ttyUSB*
sudo chmod 666 /dev/ttyUSB* #for permission
roscore
rosrun mavros mavros_node _fcu_url:="/dev/ttyUSB*:921600"
    • 이때 TK1의 경우 serial to usb 드라이버가 설치되어 있지 않음(보통은 우분투 운영체제 기본 내장이다)
    • USBtoTTL 장치의 제조 회사에 따라 드라이버가 다름(이 경우는 CP210X 드라이버를 설치해야 한다)
제조사에서 드라이버 다운로드 후
make
Cp cp210x.ko /lib/modules/<kernel-version>/kernel/drivers/usb/serial
Inmode /lib/modules/<kernel-version>/kernel/drivers/usb/serial/usbserial.ko #이 경우에는 없었음
Insmod cp210.ko # 드라이버 실행 코드
make 할 때 tk1 에서는 genmask 매크로가 정의되어 있지 않아 에러가 발생(genmask는 커널 버전 3.19 부터 정의되어 지는데 tk1은 3.13이다)
(따라서 에러가 발생하는 파일에 genmask를 정의 해주어야 한다)
(genmask의 코드는 인터넷에 나온다)

뒤                                                                       앞

Arming
Pixhawk를 작동시키기 위해 pixhawk 를 arming 하는 과정이 필요하다. 이때 오류가 날 경우 parameter 중 arming단계에서 preflight (시동전 점검)단계를 생략하는 parameter를 설정한다.

roscore
rosrun mavros mavros_node _fcu_url:="/dev/ttyUSB0:57600"
rosservice call /mavros/set_mode “base_mode: 0 cumtom_mode:”GUIDED””  #GUIDED(외부 보드에서 pixhawk를 제어할 수 있는 모드)로 변환
rosservice call /mavros/cmd/arming “value: Ture” #arming
# Arming 스위치를 누른다(깜박임 -> 유지)
# 이후 여러 topic을 통해 제어 할 수 있다.



No comments:

Post a Comment

[ new blog ]

new blog https://jihyo-jeon.github.io/