Arduino

технологии

Как я купил hexapod-а

Начало

Как очень многих людей, которые выросли на книгах Айзека Азимова, меня всегда увлекали робототехника и искусственный интеллект. Но если раньше это были только книги и фильмы, то с появлением таких платформ, как Lego Mindstorms EV3 и Arduino, все сильно изменилось. Робототехника стала доступна как никогда. Именно в такой последовательности я начал ее изучения: сначала Lego Mindstorms, а потом уже Arduino. Основные преимущества Lego Mindstorms - это низкий порог вхождения из-за доступного графического языка программирования, а также совместимость с Lego Technic, что позволяет расширять количество деталей любым набором этой серии. Из него можно собрать как простую радиоуправляемую машинку, так и робота, собирающего кубик-рубика, принтер или сложный манипулятор. От колесных и гусеничных роботов до простых шагающих. С помощью датчика цвета можно заставить робота ехать строго по нарисованной полосе, а с помощью гироскопа можно создать робота, балансирующего на двух колесах.

Lego Mindstorms EV3

От Lego к Arduino

Как только я им увлекся, мне очень быстро стало не хватать их графического языка, да и для меня он был банально неудобен. Поэтому был найден проект Lejos, который позволяет программировать Lego Mindstorms на чистом Java. Я довольно долго забавлялся с ним. Но у Lego Mindstorms если очень большой недостаток: дороговизна. К блоку управления можно подключить лишь 4 мотора и 4 датчика, поэтому, чтобы собрать хотя бы более-менее сложный манипулятор, нужно иметь 2-3 набора. А чтобы собрать сложного шагающего робота, то с десяток. Даже если купить 10 наборов, то возникнет проблема коммуникации блоков управления, а также из-за большого размера сервомоторов, устройство получится очень громоздким. А мне всегда хотелось собрать именно шагающего робота. Поэтому я и решил попробовать Arduino.

Arduino boards

С Arduino, как это не странно, все стало намного проще. Во-первых программируется он на C++, что для меня было очень удобно. Во-вторых, практически неограниченность по масштабированию, так как в Китае наладили производство плат и заказать их можно очень дешево. А детали Lego мне чуть позже заменил 3D-принтер. Больше всего мне хотелось создать гуманоидного робота, но я решил начать с чего-то попроще. Пошарил по интернету и наткнулся на шестиногого робота hexapod-а. Он очень устойчив из-за низкого центра тяжести, для него проще реализовать алгоритм шагов, так как когда он делает шаг, он остается устойчиво стоять на трех ногах.

Дальше было два варианта: купить сервомоторы (их нужно минимум 18 - по 3 для каждой конечности) и контроллер для них, а корпус сделать самому, либо купить готового робота и начать его дорабатывать/переделывать. Я решил купить именно готового. Во-первых, на тот момент у меня еще не было 3D-принтера, а во вторых, основную часть стоимости составляли именно сервомоторы, при заказе их по-отдельности выходило не сильно дешевле. В итоге, сравнивая разные варианты, мне попался робот с названием Robo-soul Lobot CR-6. Китайский робот собран на довольно неплохих сервомоторах, которые еще и работают на напряжении 7.4В, совпадающем с напряжением LiPo аккумуляторов, поэтому преобразовывать напряжение не нужно. Робот имеет лишь небольшой контроллер, и все. Также в комплекте идет пульт управления на базе контроллера от PlayStation 2. Ну и цена вполне адекватная.

Сборка и базовый функционал

По сборке проблем не возникло - в отличии от других noname-вариантов с aliexpress, у данного производителя есть youtube-канал с подробными инструкциями. Кстати, они также делают и гуманоидного робота, базирующегося на тех же сервомоторах и том же контроллере. После сборки робота нужно подключить контроллер к компьютеру и установить программу LSC-20. Программа позволяет считывать текущее положение сервомоторов, откалибровать их, а также создать последовательность движений и записать их в одну из ячеек памяти в контроллере. Есть готовые варианты по реализацию всех базовых движений - различные варианты шагов и разворотов. После этого можно запускать эту последовательность движений с помощью кнопок на пульте управления.

Lsc-20

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

2 июня 2019