HƯỚNG DẪN CÀI ĐẶT VÀ VẬN HÀNH PHẦN MỀM ARDUPILOT TRÊN KIT BEAGLE BONE GREEN - PIFClub/FlyMew_Ardupilot GitHub Wiki

1. Yêu cầu software:

  • Kit beagle bone green hoặc black.
  • Thẻ microSD 8GB trở lên.
  • Máy tính host cài Hệ điều hành (HĐH) Linux 16.04 trở lên.

2. Cài đặt thẻ nhớ Debian cho BBG từ máy host:

  • Tải Debian 9.1 file .IMG link:

https://debian.beagleboard.org/images/bone-debian-9.1-iot-armhf-2017-09-21-4gb.img.xz

  • Giải nén file dùng lệnh:

nxz bone-debian-9.1-iot-armhf-2017-09-21-4gb.img.xz

  • Kết nối thẻ nhớ với máy tình host bằng USB đọc thẻ hoặc cổng SD của máy dùng lệnh sau để ghi vào thẻ nhớ:

sudo dd bs=1M if=bone-debian-9.1-iot-armhf-2017-09-21-4gb.img of=/dev/sdX

(Lưu ý /dev/sdX là tên ứng với với device thẻ nhớ vừa kết nối vào máy tính lsblk để kiểm tra, quá trình ghi diễn ra khoảng 30 phút).

  • Sau khi hoàn tất quá trình dùng lệnh sync sau đó lấy thẻ nhớ ra khỏi máy.

HD từ HĐH Window:

  • Tải phần mềm Win32DiskImager.

  • Cắm thẻ nhớ vào máy chọn ImageFile là file vừa tải về, chọn device là ổ đĩa thẻ nhớ  Write và đợi khoảng 15p đến thi thông báo success hiện ra.

3. Cài đặt Debian 9.1 và cấu hình Realtime Kernel:

  • Kết nối microSD ở bước trên vào khe thẻ nhớ của kit BBG.
  • Kết nối cáp Ethernet và nguồn.
  • Từ máy Linux host login vào bảng lệnh Terminal của BBG bằng lệnh pass: temppwd (Thay thế @beaglebone bằng IP của board ví dụ @192.168.6.2 sử dụng software IP Scan)

ssh debian@ 192.168.6.2

  • Cấu hình WIFI cho beagle board green

sudo connmanctl

enable wifi

scan wifi (Chờ cho hiện lên thông báo scan finished)

services (Xem kết quả scan wifi)

agent on

connect <nhập vào mã tương ứng với wifi ở phần services>

quit (Thoát khỏi cấu hình wifi)

  • Tiến hành update board:

sudo apt update && sudo apt upgrade –y

  • Update software:

sudo apt install -y bb-cape-overlays cpufrequtils g++ pkg-config gawk git make screen python python-dev python-lxml python-pip

  • Cài thư viện future cho python:

sudo pip install future

  • Chỉnh đường dẫn của pkg-config:

sudo ln -s pkg-config /usr/bin/arm-linux-gnueabihf-pkg-config

  • Cập nhật script:

cd /opt/scripts && sudo git pull

  • Mở rộng partition:

sudo /opt/scripts/tools/grow_partition.sh

  • Cài đặt RealTime Kernel.

sudo /opt/scripts/tools/update_kernel.sh --bone-rt-kernel --lts-4_9

  • Thêm vào cấu hình phần cứng DTB.

sudo sed -i 's/#dtb=$/dtb=am335x-boneblack-bbbmini.dtb/' /boot/uEnv.txt

sudo sed -i 's/#cape_enable=bone_capemgr.enable_partno=/cape_enable=bone_capemgr.enable_partno=BB-ADC/g' /boot/uEnv.txt

  • Chỉnh clock cố định 1GHz.

sudo sed -i 's/GOVERNOR="ondemand"/GOVERNOR="performance"/g' /etc/init.d/cpufrequtils

  • Khởi động lại BBG bằng lệnh sudo reboot.
  • SSH lại vào BBG từ máy host.

sudo apt-get install build-essential

  • Clone project Ardupilot về máy.

git clone https://github.com/PIFClub/FlyMew_Ardupilot.git

  • Đi vào thư mục

cd ardupilot/Tools/Linux_HAL_Essentials/pru/rangefinderpru

  • Chạy lệnh sudo make install để cài firmware rangefinder.

4. Hướng dẫn complie software Ardupilot trên máy host Linux.

  • Clone project ardupilot và complie làm theo từng dòng lệnh.

sudo apt-get install git

git clone https://github.com/PIFClub/FlyMew_Ardupilot.git

cd ardupilot

chmod +x Tools/scripts/install-prereqs-ubuntu.sh

sudo ./Tools/scripts/install-prereqs-ubuntu.sh

chmod +x waf

./waf configure --board=bbbmini

./waf

  • Sau khi build hoàn tất tiến hành copy vào BBG bằng lệnh sau:

scp build/bbbmini/bin/* debian@beaglebone:/home/debian/

5. Cách vận hành software ArduPilot.

  • Sử dụng lệnh sau để chạy software

sudo /home/debian/arducopter -C udp:192.168.6.1:14550

  • Với –C : sau đó là cú pháp để kết nối MavLink groundstation với phần mềm Mission Planner có thể là tên cổng serial hoặc một kết nối mạng. Ở đây máy host có IP 192.168.6.1.
  • Sau khi vận hành software hoàn tất tiến hành vào máy host chỉnh static IP lại giống với IP phía trên, tiến hành chạy Mission Planner và connect vào UDP để kiểm tra quá trình đã hoàn tất hay chưa.

6. Tự động chạy software ardupilot sau khi reboot:

  • Login SSH vào BBG.
  • Sử file /etc/rc.local bằng lệnh

sudo nano /etc/rc.local

  • Thêm vào như sau:

#!/bin/sh -e

#

# rc.local

#

# This script is executed at the end of each multiuser runlevel.

# Make sure that the script will "exit 0" on success or any other

# value on error.

#

# In order to enable or disable this script just change the execution

# bits.

#

# By default this script does nothing.

/bin/sleep 10

/home/debian/arducopter -C udp:192.168.6.1:14550 > /home/debian/arducopter.log &

exit 0

  • Sau khi hoàn tất dùng tổ hợp phím Crtl+X say đó gõ Y và Enter để save lại.n tKhởi động lại và thử nghiệm sudo reboot và Enter để save lại.
  • Khởi động lại và thử nghiệm sudo reboot