Офтоп
Никита Лихачёв

Сделай сам: Российский веб-разработчик собрал робота-газонокосилку на базе Arduino и Raspberry Pi

Программист из Подмосковья Вячеслав Голицын самостоятельно собрал газонокосилку из металла и покупных запчастей, автоматизировав её передвижение при помощи Raspberry Pi и Arduino. О процессе работы над роботом он рассказал в блоге на GeekTimes.

По словам Голицына, у него в Подмосковье с недавних пор появился газон, который необходимо было регулярно стричь. С детства обладая интересом к конструкторской деятельности, разработчик решил автоматизировать этот процесс при помощи робота.

Вы спросите: почему газонокосилка, лето ведь заканчивается, а зимы у нас долгие? Не зря ведь в народе говорят: «The winter is coming...». Возможно, ответ — банальная лень или любознательность, возможно — всё вместе, но поддерживать газон в красивом виде — задача не из простых даже при скромных размерах угодий, кои и представлены у вашего покорного слуги.

Вячеслав Голицын, веб-разработчик

Каркас для будущей газонокосилки Голицын сварил из металлических профильных труб, а колёса от тележки купил на строительном рынке. Для ведущей пары колёс житель Подмосковья использовал два двигателя от стеклоочистителей ВАЗ-2108, для покоса — двигатель внутреннего сгорания от ручной газонокосилки, а в качестве питания — аккумулятор на 12 вольт.

От батареи разработчик запитал USB-свитч, от него — Raspberry Pi, а от компьютера подал электричество на плату Arduino, которая и управляла двигателями. Помимо этого изобретатель оснастил газонокосилку веб-камерой и «Wi-Fi-свистком».

Веб-камера нужна не для наблюдения хозяина за участком, а для компьютерного зрения. При помощи библиотеки OpenCV с открытым исходным кодом Paspberry Pi собирается анализировать то, что находится в кадре: например, разместить рядом с низкорослыми растениями цветны шары-метки, чтобы машина на них не наезжала.

Движение робота-газонокосилки автоматизируется через Raspberry Pi, который с помощью скрипта на Python записывает местонахождение устройства в таблицу MySQL в виде ячеек по 0,5 метра. В зависимости от известных роботу данных ячейки таблицы окрашиваются в разный цвет: серый — там косилка ещё не была, зеленый — трава не скошена, желтый — скошена, красный — есть препятствие, синий — местоположение самой машины.

Для геолокации из-за ограниченности пространства используется не GPS, а ультразвуковые дальномеры. В случае, если газонокосилка сталкивается с препятствием, кнопка на бампере нажимается и выключает питание двигателей.

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

Учитывая, как сильно Илон Маск (да и не только он) предупреждал меня (я таки надеюсь, что ко мне он тоже обращался) об опасности искусственного интеллекта, я решил пока его не внедрять в сие изделие, дабы внезапно обрушившаяся сингулярность не перекосила все хвойники на моём участке.

Вячеслав Голицын, веб-разработчик

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

#Новость #DIY #Raspberry_Pi #применение_Raspberry_Pi #очумелые_ручки #сделай_сам #автоматизация #Arduino #газонокосилки