- •Содержание
- •Техническое задание
- •Введение
- •1.2 Разработка схемы алгоритма управления роботом-манипулятором
- •2 Разработка программы управления роботом-манипулятором
- •3 Вычислительный эксперимент
- •Заключение
- •Список литературы
- •Приложение а (обязательное) Текст программы
- •(Справочное) Руководство оператора
- •Приложение в (справочное) Руководство программиста
(Справочное) Руководство оператора
Назначение программы
Данная программа предназначена для управления роботом-манипулятором.
Условия выполнения программы
Корректная работа программы возможна в операционной системе Windows 7 и среде разработки программного обеспечения Microsoft Visual Studio 2010.
Выполнение программы
Для запуска программы необходимо запустить скомпилированный EXE файл программы “Manip Control.exe” из каталога программы.
При нажатии кнопки “Connect” происходит открытие виртуального COM-порта, по которому осуществляется связь между ПК и роботом-манипулятором;
При нажатии кнопки “Disconnect” осуществляется закрытие виртуального COM-порта;
При нажатии кнопки “Set” программа устанавливает звенья робота-манипулятора, в соответствии с заданными углами;
При нажатии кнопки “Refresh” происходит определение текущего наклона каждого звена робота-манипулятора;
При нажатии кнопки “Calculate” программа просчитывает решение обратной задачи кинематики и перемещение схвата робота-манипулятора в указанную точку.
При нажатии следующих клавиш клавиатуры происходит пошаговое изменение положения отдельного звена манипулятора (шаг: 1°):
“q”, “a”, “z”, “e”, “d”, “c” – увеличение угла наклона звена робота-манипулятора;
“w”, “s”, “x”, “r”, “f”, “v” – уменьшение угла наклона звена робота-манипулятора.
Приложение в (справочное) Руководство программиста
Назначение программы
Данная программа предназначена для управления роботом-манипулятором.
Условия применения программы
Условия соответствуют минимальным системным требованиям работы операционной системы Windows7:
– 32-разрядный (x86) или 64-разрядный (x64) процессор с тактовой частотой 1 гигагерц (ГГц) или выше;
– 1 гигабайт (ГБ) (для 32-разрядной системы) или 2 ГБ (для 64-разрядной системы) оперативной памяти (ОЗУ);
Характеристики программы
Программа управления роботом-манипулятором содержит следующие классы, функции и глобальные переменные:
Bitmap bmp – класс графических изображений, используемый для графического представление положения манипулятора;
SerialPort serialPort – класс последовательного COM-порта, используется для создания и настройки канала связи по стандарту RS232;
Point Point_0, Point_1, Point_2, Point_3 – классы точек, используемых при построение графического положения манипулятора;
byte[] Package – переменная, представляющая собой массив данных, используется для передачи данных на микропроцессорное устройство;
byte[] Receive – переменная, представляющая собой массив данных, используется для приема данных с микропроцессорного устройства;
int x, y, z – переменные, содержащие координаты положения схвата манипулятора;
int unit_1 ,unit_2 , unit_3 – переменные, содержащие длины соответствующих звеньев робота-манипулятора;
int angle_0, angle_1, angle_2, angle_3 – переменные, содержащие углы наклона соответствующих звеньев робота-манипулятора;
Connect_Click(object sender, EventArgs e) – функция, обрабатывающая нажатие кнопки “Connect”;
Disconnect_Click(object sender, EventArgs e) – функция, обрабатывающая нажатие кнопки “Disconnect”;
Set_Click(object sender, EventArgs e) – функция, обрабатывающая нажатие кнопки “Set”;
Renew_Click(object sender, EventArgs e) – функция, обрабатывающая нажатие кнопки “Refresh”;
Calculate_Click(object sender, EventArgs e) – функция, обрабатывающая нажатие кнопки “Calculate”;
Form1_KeyPress(object sender, KeyPressEventArgs e) – функция, обрабатывающая нажатия клавиш клавиатуры;
Описание параметров функций Connect_Click, Disconnect_Click, Set_Click, Renew_Click, Calculate_Click, Form1_KeyPress:
входные параметры: sender – объект, вызвавший событие; e – данные, которые должны быть использованы обработчиком события.
Set_Packaging(byte[] pack) – функция, формирующая пакет передаваемых данных;
Описание параметров функции Set_Packaging:
входной параметр: byte[] pack – пустой массив данных;
выходной параметр: byte[] pack – заполненный массив данных.
ServoStepper(int Servo_num, int Direct) – функция, осуществляющая пошаговое управление звеньями робота-манипулятора;
Описание параметров функции ServoStepper:
входные параметры: int Servo_num – номер сервопривода (от 1 до 6); int Direct – направление вращения (“0” – вращение влево, “1” – вращение вправо);
выходной параметр: Stepped – следующее положение сервопривода (от 0 до 180 градусов).
Контрольный пример:
При начальном положении сервопривода 1 равном 60 градусов и входными параметрами Servo_num=1, Direct=1, выходной параметр Stepped = 59.
Direct_points(int X, int Y, int Z) – функция, осуществляющая решение обратной задачи кинематики относительно заданной координаты;
Описание параметров функции Direct_points:
входные параметры: int X – положение схвата манипулятора по координате X; int Y – положение схвата манипулятора по координате Y; int Z – положение схвата манипулятора по координате Z.
выходные параметр: Angle_0 – угол поворота манипулятора относительно оси Z в градусах от 0 до 180; Angle_1 – угол поворота первого звена манипулятора относительно оси Y в градусах от 0 до 180; Angle_2 – угол поворота второго звена манипулятора относительно оси Y в градусах от 0 до 180; Angle_3 – угол поворота третьего звена манипулятора относительно оси Y в градусах от 0 до 180;
Контрольный пример:
При входных параметрах X=15, Y=20, Z=10, выходные параметры Angle_0=36, Angle_1=88, Angle_2=73, Angle_3=129.
Converting(double Lenght, double Func) – функция, осуществляющая определение координаты звена;
Описание параметров функции Converting:
входные параметры: Lenght – длина звена, Func - тригонометрическая функция угла наклона звена.
выходной параметр: Converting – координата положения звена.
Контрольный пример:
При входных параметрах Lenght = 15, Func = cos(60), выходной параметр Converting = 7.5.
Scalar(double x, double y) – функция, определяющая модул вектора;
Описание параметров функции Scalar:
входные параметры: x – координата по оси Х, y – координата по оси Y.
выходной параметр: Scalar – модуль вектора.
Контрольный пример:
При входных параметрах x = 10, y = 15, выходной параметр Scalar = 18.03.
aCos(double A, double C) – функция, определяющая угол по прилежащей стороне и гипотенузе;
Описание параметров функции aCos:
входные параметры: A – длина стороны A треугольника, C – длина гипотенузы треугольника.
выходной параметр: aCos – угол между прилежащей стороной и гипотенузой.
Контрольный пример:
При входных параметрах A = 10, C = 15, выходной параметр aCos = 48.2.
aCos_Theorem(double A, double B, double C) – функция, определяющая угол в треугольнике по теореме косинусов;
Описание параметров функции aCos_Theorem:
входные параметры: A – длина стороны A треугольника, B – длина стороны B треугольника, C – длина гипотенузы треугольника.
выходной параметр: aCos_Theorem – угол между прилежащей стороной и гипотенузой.
Контрольный пример:
При входных параметрах A = 20, B = 20, C = 28, выходной параметр aCos_Theorem = 45.
Drawning() – функция, осуществляющая графическое построение положения робота-манипулятора.
