ArduPilot Configurator
ArduPilot Configurator is a crossplatform configuration tool for the ArduPilot flight control system.
It runs as an app within Google Chrome and allows you to configure the ArduPilot software running on any supported ArduPilot target.
Various types of aircraft are supported by the tool and by ArduPilot, e.g. quadcopters, hexacopters, octocopters and fixed-wing aircraft.
Installation
Depending on target operating system, ArduPilot Configurator is distributed as standalone application or Chrome App.
Windows
- Visit release page
- Download Configurator for Windows platform (win32 or win64 is present)
- Extract ZIP archive
- Run ArduPilot Configurator app from unpacked folder
- Configurator is not signed, so you have to allow Windows to run untrusted application. There might be a monit for it during first run
Linux
- Visit release page
- Download Configurator for Linux platform (linux32 and linux64 are present)
- Extract tar.gz archive
- Make the ArduPilot-configurator file executable (chmod +x ArduPilot-configurator)
- Run ARDUPILOT Configurator app from unpacked folder
Mac
- Visit release page
- Download Configurator for Mac platform
- Extract ZIP archive
- Run ArduPilot Configurator
- Configurator is not signed, so you have to allow Mac to run untrusted application. There might be a monit for it during first run
ChromeOS
ArduPilot Configurator form ChromeOS is available in Chrome Web Store
Building and running ArduPilot Configurator locally (for development or Linux users)
For local development, node.js build system is used.
- Install pre-requisites:
sudo apt install curl git
- Install ‘nvm’ , if you don’t already have it, the ‘node version manager’, and use it to get node 16:
nvm --version
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
. ~/.profile
command -v nvm
nvm install 16.14.0
which node
- download the app sources :
git clone https://github.com/ArduPilot/ArduConfigurator.git
cd ArduConfigurator
- run the app in ‘dev’ mode [be sure your node is v16, see above at step 2 if its not]:
node --version
npm install
npm run gulp build
npm run dev
More info on some commands:
-
‘npm run dev’ runs to it from the source folder without bundling any resources, great for debug and code hacking. Its also the only way the code runs right this instant., sorry, we haven’t got any release ready yet. ‘npm start’ is very similar, but uses a ‘bundled’ main.html
-
‘npm start’ is supposed to be the alternative to running it in dev mode, but as we dont have any release yet, its not the way we use the app at the moment, so this comment is a reminder to not use this command yet.
-
no right-click, no developer tools..? If the app starts-up for you, but right-click doesnn’t allow you to use chrome-dev-tools or inspect stuff, then you don’t have the ‘sdk’ version of NW installed. Theese command/s to try to remedy that are (one or more of these might help), but are not part of a normal install, and you should not run them unless you somehow got the wrong ‘nw’ version:
nvm deactivate
mv ~/.npmrc ~/.npmrc.bak
rm -rf node_modules/nw
rm package-lock.json
npm install --save nw@0.50.3-sdk
sudo npm install --save nw@0.50.3-sdk -g
export NWJS_BUILD_TYPE=sdk; npm install
-
Bundling/releasing not working properly just now, but when it’s working it will run like this:
‘npm run gulp dist’ to bundle it.
‘npm run gulp release’ to make win32/win64/osx/linux32/linux64 packages. -
this ap can be used as a chrome plugin, but usually is use «integrated» with nw.js [expect bugs if u do this] :
- With NW.js: Run
npm start
[probably not working]. - With Chrome: Run
npm run gulp
. Then openchrome://extensions
, enable
theDeveloper mode
, click on theLoad unpacked extension...
button and select theArduConfigurator
directory.
- With NW.js: Run
Gulp hints? Other tasks are also defined in gulpfile.js
. To run a task, use npm run gulp task-name
. Available ones are:
- build: Generate JS and CSS output files used by the configurator from their sources. It must be run whenever changes are made to any
.js
or.css
files in order to have those changes appear
in the configurator. If new files are added, they must be included ingulpfile.js
. See the comments at the top ofgulpfile.js
to learn how to do so. See also thewatch
task. - watch: Watch JS and CSS sources for changes and run the
build
task whenever they’re edited. - dist: Create a distribution of the app (valid for packaging both as a Chrome app or a NW.js app)
in the./dist/
directory. - release: Create NW.js apps for each supported platform (win32, osx64 and linux64) in the
./apps
directory. Running this task on macOS or Linux requires Wine, since it’s needed to set the icon
for the Windows app. If you don’t have Wine installed you can create a release by running the release-only-linux task.
BUGs? absolutely.
See BUGS page
Different MAP providers?
See MAPS page
Notes
WebGL
Make sure Settings -> System -> «User hardware acceleration when available» is checked to achieve the best performance
Linux users
- Dont forget to add your user into dialout group «sudo usermod -aG dialout YOUR_USERNAME» for serial access
- If you have 3D model animation problems, enable «Override software rendering list» in Chrome flags chrome://flags/#ignore-gpu-blacklist
WSL2
- The configurator will run on WSL2 as long as you have X configured and an X server running without auth (e.g. XLaunch)
- WSL2 does not support USB so no direct communication with flight controllers is currently possible
Support
GitHub issue tracker is reserved for bugs and other technical problems. If you do not know how to setup
everything, hardware is not working or have any other support problem, please consult:
-
discuss user forums thread
-
developer chat
Issue trackers
For ArduPilot configurator issues raise them here
https://github.com/ArduPilot/ArduConfigurator/issues
For ArduPilot firmware issues raise them here
https://github.com/ArduPilot/ardupilot/issues
Developers
We accept clean and reasonable patches or PRs, submit them!
Credits — happy to correct these credits if they are wrong or incomplete.
ctn — author and maintainer ofof stuff from which this project was forked.
Hydra — author and maintainer of stuff from which this project was forked.
Konstantin Sharlaimov/DigitalEntity — author and maintainer of stuff from which this project was forked.
Paweł Spychalski — author and maintainer of stuff from which this project was forked.
Мы с командой (к которой Вы можете присоединиться) единомышленников с Хабра разрабатываем робота для сбора мячей для гольфа на driving range. Это узкоспециализированный сервисный робот, поэтому мы планируем одновременно разработать так же единый программно-аппаратный комплекс, который в дальнейшем можно было бы использовать как основу для других сервисных роботов и UGV.
В прошлом посте мы описали, почему мы остановились на этом софте. При настройке нашего проекта мы использовали информацию из статьи. Собственно, здесь представляем перевод данного краткого руководства, возможно, для кого-то это окажется полезным и поможет Вам сделать своего первого или очередного робота.
Прежде чем я начну, я хочу подчеркнуть, что стоит использовать BeagleBone Blue (Она таки синего цвета). Как правило, мы будем прикреплять довольно много периферийных устройств, связанных с навигацией, и они не будут работать правильно без достаточного питания.
Часть 1. Подготовка BeagleBone
Перейти к https://rcn-ee.net/rootfs/bb.org/testing/ и выберите каталог с последней датой. Затем откройте подкаталог stretch-console. Здесь вы увидите несколько файлов. Скачать файл с названием Что-то вроде ‘bone-debian-V.V-console-armhf-20YY-MM-DD-1gb.img.xz’. Это минимальный дистрибутив Debian, содержащий только самое необходимое. Альтернативой является образ » IoT » (IoT = Internet of Things), который поставляется с дополнительным программным обеспечением и может сделать работу более комфортным, если вы новичок в Linux. Он доступен с того же сайта.
Мы используем: https://rcn-ee.net/rootfs/bb.org/testing/2018-10-07/stretch-console/bone-debian-9.5-console-armhf-2018-10-07-1gb.img.xz.
Далее вам нужно будет прошить образ на карту microSD. Используете ли вы Linux или Windows, я настоятельно рекомендую программу под названием Etcher для этой задачи (https://etcher.io/).
Теперь можно загрузить BeagleBone Blue с карты microSD. Это выходит за рамки этого документа, чтобы подробно описать все способы взаимодействия, но часто это достигается при подключении через микро-USB-кабель либо через SSH (к ‘debian@192.168.7.2’, пароль ‘temppwd’) или через COM-порт (пользователя по Debian’, пароль ‘temppwd) в программу, как minicom или PuTTY. Это подключение к консоли Linux через СОМ порт. UART1 на сборках BBB всегда забинден на консоль, сначала U-boot, а потом Линукса. Более подробную информацию можно найти здесь: https://beagleboard.org/blue
Драйверы BeagleBone поставляются с Windows 10. В Линкусе BBB как универсальный USB COM порт может не подхватиться. Если у вас возникли проблемы, попробуйте выполнить:
sudo -s
cat >/etc/udev/rules.d/73-beaglebone.rules <<EOF
ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_interface", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="a6d0", DRIVER=="", RUN+="/sbin/modprobe -b ftdi_sio"
ACTION=="add", SUBSYSTEM=="drivers", ENV{DEVPATH}=="/bus/usb-serial/drivers/ftdi_sio", ATTR{new_id}="0403 a6d0"
ACTION=="add", KERNEL=="ttyUSB*", ATTRS{interface}=="BeagleBone", ATTRS{bInterfaceNumber}=="00", SYMLINK+="beaglebone-jtag"
ACTION=="add", KERNEL=="ttyUSB*", ATTRS{interface}=="BeagleBone", ATTRS{bInterfaceNumber}=="01", SYMLINK+="beaglebone-serial"
EOF
udevadm control --reload-rules
exit
Надеюсь, теперь вы вошли в командной строке. Мы начнем с разрешения пользователю debian выполнять sudo без необходимости вводить пароль каждый (последующий) раз:
echo "debian ALL=(ALL) NOPASSWD: ALL" | sudo tee -a /etc/sudoers.d/debian >/dev/null
Следующая работа заключается в обновлении и установке программного обеспечения с помощью доступного подключения к интернету, так что пришло время, чтобы настроить connman для доступа Wi-Fi. Я делаю это, потому что это облегчит работу в дальнейшем. Во-первых, запишите SSID вашего маршрутизатора и пароль WiFi. Затем введите следующее:
sudo -s
connmanctl services | grep '<your SSID>' | grep -Po 'wifi_[^ ]+'
Ответ будет выглядеть примерно так: ‘wifi_38d279e099a8_4254487562142d4355434b_managed_psk’. Если вы ничего не видите, попробуйте еще раз-вы, вероятно, сделали опечатку.
Теперь, используя этот ID сети, мы собираемся ввести файл непосредственно с клавиатуры (stdin) с помощью cat, по одной строке за раз:
cat >/var/lib/connman/wifi.config
[service_<your hash>]
Type = wifi
Security = wpa2
Name = <your SSID>
Passphrase = <your WiFi password>
Важно! Перед Ctrl+C обязательно нажмите Enter, иначе вся текущая строка пропадет.
Нажмите сочетание клавиш Ctrl-C, чтобы выйти, а затем введите: exit
Видный зеленый светодиод загорится, означая, что Wi-Fi включен. BBBlue подключен к маршрутизатору, и его IP-адрес в вашей сети Wi-Fi можно найти с помощью:
ip addr show wlan0
Если по какой-либо причине вы не можете запросить BBBlue напрямую, другими способами найти его IP-адрес используйте утилиты, такие как nmap (sudo nmap 192.168.0.0/24) или войдя в свой маршрутизатор и посмотрев там.
Теперь попробуйте подключиться по SSH, используя его Wi-Fi IP-адрес. Помните, что 192.168.7.2 также будет работать.
Если вы не можете заставить WiFi работать с connman, или вы просто не хотите использовать connman, вы можете использовать следующий метод. Во-первых, введите: sudo systemctl отключить connman. Затем, с вашим SSID и WiFi паролем, отредактируйте/etc/network/interfaces
# The loopback network interface.
auto lo
iface lo inet loopback
# WiFi w/ onboard device (dynamic IP).
auto wlan0
iface wlan0 inet dhcp
wpa-ssid "<your SSID>"
wpa-psk "<your WiFi password>"
dns-nameservers 8.8.8.8 1.1.1.1
# Ethernet/RNDIS gadget (g_ether).
# Used by: /opt/scripts/boot/autoconfigure_usb0.sh
iface usb0 inet static
address 192.168.7.2
netmask 255.255.255.252
network 192.168.7.0
gateway 192.168.7.1
Теперь перезагрузите BBBlue с: sudo reboot
После входа в систему введите: sudo ifup wlan0. Зеленый светодиод должен загореться.
Если вы хотите, чтобы BB имел статический IP (скажем, 192.168.0.99), измените » # WiFi w/ onboard device (dynamic IP).’раздел /etc/network/interfaces для чтения:
# WiFi w/ onboard device (static IP).
auto wlan0
iface wlan0 inet static
wpa-ssid "<your SSID>"
wpa-psk "<your WiFi password>"
address 192.168.0.99 # <--- The desired static IP address of the BBBlue.
netmask 255.255.255.0
gateway 192.168.0.1 # <--- The address of your router.
dns-nameservers 8.8.8.8 1.1.1.1
Обновление и установка всех необходимых вспомогательных программ:
sudo apt-get -y update
sudo apt-get -y dist-upgrade
sudo apt-get install -y cpufrequtils git
Обновите скрипты: cd/opt /scripts & & git pull
Ядро реального времени в настоящее время содержит ошибки! Используйте следующее исправление: Укажите Ti real-time kernel 4_4. Не используйте 4_14.
sudo /opt/scripts/tools/update_kernel.sh --ti-rt-channel --lts-4_4
sudo sed -i 's|uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-14-TI-00A0.dtbo|#uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-14-TI-00A0.dtbo|g' /boot/uEnv.txt
sudo sed -i 's|#uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-4-TI-00A0.dtbo|uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-4-TI-00A0.dtbo|g' /boot/uEnv.txt
Наконец, скопируйте am335x-bone blue.dtb (из каталога bin в этом репозитории) в /boot/dtbs/4.4.113-ti-rt-r149
Установите скрипт на автозапуске
sudo sed -i 's/#dtb=/dtb=am335x-boneblue.dtb/g' /boot/uEnv.txt
Установите частоту
sudo sed -i 's/GOVERNOR="ondemand"/GOVERNOR="performance"/g' /etc/init.d/cpufrequtils
Настройка bb-wl18xx-wlan0.service
sudo sed -i 's/RestartSec=5/RestartSec=1/g' /lib/systemd/system/bb-wl18xx-wlan0.service
Настройка bb-wl18xx-wlan0.service
sudo sed -i 's/RestartSec=5/RestartSec=1/g' /lib/systemd/system/bb-wl18xx-wlan0.service
Отключить Bluetooth (опционально)
sudo systemctl disable bb-wl18xx-bluetooth.service
Разверните существующий раздел карты microSD (/dev / mmcblk0p1):
sudo /opt/scripts/tools/grow_partition.sh
Reboot now:
sudo reboot
Часть 2. Установка ArduPilot на BeagleBone
Когда BeagleBone перезагрузится, нам нужно создать несколько текстовых файлов. Во-первых, совершенствовании файл конфигурации среды, /etc/default/ardupilot:
(Подсказка: введите sudoedit/etc / default/ ardupilot и вставьте свой собственный целевой IP-адрес, например 192.168.0.13)
TELEM1="-C /dev/ttyO1"
TELEM2="-A udp:<target IP address>:14550"
GPS="-B /dev/ttyS2"
Это довольно типичная конфигурация.
Это параметр запуска -C maps ArduPilot’s «Telem1» serial port (SERIAL1, по умолчанию 57600) для UART1 в BBBlue. Например, у меня RFDesign радиомодем 868x подключен к UART1. Это двунаправленный канал передачи данных с моим дроном. Он отправляет различные телеметрические данные на базовую станцию и получает команды и дифференциальные поправки RTK от базовой станции.
Это параметр запуска -A maps ArduPilot’s «Console» serial port(SERIAL0, по умолчанию 115200) с протоколом, целевым IP-адресом и номером порта по выбору. Например, это позволяет мне получать данные MAVLink, поступающие через Wi-Fi для тестовых целей. Действительно полезный, особенно в виду того что, данные могут сразу поступать в Mission Planner и QGroundControl.
Это параметр запуска -B maps ArduPilot’s «GPS» serial port(SERIAL3, по умолчанию 57600) с Uart2 BBBlue (UART, смутно отмеченный ‘GPS’ на самой плате). Например, у меня есть U-blox NEO-M8P, подключенный к UART2.
Существуют и другие возможности — есть и другие параметры запуска, с предустановленными скоростями портов и самими портами:
Switch -A --> "Console", SERIAL0, default 115200
Switch -B --> "GPS", SERIAL3, default 57600
Switch -C --> "Telem1", SERIAL1, default 57600
Switch -D --> "Telem2", SERIAL2, default 38400
Switch -E --> Unnamed, SERIAL4, default 38400
Switch -F --> Unnamed, SERIAL5, default 57600
Обратитесь к официальной документации ArduPilot для получения более подробной информации о различных последовательных портах: http://ardupilot.org/plane/docs/parameters.html?highlight=parameters
Далее, мы создадим ArduPilot systemd service files, одну для ArduCopter, /lib/systemd/system/arducopter.service:
[Unit]
Description=ArduCopter Service
After=networking.service
StartLimitIntervalSec=0
Conflicts=arduplane.service ardurover.service antennatracker.service
[Service]
EnvironmentFile=/etc/default/ardupilot
ExecStartPre=/usr/bin/ardupilot/aphw
ExecStart=/usr/bin/ardupilot/arducopter $TELEM1 $TELEM2 $GPS
Restart=on-failure
RestartSec=1
[Install]
WantedBy=multi-user.target
Одна для ArduPlane, /lib/systemd/system/arduplane.service:
[Unit]
Description=ArduPlane Service
After=networking.service
StartLimitIntervalSec=0
Conflicts=arducopter.service ardurover.service antennatracker.service
[Service]
EnvironmentFile=/etc/default/ardupilot
ExecStartPre=/usr/bin/ardupilot/aphw
ExecStart=/usr/bin/ardupilot/arduplane $TELEM1 $TELEM2 $GPS
Restart=on-failure
RestartSec=1
[Install]
WantedBy=multi-user.target
Одну для ArduRover, /lib/systemd/system/ardurover.service:
[Unit]
Description=ArduRover Service
After=networking.service
StartLimitIntervalSec=0
Conflicts=arducopter.service arduplane.service antennatracker.service
[Service]
EnvironmentFile=/etc/default/ardupilot
ExecStartPre=/usr/bin/ardupilot/aphw
ExecStart=/usr/bin/ardupilot/ardurover $TELEM1 $TELEM2 $GPS
Restart=on-failure
RestartSec=1
[Install]
WantedBy=multi-user.target
Как насчет AntennaTracker, too? Создадим /lib/systemd/system/antennatracker.service:
[Unit]
Description=AntennaTracker Service
After=networking.service
StartLimitIntervalSec=0
Conflicts=arducopter.service arduplane.service ardurover.service
[Service]
EnvironmentFile=/etc/default/ardupilot
ExecStartPre=/usr/bin/ardupilot/aphw
ExecStart=/usr/bin/ardupilot/antennatracker $TELEM1 $TELEM2 $GPS
Restart=on-failure
RestartSec=1
[Install]
WantedBy=multi-user.target
Перейдем в папку sudo mkdir -p /usr/bin/ardupilot
Создадим файл конфигурации железа для ArduPilot, /usr/bin/ardupilot/aphw который запускается до исполняемых файлов.
#!/bin/bash
# aphw
# ArduPilot hardware configuration.
/bin/echo 80 >/sys/class/gpio/export
/bin/echo out >/sys/class/gpio/gpio80/direction
/bin/echo 1 >/sys/class/gpio/gpio80/value
/bin/echo pruecapin_pu >/sys/devices/platform/ocp/ocp:P8_15_pinmux/state
Строки 5-7 включают питание сервопривода BBBlue +5V, т. е. когда вы используете сервоприводы. Не нужно для ESC.
Строка 8 включает PRU.
Используйте sudo chmod 0755 /usr/bin/ardupilot/aphw для установки разрешений для этого файла.
Почти получилось! Теперь вы должны получить последние ArduCopter, ArduPlane и т. д. исполняемые файлы, созданные специально для архитектуры Arm BBBlue, и поместите их в каталог /usr/bin/ardupilot. Mirko Denecke загрузил их на своем сайте здесь: http://bbbmini.org/download/blue/
Копия в этот репозиторий: https://github.com/imfatant/test/blob/master/bin/
Не забудьте установить права: sudo chmod 0755 / usr / bin / ardupilot / a*
Если вы обнаружите, что нужно скомпилировать из исходников, не пугайтесь — это не так уж и сложно. Кроме того, это означает, что вы сможете создать свое собственное ПО ArduPilot.
Собирая их на самом BBBlue займет слишком много времени. Patrick Poirier объясняет процесс для BBBMINI (основанный на черном BeagleBone) на своем сайте. Вот специфичная для BBBlue процедура, предполагающая, что вы выполнили все шаги до сих пор и находитесь в каталоге/home / debian:
sudo apt-get install g++ make pkg-config python python-dev python-lxml python-pip
sudo pip install future
git clone https://github.com/ArduPilot/ardupilot
cd ardupilot
git checkout Copter-3.6 # <-- For ArduCopter.
git submodule update --init --recursive
./waf configure --board=blue # <-- BeagleBone Blue.
./waf
sudo cp ./build/blue/bin/a* /usr/bin/ardupilot
Патрик также предоставляет инструкции по их кросс-компиляции на относительно мощном настольном x64 ПК в Ubuntu, что намного, намного быстрее.
В зависимости от того, какой вариант софта Вам нужен
sudo systemctl enable arducopter.service
или
sudo systemctl enable arduplane.service
или
sudo systemctl enable ardurover.service
или
sudo systemctl enable antennatracker.service
После перезагрузки ваш ArduPilot должен запуститься автоматически. Вы увидите мигающий красный светодиод!
Можете ознакомиться с systemctl (https://www.freedesktop.org/software/systemd/man/systemctl.html). Некоторые полезные примеры команд:
sudo systemctl disable ...
sudo systemctl start ...
sudo systemctl stop ...
Часть 3. Подключение периферийных устройств
Базовая минимальная конфигурация, вероятно, будет включать:
- R/C приемник.
- GPS-приемник (со встроенным компасом или без него).
- Радиомодем для двунаправленного канала передачи данных, особенно на больших расстояниях.
- (Встроенный WiFi BBBlue отлично подходит для отладки и тестирования на близком расстоянии, если доступен 2,4 ГГц, но для чего-то более интересного рекомендуется выделенный двунаправленный канал передачи данных. Также имейте в виду тип и размещение антенн, которые используют все эти элементы.)
Несколько слов о разъемах, кабелях и инструментах, которые вам понадобятся. Я собираюсь дать несколько рекомендаций, иначе, если вы новичок, вы можете потратить много времени, усилий и денег. Главным образом используемый тип разъема JST-SH 1.0 mm. Вы должны купить несколько разъемов «мама» в 4 и 6-позиционных размерах и обжимные контакты. Затем получите пару метров проводов разных цветов.
Итак, вернемся к подключению периферийных устройств:
Приемник R/C: может быть выключен в любой + 5V контакт и GND. Все, что остается, это подключить SBUS-выход приемника, DSM-выход или PPM-выход к одному из двух контактов SBUS, отмеченных на схеме. Следующие приемники были испытаны и работают:
FrSky (https://www.frsky-rc.com/): R-XSR, XR4SB, X6R, X8R, R9 Slim and R9 Mini (both EU LBT 868 MHz and Universal 915 MHz firmwares).
Spektrum (https://www.spektrumrc.com/): AR7700 DSMX with PPM/SRXL/Remote Rx.
TBS (http://team-blacksheep.com/): ‘Full’ Crossfire with Nano Rx (Rx set to SBUS mode).
Кстати, много говорят о «перевернутом SBUS». На самом деле SBUS — это просто последовательный протокол передачи данных, который придумал Futaba, и который скопировал FrSky. Он перевернут по сравнению с «стандартом» UART. К счастью, Ardupilot Blue ожидает этот инвертированный сигнал SBUS, поэтому нет необходимости в инверторе сигнала.
Приемник GPS: большинство людей используют приемники u-blox, особенно NEO-M8N и NEO-M8P. NEO-M8N дешевый и доступный от китайских компаний, таких как HobbyKing, как правило, в форме диска. Удобно, эти они содержат приемник самого, очень небольшую керамическую антенну заплаты, и часто включают компас. В то время как BBBlue уже имеет встроенный компас (AKM AK8963), ArduPilot может быть настроен на использование этого «внешнего» компаса вместо своего, чтобы исключить наводки.
(Гораздо) более дорогой альтернативой NEO-M8N является NEO-M8P. Этот приемник поддерживает режим работы, известный как «RTK», или кинематический в реальном времени, который может достигать точности позиционирования в несколько сантиметров в режиме реального времени. Однако, этот вид представления приходит на цену приблизительно 10 раз дороже NEO-M8N, и это без базовой станции. Позже в руководстве я посвящу специальный раздел M8P.
Файл настройки I2C ArduPilot: /var/APM/{ArduCopter.stg,ArduPlane.stg,APMrover2.stg,AntennaTracker.stg}
sudo apt-get install i2c-tools
sudo i2cdetect -r -y 0 sudo i2cdetect -r -y 1 sudo i2cdetect -r -y 2
$ sudo i2cdetect -r -y 2
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- 0c -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70: -- -- -- -- -- -- 76 --
68 = InvenSense MPU-9250 IMU (onboard), 0c = AKM AK8963 compass (onboard), 76 = Bosch BMP280 barometer (onboard).
$ sudo i2cdetect -r -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- 1e --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
1e = Honeywell HMC5843 compass (external) — часто интегрирован в u-blox NEO-M8N-based GPS modules.
Начало работы с программным обеспечением наземной станции управления (GCS)
Скачать любой планировщик миссии (http://firmware.ardupilot.org/Tools/MissionPlanner/MissionPlanner-latest.msi) для Windows или QGroundControl (http://qgroundcontrol.com/) для Linux и Windows. Обе эти программы будут подключаться к потокам данных MAVLink, поступающим по сети (например, через UDP-порт 14550) или через COM-порты.
Дополнительно
Оснащение вашего bbblue на основе беспилотного с динамиком Bluetooth может быть весело, при условии, что передачи Bluetooth RF не мешают каких-либо других систем. На BlueZ/PulseAudio/ALSA есть куча информации, но, к счастью, все сводится к чему-то довольно простому.
a) сначала установите необходимое программное обеспечение (с помощью консоли или образа IoT):
sudo apt-get install -y bluetooth pulseaudio pulseaudio-module-bluetooth alsa-utils
b) Включить Bluetooth (если отключено): sudo systemctl enable bb-wl18xx-bluetooth.service
c) Отредактируйте /etc/pulse/default.pa:
### Automatically suspend sinks/sources that become idle for too long
# load-module module-suspend-on-idle
d) Перезагрузите: sudo reboot
e) После загрузки BBBlue включите Bluetooth-колонку в режим соединения:
bluetoothctl
scan on
agent on
default-agent
pair <Bluetooth speaker's MAC address> # <--- e.g. AB:58:EC:5C:0C:03
connect <Bluetooth speaker's MAC address> # <--- Sometimes unnecessary.
trust <Bluetooth speaker's MAC address>
scan off
exit
f) Наконец:
pulseaudio --start
echo "connect <Bluetooth speaker's MAC address>" | bluetoothctl
pactl list # <--- Use this to check that your Bluetooth speaker has been picked up by PulseAudio.
pacmd set-card-profile 0 a2dp_sink
aplay /usr/share/sounds/alsa/Front_Center.wav
Вот и все! Кстати, если вы собираетесь использовать синтезатор речи, я рекомендую Festival.
Если Вы желаете помочь — просьба написать мне в ЛС или ВК, FB.
habrastorage.org/webt/mt/lh/91/mtlh91x8jag1t-ibt_np3uayuke.jpeg
Спасибо, что дочитали, спрашивайте и критикуйте нас полностью.
Search code, repositories, users, issues, pull requests…
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Sign up
Ardupilot MegaThe Ardupilot Mega control software can easily be loaded onto your board using the APM Mission Planner software. Full instructions on how to build the Ardupilot board, as well as load the software and fly your UAV is located here at Google Code project site. |
Ardupilot LegacyThe Ardupilot software is loaded using the Arduino IDE. Full instructions on how to build the Ardupilot board, aswell as load the software and fly your UAV is located here at the Google Code project site. |
1. Download and Install Mission Planner
Go to the Arducopter Downloads page here. and download the latest version of the Mission planner installer. It will be called APMPlanner.msi, download the 32, or 64 bit version depending on which windows you are using. |
|
Once you have downloaded the installer, run it and follow the on screen instructions. Please note that the mission planner installer will also install all of the system drivers required by arducopter, if any warning messages appear, please select «Install this driver software anyway» button |
|
2. Connect ArduPilot to your computer and open Mission Planner
Once the install has completed, you can now plug in your ArduPilot Mega board to your computer. Wait a few moments while windows recognised and installes the drivers for the board. Dont connect your APM board via a USB HUB |
APM should now be recognized and show up in your Windows Device Manger (which you can find in the Windows Control Panel) |
Now you can open the mission planner software, but do not click the connect button, you must first load the correct firmware. To do this click on the firmware icon as shown, and select the relevant code you want to load. In this case, load the Arducopter Code that is relevant to your frame. When you click on the relevant icon to load the code, a progress bar how the firmware update is progressing, you may also notice many lights flashing on your ardupilot board. Once the firmware has loaded the bar will be completely green.
|
|
Congratulations, you have now loaded the latest firmware onto your ardupilot mega board. The next guide will show you how to connect everything on arducopter together.