Красивый газон требует постоянного ухода — полива и стрижки. Очевидно, что постоянную нагрузку по этим процедурам — лучше передать роботам. В этой статье я расскажу о своих впечатлениях от робота проекта Ardumower.
Надо сказать, что из наборов для самостоятельной сборки (с возможностью потом «ковыряться» в софте) — сейчас доступен фактически только этот самый ardumower. Идея взять готовый робот и потом хакать его — была отвергнута по понятным причинам. А опыт для самостоятельного конструирования такого девайса «с нуля» — отсутствовал полностью, так что выбора особого не было.
Набор представляет собой шасси из прочного толстого пластика в виде коробки с толстыми алюминиевыми профилями, скрепляющими стенки между собой. Два 25-сантиметровых колеса, выполненных из того же пластика, приводятся во вращение двумя коллекторными моторами с понижающими редукторами (до 20-30 оборотов в минуту при номинальном напряжении), что накладывает определенные ограничения на размер колес — они не могут быть слишком маленькими, иначе скорость езды будет слишком низкой. Сзади привинчено колесо, аналогичное тем, что используется на подвижной мебели, свободно вращающееся вокруг вертикальной оси.
Стригущий мотор представляет из себя здоровый цилиндр коллекторного мотора весом более полукилограмма (причем его мощность, фактически, не превышает 50 ватт), без редуктора, с номинальной скоростью вращения 3000-4000 RPM. На его оси закреплен, все из того же пластика, диск диаметром 190 миллиметров, на котором крепятся три маленьких ножа, откидывающихся под действием центробежной силы. Из-за малой мощности мотора и откидывающихся ножей — косить оно может только уже подстриженный газон, на заросшем участке — диск просто будет тормозиться о ковер травы и ножи ничего не скосят. Впрочем, для поддержания газона в хорошем виде, при постоянной автоматической работе — этого хватает.
Конструкция выглядит довольно простой и надежной, хотя и имеет недостатки. Например, верхняя крышка коробки корпуса, к которой крепится заднее колесо, под действием жары и нагрузки — деформируется, приобретая небольшой перманентный прогиб. Какая-либо возможность вентиляции, из-за полностью закрытой коробки — отсутствует, что при высокой окружающей температуре и черной окраске (вариант из белого пластика на сайте не был доступен, к сожалению) иногда создает проблемы электронике. Впрочем, места внутри хватает и можно установить внутри корпуса какой-нибудь вентилятор, что обеспечит минимально необходимый обдув компонентов. Колеса без протекторов — банально портят газон (на ходовые — пришлось привинтить 10-дюймовые колеса от тележки).
Крепления для датчиков практически отсутствуют (кроме дырок под сонары HC-SR04), даже для такого важного, как датчик проводного периметра, что приводит к необходимости самостоятельно выбирать места и сверлить корпус, а также крепить датчики на обычный двусторонний скотч. Для такого неопытного в данной области человека, как я — это оборачивается неизбежными ошибками при сборке. Например, я закрепил усилитель датчика периметра прямо на переднем бампере, без хорошей изоляции от внешних условий, что привело к окислению контактов — пришлось потом его заменять и разносить приемную катушку с усилителем, соединяя их экранированным проводом). Пластину датчика дождя стоило бы закрепить под углом, чтобы предотвратить скапливание воды на ней и окисление его контактов. Ну и так далее…
В плане электроники — также имеется определенные проблемы. Самая серьезная — неопытному человеку трудно понять какие собственно датчики ему нужны для заказа. Я бы порекомендовал следующий набор — датчик bumper, два или три сонара, акселерометр/компас GY-80 (другой может не поддерживаться софтом!), любой GPS, датчик дождя, ну, конечно, датчик периметра (дроссель 150 мкГн и усилитель на LM386).
Если сборка платы (использовалась доступная на тот момент версия платы 1.2, хотя сейчас уже предлагается более продвинутая 1.3) не слишком сложна (нужно паять и паять...), то сама ее схема имеет серьезные ограничения — например, ширина силовых проводников недостаточна для больших токов зарядки (сама схема зарядки не очень оптимальна и представляет из себя линейный стабилизатор тока/напряжения на LM350T), что создает проблемы для установки более емких аккумуляторов или при использовании 12-вольтовых вместо 24-вольтовых компонентов (при котором ток заряда повышается в два раза). На плате v1.2 без множества несложных, но геморройных модификаций (резать проводники, ставить резисторные делители) — можно использовать только 5-вольтовую arduino mega 2560 (зато на v1.3 обещают уже трансляторы уровней 5<->3.3 для использования более продвинутой arduino due).
Дешевые сонары HC-SR04 быстро забиваются пылью, да еще и постоянно вызывают ложные срабатывания из-за шума моторов (последнее, впрочем, достаточно легко купируется поролоновыми прокладками позади них).
Конструктор датчика bumper-а (датчики давления воздуха в пластиковых трубках, которые сминаются при столкновении с препятствием) — вообще выглядит как анекдот со смесью компонентов SMD/SMT и обычных, с выводами (причем, первые уже распаяны на плате, а вторые — предлагается припаять самому).
Зарядную станцию вообще предлагается полностью самому собрать, как механику, так и электронику (на сайте можно заказать некоторые ее компоненты — arduino nano, драйвер мотора, который используется как передатчик), что также вызвало много разных проблем.
Софт для ardumower — откровенно сырой, хотя и постоянно развивается (использовалась ветка от 26 апреля). Причем имеется два варианта — просто ardumower и ardumower-sunray (только для arduino due с внешним компьютером). Я испытывал только первый вариант и нашел в нем множество недостатков — полное отсутствие навигации по GPS (он используется только для оценки скорости робота), слишком упрощенные и постоянно ошибающиеся алгоритмы разворота у периметра (кончающиеся выездом за этот самый периметр и остановкой), множество мелких недоработок (например, подключив бистабильное реле для отключения батареи для защиты от переразряда — обнаружил, что это реле срабатывает не совсем тогда когда нужно, отключая весь робот в неподходящие моменты).
Не буду описывать мои многонедельные мучения с этим софтом, дам только ссылку на мои модификации (экстренный возврат по GPS при невозможности вернуться в его пределы при помощи стандартных процедур, поиск периметра по уровню сигнала, возврат к точке старта по GPS при разряде для экономии времени и тому подобное): https://github.com/vasimv/myardumower/tree/mymaster/code/ardumower
В заключении должен сказать, что несмотря на множество недостатков — проект ardumower весьма интересен и дает немало интересных впечатлений для всех желающих приобщиться к домашней робототехнике. Сейчас в планах — создание полностью собственного косильщика, на основе полученного опыта, с более мощными моторами (косящий мотор, например, заменю на бесколлекторный outrunner с высоким крутящим моментом, который хотя и потребляет больше, но зато уверенно состригает практически любую траву), дополнительными возможностями, типа регулировки уровня стрижки и даже солнечной батареей (по предварительным оценкам, сэкономит до 30-50% от требуемой энергии). Ну и, конечно, самое главное — полное переписывание софта для робота. Планирую также полностью отказаться от проводного периметра, используя навигацию по RTK GPS (с помощью rtklib) или радио/оптическим меткам.
Автор: vasimv