Роботизированный Стив I — Истоки

Первая часть многосерийной серии

Автор Райан Уокер

Несколько недель назад горстка отважных вестистов начала поиски робота-собаки. Когда эта концепция была представлена, ее многие считали некой аниматронной собакой, покрытой сервоприводами, которая будет ходить — на самом деле это платформа машинного обучения и машинного зрения.

Целями проекта являются выявление и оценка различных алгоритмов MV/ML в режиме реального времени для отображения среды и предотвращения столкновений на мобильной платформе с низким энергопотреблением. Когда все это будет сделано, это будет выглядеть как макетные платы и оптика стоимостью 1500 долларов, установленные на радиоуправляемую машину… что может пойти не так?

Мы планируем использовать следующий подход:

– Немного SLAM для локализации
– Монокулярное зрение с использованием камеры Point grey
– NVIDIA TX1 для вычислений с низким энергопотреблением
– Питание от батареи

Мозги

Для мозгов мы выбрали Nvidia TX1:

Эта присоска работает на 64-битном процессоре ARM Cortex A57, 4 ГБ оперативной памяти, видеокодере и декодере, поддерживает 6 камер, HDMI, USB, Wi-Fi, Gigabit Ethernet, 3x USART, 3x SPI, 4x I2C, 4x I2S, 256 ядер cuda и многое другое. булавки, чем швея 18-го века. Этот парень находится на другом уровне компьютерного существования, когда дело доходит до SBC.

Плата работает под управлением Ubuntu, которую легко установить. Затем мы установили JetPack, который представляет собой SDK Nvidia для машинного обучения, оптимизированный для этой установки. (вспомните 256 ядер Cuda ранее)

Для полного изложения проверьте этот выход.

Глаза

Каждой системе MV нужна камера, и для этого Point Grey стала ответом:

Мы выбрали камеру FMVU-03MTM-CS с объективом Fujinon YV2.8×2.8SA-2, 2,8–8 мм, 1/3″, креплением CS. Камера работает с разрешением 752 x 480, 60 кадров в секунду, монохром и, самое главное, — с глобальным затвором.

Традиционно камера со скользящим затвором последовательно захватывает данные пикселей, сканируя по горизонтали или по вертикали, это означает, что для каждого кадра не все пиксели захватываются в один и тот же момент времени. Обычно это видно на фотографиях вертолетов, когда несущие винты кажутся почти согнутыми. Где для 99% приложений это нормально, но для машинного зрения нужен глобальный затвор, который захватывает все пиксели в один и тот же момент времени.

Шея

Если наша камера трясется повсюду, мы ничего не сможем сделать с данными. Чтобы решить эту проблему, подвес для дрона для любителей должен помочь, им можно управлять с помощью некоторых линий ШИМ, чтобы установить рыскание, тангаж и крен, чтобы Робо Стив мог осмотреться.

Центральная нервная система

Для управления всеми низкоуровневыми периферийными устройствами, такими как подвес, моторы, светодиоды и всем остальным, что понадобится RoboSteve в будущем, я выбрал один из моих самых любимых микроконтроллеров NUCLEO-F411RE, основанный на STM32F411RE.

Эта красота этой платы разработки имеет встроенный ST-Link, который действует как полноценный отладчик Jtag, виртуальный последовательный порт и запоминающее устройство. USB будет подключен к TX1, так что я смогу программировать, отлаживать и обмениваться данными через последовательный порт с основной платы, на которой работает OpenOCD, к которой я смогу подключиться по SSH.

Тело

Для кузова мы взяли радиоуправляемую машинку от Best Buy. Ничего фантастического.

Следующий взнос

Настройтесь на следующий пост, когда мы углубимся в суть алгоритмов SLAM!!