Хелпикс

Главная

Контакты

Случайная статья





Программная часть. Манипулятор



Программная часть

Вся эта композиция управляется одним небольшим Android-приложением. На него ложится много задач: Определение фигур на доске, расчёт углов для манипулятора, работа с шахматным движком, также реализовано пара голосовых сообщений робота по типу «Я поставил вам шах! » и «Спасибо за игру! ». Но при всём этом интерфейс приложения уместился в один экран.

 

Система технического зрения реализована довольно просто. С ракурса телефона нет особой разницы между, скажем, королём и конём — визуально обе эти фигуры будут выглядеть как чёрные и белые кружки. Поэтому система не знакомится с увиденной ею позицией каждый раз заново, а запоминает последовательность всех сделанных ходов. А сделанный ход определить очень просто: если в какой-то момент времени программа видит, что в одной клетке фигура пропала, а в другой появилась, то это и будет считаться ходом. Примерно так это и работает.

Такой вариант технического зрения реализован исключительно через Android API, без использования OpenCV или чего-то похожего. Это не то чтобы правильно, причина здесь — личный интерес реализовать всё практически с нуля.

 

Манипулятор

Очень много творческих поисков ушло на то, чтобы придумать такую конструкцию манипулятора, которая может достойно выполнять свою работу с имевшимися у меня в большом количестве дешёвыми китайскими сервоприводами TowerPro sg-90, которые не отличаются высоким качеством работы. Поэтому оба плеча манипулятора выполнены в виде параллелограммов, это позволяет системе захвата фигур всегда оставаться в вертикальном положении. Это, в свою очередь, лишает необходимости добавлять ещё один сервопривод, следовательно, в системе будет меньше погрешностей, позволяет ей быть легкой и надёжной. Так как шестерёнки тоже сделаны из дерева, то трудно добиться высочайшего качества их работы, поэтому для компенсации люфтов манипулятор перед каждым ходом делает движение в бок, чтобы подходить к каждой точке с одной стороны.

Что касается питания, то его робот его получает от двух плат из обычных зарядок для телефона, которые благополучно расположились в корпусе. Одна зарядка питает сам контроллер вместе с Bluetooth-модулем, другая — непосредственно механику. Для того чтобы сделать освещение, была разобрана светодиодная лампочка. Как оказалось, внутри неё находится две платы: на одной расположились светодиоды, на другой — преобразователь питания. Одна крепится на кронштейне, другая помещается в корпус коробочки. Всё питание выведено на небольшую панельку на боковой стороне корпуса коробочки:

 

Ещё одна картинка, на которой показана рабочая область манипулятора для отмеченной на нём красной точки. Для нулевой оси диапазон углов составляет 180°.

 

Сделать такого робота у меня получилось не сразу, некоторые прототипы работали весьма плохо, а некоторые сгодились для другой работы. Например, робот в видеоролике ниже кладёт сахар в кружку и помешивает чаёк.

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.