Модернизация робота AR-100 (MK-65, MK-66)

20.10.2008

В рубрике: android robotics

Модернизация AR-100, AR-101Кому уже успела надоесть стандартная комплектация робота 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)"

Сашка сказал:
20 октября 2008

Ни хрена не понял но спасибо ооочень интересная новость

Константин сказал:
20 октября 2008

Обращайся.. И бабосы готовь.. А то всё себе без разрешения захапал ;)

Anton сказал:
22 января 2009

А где можно прочитать про MK65/66? Не рекламные плакаты, а именно про архитектуру?

Оставить комментарий

Имя : 
Почта : 
Сайт : 
Комментарий :