Инструкция по эксплуатации программного обеспечения (961940)
Текст из файла
Инструкция по эксплуатации (ИЭ-1)
программного обеспечения
Блок управления манипулятора «Скамко-1»
Содержание
1. Описание программного обеспечения
1.1. Программа «Система управления робота Скамко-1» (ckamko.exe)
1.2 Система команд интерпретатора.
1.3 Команды движения
1.4 Модуль драйвера порта
1.5 Пульт ручного управления
2. Протокол обмена между ПК и блоком управления
3. Алгоритмы ПО приводного уровня.
3.1 Алгоритм основного цикла программы
3.2 Алгоритм обработки сервисных команд
3.3 Алгоритм управления работой привода
3.4 Алгоритм режима калибровки с помощью концевых датчиков
3.5 Алгоритм разгона/торможения привода
4. Инструкция по прошивке микроконтроллеров Atmega128 и Atmega8
1. Описание программного обеспечения
1.1. Программа «Система управления робота Скамко-1» (ckamko.exe)
Программа «Система управления робота Скамко-1» (файл ckamko.exe) представляет собой интерфейс верхнего уровня системы управления робота.
Она предназначена для организации взаимодействия СУ с пользователем и позволяет:
-
Обеспечивать связь между компьютером с операционной системой Windows XP и контроллером управления приводами и технологического оборудования.
-
обеспечивать связь с вышестоящим уровнем системы управления по сети
-
обеспечивать связь с системой технического зрения
-
осуществлять непрерывную диагностику приводов манипулятора
-
контролировать текущие координаты всех звеньев манипулятора и его схвата
-
обучать робот точкам
-
решать прямую и обратную кинематические задачи в целях управления роботом в позиционном и контурном режимах.
В ее состав вошли:
-
Интерпретатор робото-ориентированного языка на основе Javascript
-
Модуль драйвера COM-порта
-
Пульт ручного управления
-
Модуль для работы с файлами
Ядро программы представляет интерпретатор робото-ориентированного языка программирования. Разработанный мною язык программирования базируется на языке Javascript и поэтому подчиняется всем правилам, которые ему присущи. Мною был разработан набор из 17 макрокоманд, доступных пользователю. Синтаксис макрокоманд похож на синтаксис языка ARPS, что делает обучение пользователя, знакомого с ним, работе с языком программирования робота «Скамко-1» очень быстрым.
Скриптовые языки одним из которх является Javascript работают с системными функциями через COM автоматизацию (COM Automation), поэтому мною был создан COM сервер Control c одним интерфейсом, содержащим 17 методов (method) и несколько служебных свойств (property). Для того чтобы подключиться к серверу автоматизации Jasvasript использует функцию ActiveXObject(), передавая ей ProgID сервера. Для запуска файла *.js используется программа WinScript, входящая в состав операционной системы Widows XP. Это позволяет отслеживать завершение одноименного процесса операционной системы, а соответственно и выполнения скрипта. Запуск набранной пользователем программы осуществляется по схеме, упрощенно показанной на рисунке 1.
Рис 1
Файл functions.lst содержит описание макро-команд обращения к интерфейсным функциям сервера Control. Набор описаний может быть расширен при доработке языка программирования и расширения его системы команд. Структуру макро-описания рассмотрим на примере команды GO( ). Входным параметром является структура типа POINT, которая задается командой POINT (X, Y, Z, PHI), где X, Y, Z, PHI – это соответственно координаты и ориентация схвата в декартовой системе координат. Кроме того, структура POINT дополняется еще 10 полями при использовании локальной системы координат, речь о которой пойдет ниже.
Пример описания макрокоманды:
function GO(pt)
{
if (pt.using_frame != 111)
{
server.Go(pt.x, pt.y, pt.z, pt.orient);
}
else
{
server.Go_Frame(pt.x, pt.y, pt.z, pt.orient, pt.x1, pt.y1, pt.z1, pt.x2, pt.y2, pt.z2, pt.x3, pt.y3, pt.z3);
}
}
Сначала идет ключевое слово function, говорящее о том, что текст заключенный в фигурные скобки, представляет собой описание макрофункции. Затем идет название функции GO и ее входной параметр pt. По значению поля using_frame структуры point интерпретатор определяет, является ли эта точка заданной в глобальной системе координат, или она задана в системе координат какого-либо фрейма. Если точка задана в глобальной системе координат, то следует вызов метода Go сервера автоматизации. Описание методов находится в файле CONTROLIMPL.СPP ( Implementation of TControlImpl (CoClass: Control, Interface: IControl) ). Если значение using_frame установлено в 111, то точка задана в локальной системе координат фрейма, поэтому вызывается другой метод – Go_Frame. Его входные параметры кроме координат и ориентации схвата содержат координаты трех точек, по которым составляется фрейм.
Интерфейс пользователя представлен на рисунке 2
Рис 2
Команды вводятся пользователем с клавиатуры в окне «Text». При этом должны быть соблюдены определенные правила, называемые синтаксисом языка.
Каждая новая команда и вообще ключевое слово должны вводиться с новой строки. В конце строки должна ставиться точка с запятой(;).
После того как программа набрана и нажата кнопка «Выполнить» программа проверяет синтаксис текста. Если встречается ошибка, то ее код и содержание выдается пользователю в всплывающем окне, которое генерирует JavaScript. В настоящее время коды ошибок не расшифровываются, однако это легко реализовать, воспользовавшись механизмом «исключений» (exception), которые генерирует операционная система Windows XP и программа WinScript в частности.
Из-за того, что манипулятор «СКАМКО» не обладает датчиками положения текущее положение сочленений неизвестно. Поэтому предлагается прежде чем перемещать схват в нужную точку выполнить операцию калибровки. Данная задача реализована командой “CALIBRATE()”. Встречая этот оператор, интерпретатор выдает команду на калибровку системы управления, а после получения отчета о выполнении, осуществляет перемещение всех звеньев в нулевое (домашнее) положение. После этого продолжается разбор следующих команд.
1.2 Система команд интерпертатора.
CALIBRATE() - без параметров. Запускает процедуру калибровки
SPEED(X) X –целое. Задает скорость передвижения манипулятора
DELAY(MS) – задержка в миллисекундах
OPEN() – без параметров. Открывает схват манипулятора
CLOSE() – без параметров. Закрывает схват манипулятора
PRINT(“message”) – выводит текстовое сообщение в появляющемся окне.
Для следующих команд в качестве аргумента используется структура типа POINT.
struct Point{ VARIANT x; VARIANT y; VARIANT z; VARIANT orient; };
Для задания точки служит команда POINT (X, Y, Z, Orientation).
Пример задания точки : var point1 = POINT (1, 2, 3, 4);
Локальная система координат FRAME
Для задания локальной системы координат служат 2 команды.
MAKEFRAME(точка1, точка2, точка3) – задает фрейм по трем точкам POINT
var frame = MAKEFRAME(pt1, pt2, pt3);
точка pt1 – начало системы координат фрейма
точка pt2 – направление оси Х фрейма относительно точки pt1
точка pt3 – точка, через которую проходит плоскость, параллельная оси X фрейма.
POINTTOFRAME(точка , фрейм) - задает точку POINT в локальной системе координат FRAME.
Pt1 = POINTTOFRAME(pt, frame); - в этом случае точка pt имеет координаты X, Y, Z, PHI в глобальной системе координат, а точка Pt1 имеет численно равные координаты X, Y, Z, PHI в системе координат фрейма frame.
При использовании фрейма пользователь вызывает те же команды интерпретатора, что и без него, однако как это было сказано выше, запускаются другие функции сервера автоматизации Control. При работе с фреймом локальные координаты точки пересчитываются в глобальные вследствие следующих зависимостей:
Рис 3
Пусть имеются две системы координат с центрами O и О1 соответственно, тогда вектор OA = OO1+O1A. Пусть координаты точки А в системе координат (О1, x1, y1, z1) известны, тогда для вычисления координат искомого вектора OA выполним следующие операции над вектором O1A:
OA = R * O1A + OO1, где R – матрица 3x3, а OO1 – вектор 3x1.
Вектор OO1 имеет координаты точки начала фрейма и по умолчанию нам известен.
Предположим, что начала введенных систем координат совпадают и найдем матрицу R.
Элементы каждого столбца матрицы поворота R представляют собой компоненты проекции каждого орта системы OX1Y1Z1 на оси системы OXYZ.
Рис 4
Точка M имеет координаты (P2X, P2Y, P2Z), точка N - (P3X, P3Y,P3Z) – они так же задаются пользователем в команде создания фрейма.
Сперва найдем направляющие косинусы оси OX1:
Рассмотрим треугольник ONM:
Рис 5
Соответственно направляющие косинусы:
Оставшийся третий орт находится как векторное произведение: Z1 = X1 x Y1
Таким образом команды, использующие фреймы переходят от координат локальной системы координат к глобальной.
1.3 Команды движения.
MOVEJOINT(JOINT, ANGLE) – Поворачивает степень JOINT манипулятора на угол ANGLE
GO(A) – A – это точка POINT. Выводит манипулятор в точку A. Без планирования траекторий степеней подвижности.
GOS(A) – A – это точка POINT. Выводит манипулятор в точку A. Движение выполняется от текущей точки к точке A по прямой.
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.















