Модернизация робота AR-100 (MK-65, MK-66)
Кому уже успела надоесть стандартная комплектация робота AR-100 (я говорю о физических способностях), и все эти скучные датчики наклона, гироскопы, ультразвук и прочая попса, предлагаю более комплексное расширение, а конкретнее увеличение степеней свободы самого робота.
Ну в принципе подключить-то приводы к роботу каждый сможет, ничего особо сложного нет. Как написано в инструкции робота AR-100, на микроконтроллере MK-65 или MK-66, 24 цифровых порта, т.е. порты ввода/вывода (куда кстати кроме приводов можно подключать еще кнопки и диоды). Если смотреть на лицевую сторону контроллера, питанием в низ (как он и прикреплен к роботу), то 12 портов слева - пронумерованы сверху вниз от 1 до 12, а 12 портов справа, соответственно, 13-24. Следует запомнить эти числа, т.к. дальше придется с ними поработать.
Итак, стандартная комплектация робота AR-100 (или AR-101, и уже AR-102) включает в себя 17 серводвигателей. Подключение приводов робота к микроконтроллеру следующее:
- Левая рука: порты 1-3 (3 привода)
- Правая рука: порты 13-15 (3 привода)
- Левая нога: порты 8-12 (5 приводов)
- Правая нога: порты 20-24 (5 приводов)
- Голова: порт 4 (1 привод)
Забежим немного вперёд. В программный код.. Там есть, так называемые, “группы” приводов, их четыре штуки. Две группы по три привода, еще две по пять. Вот это и есть эти самые группы портов. Итак, использовано 17 портов - 7 штук в запасе.
Не буду вам рассказывать куда приводы добавлять, это уже сами продумайте и пофантазируйте, а мне потом фотки высылайте ;) поэтому допустим - вы подключили все 7 дополнительных двигателя в 5,6,7,16,17,18,19 порты (о боже мой!).
Ну а теперь встаёт вопрос - как ими управлять? Ведь в программе AR-Basic Studio чётко задана картинка с узлами робота с 17 степенями свободы. Расслабьтесь, исходные коды программы AR-Basic Studio воровать мы не будем, взламывать программу “Ресторатором” тоже не будем. Ведь программисты компании “Андроидные роботы”, создатели столь замечательного продукта как AR-Basic Studio, заранее побеспокоились о мобильности и расширении их платформы, но так открыто об этом не говорят.
Итак, подредактировать нужно 2 файла. Для максимальной удобности, есть еще третий, но без хорошего опыта программирования советую туда не лезть. Начнём.
Файл motors.ini
Он находится в той директории, куда вы установили AR-Basic Studio, рядом с файлом arbasic.exe. Откройте его. Объясняю.. Первая строка, это название фоновой картинки, она должна лежать там же, где и motors.ini (и соответственно arbasic.exe). Затем, группировка, и определение приводов. Расскажу подробнее:
1 2 3 4 | group=1 1=360;170 2=280;180 3=240;210 |
Определяет первую группу приводов, и присваивает ей первые три порта. То, что после знака равно - это координаты поля для ввода значения, которое вы увидите для этого привода при работе в окне “Сервомашинки” в программе AR-Basic Studio.
Вроде тут всё просто. Вот мой вариант файла motors.ini:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | 24.bmp 1=320;100 2=320;130 3=320;160 4=320;190 5=320;220 6=320;250 7=320;280 8=320;310 9=320;340 10=320;370 11=320;400 12=320;430 13=90;100 14=90;130 15=90;160 16=90;190 17=90;220 18=90;250 19=90;280 20=90;310 21=90;340 22=90;370 23=90;400 24=90;430 |
Ну я просто группами не пользуюсь, а картинку 24.bmp можно скачать здесь.
Второй файл для редактирования - servo_init.bas. Он находится чуть дальше, в каталоге include. Кто еще не понял, в этом файле хранятся три стандартных процедуры - servo_group, servo_on и servo_off.
То есть, если вы ими не пользуетесь в программе (работаете не по стандартной схеме, описанной в документации), то об этом файле беспокоится не стоит. А если всё же, вы пишите по правилам, то пересмотрите эти три функции. Точно угадать то, что увидите вы, я не могу, так как в различных версиях AR-Basic Studio эти процедуры разные.
Обратите внимание на группировку. Её нужно задать с точностью так, как вы задали в файле motors.ini, иначе вставка положений по группам из окна “Сервомашинки” будет работать неверно. При этом, команды группировки должны идти строго друг за другом, от меньшего привода к большему. То есть, если мы присваиваем первой группе приводы в порядке 3, 2, 1, то работать они не будут (так как вы хотите). Компилятор AR-Basic Studio самостоятельно наводит порядок в группах, так что сразу соблюдайте это правило, чтобы самим не запутаться.
Ну и наконец, убедитесь в том, что приводы, которые вы подключили (в моём случае все) присутствуют в командах servo_on и servo_off, иначе они у вас не будут включаться/выключаться при выполнении программы (хоть и будут отлично работать в окне управления сервоприводами).
Третий файл - basic.lng. Про него я вам ничего не расскажу. Если знаете язык ASM, то сами всё поймете. А если не знаете - сломаете ;)
Готово. Peace. ;)
3 комментария на "Модернизация робота AR-100 (MK-65, MK-66)"
Ни хрена не понял но спасибо ооочень интересная новость
Обращайся.. И бабосы готовь.. А то всё себе без разрешения захапал ;)
А где можно прочитать про MK65/66? Не рекламные плакаты, а именно про архитектуру?
Оставить комментарий