Производственный язык
Парадигма | Императивный ( процессуальный ) |
---|---|
Разработано | Рассел Х. Тейлор |
Впервые появился | 1978 год |
Основные реализации | |
ПОД, ПОД/2, ПОД/Е, ПОД/V, ПОД/X | |
Под влиянием | |
АЛГОЛ 68 , ПАРУС , АЛ [1] [2] |
Производственный язык ( AML ) — это язык программирования роботов, созданный IBM в 1970-х и 80-х годах для робота RS 1 и других роботов из линейки продуктов Robot Manufacturing System. [3] [4] Системы использовались для автоматизации производства такими клиентами, как Plessey и Northern Telecom . [5] Они больше не числятся в списке доступных от IBM, но роботов и их детали иногда можно найти в использованном состоянии на аукционах, и их ремонтируют любители. [6]
AML/2, AML/E, AML/V и AML/X являются версиями и производными AML. [7]
Программы AML могут вызывать подпрограммы, написанные на AML, C или FORTRAN. Программы пишутся в автономном режиме и могут быть протестированы с помощью автономного симулятора. Перед выполнением на роботе они загружаются в оперативную память блока управления робота. [8]
Пример исходного кода
[ редактировать ]В следующем примере показан код программы «привязка в дырке». [9]
PICKUP: SUBR (PART__DATA, TRIES);
MOVE(GRIPPER, DIAMETER(PART__DATA)+0.2);
MOVE(<1,2,3>, XYZ__POSITION(PART__DATA)+<0,0,1>);
TRY__PICKUP(PART__DATA, TRIES);
END;
TRY__PICKUP: SUBR(PART__DATA, TRIES);
IF TRIES LT 1 THEN RETURN('NO PART');
DMOVE(3,-1.0);
IF GRASP(DIAMETER(PART__DATA)) = 'NO PART'
THEN TRY__PICKUP(PART__DATA, TRIES - 1);
END;
GRASP: SUBR(DIAMETER, F);
FMONS: NEW APPLY($ MONITOR, PINCH__FORCE(F));
MOVE(GRIPPER, 0, FMONS);
RETURN( IF QPOSITION(GRIPPER) LE DIAMETER/2
THEN 'NO PART'
ELSE 'PART' );
END;
INSERT: SUBR(PART__DATA, HOLE);
FMONS: NEW APPLY($ MONITOR, TIP__FORCE(LANDING__FORCE));
MOVE(<1,2,3>, HOLE+<O,O,.25>);
DMOVE(3, -1.0, FMONS);
IF QMONITOR(FMONS) = 1
THEN RETURN('NO HOLE');
MOVE(3, HOLE(3) + PART__LENGTH(PART__DATA));
END;
PART__IN__HOLE: SUBR(PART__DATA, HOLE);
(PICKUP PART__DATA 2.);
(INSERT PART__DATA HOLE);
END;
Внешние ссылки
[ редактировать ]- «Робототехника IBM: инструменты для передового производства» , в разделе «Экспонаты» в «Архивах IBM» .
Ссылки
[ редактировать ]- ^ Тейлор, Р. Х. «Рассел Х. Тейлор - ранние исследования» , веб-страница факультета Университета Джонса Хопкинса . Проверено 6 июля 2019 г.
- ^ Тейлор, Р. Х. «Синтез программ управления манипулятором на основе спецификаций уровня задач» , Стэнфордская лаборатория искусственного интеллекта (спонсируется Агентством перспективных исследовательских проектов , Министерство обороны , Национальный научный фонд ), Memo AIM-282, июль 1976 г.
- ^ IBM. «Робототехника IBM: инструменты для передового производства» , Архивы IBM, Лондон, 27 октября 2005 г. Проверено 11 июня 2019 г.
- ^ Исследовательский центр IBM Watson . «Искусственный интеллект (субдисциплина)» , раздел Робототехническая система IBM RS 1 (1980-е годы), обновлено 9 ноября 2017 г. Проверено 11 июня 2019 г.
- ^ Ричард К. Дорф, Шимон Ю. Ноф, редакторы. «Международная энциклопедия робототехники: приложения и автоматизация» , Vol. 1., John Wiley & Sons, Нью-Йорк, 1988, стр. 216, 219.
- ^ Слиптоник. «Робот IBM 7575 Scara наконец-то работает» , YouTube , 9 апреля 2018 г. Проверено 11 июня 2019 г.
- ^ Р. Х. Тейлор, П. Д. Саммерс, Дж. Мейер. «AML: A Manufacturing Language» , Международный журнал исследований робототехники, 1 (3), 19–41, 1 сентября 1982 г. Проверено 11 июня 2019 г.
- ^ Кореин, Ю., Майер, GE и др. «Конфигурируемая система для автоматизации программирования и управления» , на конференции IEEE Conf. по робототехнике и автоматизации, Сан-Франциско, апрель 1986 г., стр. 1871–1877.
- ^ Лосано-Перес, Томас . «Программирование роботов» , Массачусетский технологический институт А.И. Лаборатория (для Агентства перспективных исследовательских проектов , Управления военно-морских исследований ), AI Memo № 698, декабрь 1982 г., с. 33.