Научная статья на тему 'Разработка систем управления тренажера на основе платформы Стюарта'

Разработка систем управления тренажера на основе платформы Стюарта Текст научной статьи по специальности «Математика»

CC BY
637
118
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Colloquium-journal
Область наук
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Разработка систем управления тренажера на основе платформы Стюарта»

Ермилов Глеб Сергеевич

Студент магистратуры 2 курс, Кафедра промышленной информатики Институт информационных технологий МИРЭА - Российский технологический университет

Россия, г. Москва РР1: 10.24411/2520-6990-2020-11786 РАЗРАБОТКА СИСТЕМ УПРАВЛЕНИЯ ТРЕНАЖЕРА НА ОСНОВЕ ПЛАТФОРМЫ СТЮАРТА.

Ermilov Gleb Sergeevich

Graduate student 2 year, Department of Industrial Informatics Institute of Information Technology MIREA - Russian Technological University

Russia, Moscow

DEVELOPMENT OF SIMULATOR MANAGEMENT SYSTEMS BASED ON THE STUART

PLATFORM.

ВВЕДЕНИЕ

В данной работе осуществлено подробное исследование электромеханической модели платформы Гью-Стюарта, основанной на базе микроконтроллера Arduino. Проанализирована математическая модель физического объекта.

Для управления положением платформы решается обратная задача кинематики. Получены зависимости их решения. Изучены аспекты использования стендовой модели и её практического применения. Описаны перспективы внедрения, сопровождения и обслуживания. Разработана краткая финансовая модель экономического обоснования.

1 МАТЕМАТИЧЕМСКАЯ И

ФИЗИЧЕСКАЯ МОДЕЛИ 1.1 Готовность проекта

В этом проекте мною была реализована платформа Стюарта.

В данной работе механизм-манипулятор обеспечивает шесть степеней свободы подвижной платформы. Проект конструкции может быть использован для установки зеркальной видеокамеры, манипулирования небольшими объектами и создания симуляторов, необходимых для тренажеров, таких как авиа-тренажеры и автотренажеры.

В данной конструкции, вместо линейных акту-аторов используются обычные хобби-сервы для передачи движения. Управление платформой осуществляется помощью платы Arduino, в которой проводятся все необходимые расчеты для обеспечения выхода платформы в заданную позицию и управления сервоприводами.

Рисунок 1. Схема разрабатываемого макета платформы Гью-Стюарта

1.2 Принципиальная схема

На данной схеме предоставлена принципиальная схема устройства тестирования методов стабилизации.

Рисунок 2. Принципиальная схема

В схеме представлен микропроцессор на базе Ардуино, с питанием от компьютера. К нему подсоединены шесть сервоприводов. Микропроцессор получает данные о необходимом отклонении и согласно вычислениям, произведенным по формулам и математической модели, приводит в движение соответствующие двигатели. Крепления, соединяю-

щие рейки с платформой и неподвижной базой, используют принцип работы кривошипно-шатунных опор.

1.3 История платформы Стюарта

Платформа Стюарта - вид синхронного механизма, включающий шесть приводов головок, которые установлены в парах к основе конструкции, пересекая к трем верхним пунктам на основной платформе.

Рисунок 3. Платформа Гью-Стюарта

Разработанный Гью и Стюартом. Одноименное название - «Платформа Стюарта» теперь широко используется, но было бы более справедливо назвать его «Платформой Gough/Stewart». Впервые

с платформой мы знакомимся в работе В.Е. Гью (1956 год). Стюарт упоминается в связи с этой платформой в 1965 году, в комментариях эксперта,

/ technical science

Стюарт предложил альтернативу - смешанный механизм на трех ногах, с расположенными на каждой ноге по два мотора.

Существуют различные модификации устройства платформы Гью-Стюарта. Данные различия платформы в расположением шарниров и основании: шарниры каждой группы либо устанавливают одинаково (в основании правильного шестиугольника), или соединяют шарниры парами и далее соединяют каждую пару в один шарнир.

Платформа Гью-Стюарта имеет очень длительную и разнообразную историю модификации, и развития. Первоначально платформа стала применяться в создании подвижных имитационных испытательных стендов, и уже позднее стала применяться при создании разнообразных манипуляторов, роботов и других механизмов.

Применение платформы Стюарта Платформа Стюарта — это разновидность манипулятора с механизмом контроля и управлением движения, широко используемая до наших дней в космосе, автомобилестроении, навигации, навесных мостах, контроле положения телескопов, позиционировании спутниковых антенн, летальных тренажерах и т.д.

Cам принцип работы микроконтроллера можно описать последовательной передачей данных с датчиков на микроконтроллер, а затеем на телеметрию и на двигатели. После получения данных с датчиков микроконтроллер вычисляет необходимые действия, основываясь на различных показателях и выбирает действия, в зависимости от них.

Рисунок 4. Обработка данных контроллером.

1.4 Математическая модель

Рисунок 5. Кинематическая схема платформы Гью-Стюарта с шестью степенями свободы

Рассматриваемая в данной работе модель состоит из подвижной платформы, моделируемой шестиугольником, гексагоном, Который соединяется кривошипно-шатунными опорами с неподвижным основанием. Кривошипы приводятся в действие сервоприводами, установленными в основание модели. Точки A1,A2,A3,A4,A5,A6 обозначают места крепления кривошипов к сервоприводам. Шатуны соединяются с кривошипами с помощью сфериче-

ских шарниров в точках D1,D2,D3,D4,D5,D6. Другим концом каждый из шести шатунов крепится к верхней платформе в точках B1,B2,B3, находящихся на краю диска, с помощью сферических шарниров.

Треугольная схема опоры крепиться непосредственно в гексагону. Точки крепления шатунов на платформе образуют правильный треугольник с радиусом описанной окружности Rb. Изменяя угол поворота кривошипов, можно задавать положение

платформы, которая имеет шесть степеней свободы.

Заметим, что для измерения положения платформы число координат вектора q избыточно. В точках Di и Ai находятся попарно соотносящиеся оси и цилиндрические шарниры, которые обеспечивают нахождение проекции на прямой ОА на плоскости О'ху, каждой из точек Вг Чтобы найти зависимость между координатами, введем уравнения связей, соответствующие кинематике платформы:

Возьмем в качестве независимых координату qз центра подвижной платформы по оси О^ и углы поворотов q4,q5 относительно осей О'х и О'у. Остальные координаты выразим через независимые переменные. Обозначим выбранные независимые координаты р: = qз, р2 = q4, Рз = q5 и возьмем их в качестве новых выявленных координат, однозначно принимающих положение платформы. Тогда система уравнений Лагранжа примет вид:

Обобщенные силы и кинетическая энергия находятся по соответсвующим формулам. В связи с громоздкостью явной записи уравнений динамики необходимо выделить среди всех возможных движений платформы такой класс плоскопараллельных движений, при которых углы поворота двух кривошипов равны. Для определенности, будем считать, что в процессе движения выполняется равенство а1 = а2.

Таким образом, у нас остались только две независимые обобщенные координаты q3 и q4. Заметим, что из уравнений связей q2 выражается через ФС

Для дальнейшего решения необходимо сделать одно допущение. В виду громоздкости записи решений уравнений, рассмотрим задачу, взяв только первые члены разложений в ряды Тейлора по углам аь Тогда получим следующие решения для га в первом приближении:

Рисунок 6. Зависимость управляющих сил.

<<Ш11ШетиМ~^®и©Ма1>#Щ64)),2©2© / TECHNICAL science

Тогда решая уравнения Лагранжа, получим следующие значения для управляющих сил F1,F2,F3, изображенные на рисунке 6. При этом имеем в соответствии с симметрией выбранной категории движений F1 = F2. Имея величины сил и направления их действия, легко сможем вычислить моменты в кривошипах, которые будут сопоставимы этим силам. Для случая платформы с шестью кривошино-шатунными опорами написана программа и создана действующая физическая модель, управляемая с помощью микроконтроллера.

2 Экономическое обоснование проектной деятельности

Экономическое обоснование проекта основано на широком применении модели Стюарта в современных технологиях. Автотренажеры пользуется широким спросом и в нашем ожидании, этот спрос будет увеличиваться вместе с развитием роботизированной техники, искусственного интеллекта и компьютерных технологий.

Отраслевые Особенности

На сегодняшний день российские (и мировые) производители автотренажеров выпускают качественное оборудование, с высокотехнологичным программным обеспечением. Отечественные тренажеры котируются на одном уровне с мировыми лидерами. А если учесть внутреннюю специфику, предпочтение можно отдать отечественным производителям. В ближайшее время мы можем ожидать тенденции усовершенствования автосимуляторов с ростом их технических возможностей, расширения сфер применения, доступности и надежности.

Государственная поддержка. В Аналитическом центре при Правительстве РФ, в соответствии с федеральном проектом "Цифровые технологии" согласована дорожная карта с целью развития «сквозной» цифровой технологии «Компоненты робототехники и сенсорики». Отобраны наиболее перспективные направления в области робототехники и сенсорики, с учетом потребности внутренней экономики России. А так же утвержден перечень субтехнологий, для которых, определены планируемые показатели до 2024 года:

- Сенсоры и цифровые компоненты РТК для человеко-машинного взаимодействия;

- Технологии сенсорно-моторной координации и пространственного позиционирования;

- Сенсоры и обработка сенсорной информации.

Наш проект можно отнести к области робототехники и сенсорики, в части развития технологий взаимодействия человека и робота на базе автотренажера на базе модели Гью-Стюарта.

Социальная ответственность. В соответствии с постановлением Правительства РФ от 10.12 2015 г. № 1297 "Об утверждении государственной программы Российской Федерации "Доступная среда" на 2011 - 2020 годы". Автотренажеры будут оснащаться специальным оборудованием и ПО, предназначенным для обучения лиц с ограниченными возможностями.

Обучиться вождению автомобиля инвалидам довольно сложная задача, лишь немногие автошколы на сегодняшний день обладают необходимыми навыками и оборудованием. Категории инвалидов - с заболеванием церебрального паралича, с частичной потерей слуха, болезнями опорно-двигательного аппарата - имеют право получить права категории «В», со знаком «Глухой водитель» или «Инвалид».

Направленность и актуальность Проекта.

Использование модели Стюарта для производства автотренажеров применяемых для обучения водителей - на сегодняшний день данный аспект, не достаточно используется, хотя имеет очевидные и очень широкие перспективы, учитывая глобальное развития технологий виртуальной визуализации и роботизированных технологий. В большинстве случаях такие тренажеры пока используются, как игровые автоматы, имитирующие вождение автомобиля в индустрии развлечений. Подобным путем к нам в дом пришли компьютерные технологии -персональные компьютеры. Такой же путь проходят автоматизированные автотренажеры. В 90ые годы двадцатого столетия молодой Жак Вильнер, в то время увлекавшийся видеоиграми, стал одним из величайших гонщиков, благодаря игре на автосимуляторе, а сегодня это уже обычная практика пилотов Формулы-1. Современный автосимулятор включает в себя модули различных сложных механизмов и продвинутого программного обеспечения, которые отвечают всем все возрастающим современным требованиям. Современный тренажер не только обучает азам вождения, но и позволяет изучить правила дорожного движения, ознакомиться с нештатными ситуациями и научиться выходить из критических и даже аварийных ситуаций.

3 АЛГОРИТМЫ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ СРЕДСТВ И СИСТЕМ АВТОМАТИЗАЦИИ

Построение комплексов балансировки приме-нио для широкого круга задач: аэроэлектроразведка, аэромагнитометрия, аэрофотосъёмка, газо-анализация, патрулирование и т.д. требуется сформировать комплекс аппаратных и программных средств, позволяющих на уровне комплектации и настройки интегрировать систему с различными полезными нагрузками на базе платформы Гью-Стюарта различных массогабаритных характеристик.

Для управления положением платформы решается обратная задача кинематики. Мы знаем положение основания, необходимое положение подвижной платформы, поле чего проводим расчеты необходимых углов поворота валов сервоприводов и посылаем соответствующий сигнал управления через плату АМшпо.

На первом этапе необходимо определить положение шарниров на основании и на подвижной платформе. После получения значений требуемых перемещений, программа рассчитывает необходимых координат шарниров подвижной платформы. Этот процесс делится на две части. Получение вектора перемещений по осям х, у, z и матрицы угла

поворота, которая характеризует три соответствующих угла, после чего все это собирается вместе в функцию getrxp, которая обеспечивает новое положение платформы. После этого в программе рассчитывается необходимый угол поворота каждого серводвигателя, этот поворот преобразуется в ширину импульса и подается через пины Arduino на серводвигатели.

_Листинг 1. Подъем и спуск платформы

Дальше необходимо протестировать работоспособность самих двигателей и их связь с микроконтроллером. Для этого достаточно простой программы, которая: считывает данные с джойстика, обрабатывает их и поднимает, или опускает, платформу соответственно, а так же выводит на экран высоту подъема.

#include <Servo.h> #include "U8glib.h"

U8GLIB_SSD130 6_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI

Servo myservo 1; Servo myservo 2; Servo myservo 3; Servo myservo 4; Servo myservo 5; Servo myservo 6;

int X_Value = 0; int Y_Value = 0; int Button Value int Motor Degree

0; 0;

void draw(void) {

u8g.setFont(u8g font unifontr); u8g.setPrintPos(0, 20); u8g.print("value= "); u8g.print(Motor Degree);

}

void setup() {

myservo myservo myservo myservo myservo myservo

1.attach(4)

2.attach(5)

3.attach(6) ' 4.attach(7) ~5.attach(8)

6.attach(9)

//1-ый мотор //2-ой мотор //3-ий мотор //4-ый мотор //5-ый мотор //6-ой мотор

Serial.begin(9600); pinMode(2, INPUT); digitalWrite(2, HIGH);

}

void loop() {

X_Value = analogRead(A0); Y Value = analogRead(Al); Button Value = analogRead(2); Motor Degree = X Value / 5; if (Motor_Degree > 100) { Motor Degree = 100;

}

if (Motor Degree < 10) {

Motor Degree = 10;

}

myservo 1.write(Motor Degree); myservo 2.write(125 - Motor Degree); myservo 3.write(Motor Degree); myservo 4.write(125 - Motor Degree); myservo 5.write(Motor Degree); myservo 6.write(125 - Motor Degree);

u8g.firstPage(); do {

draw(); } while ( u8g.nextPage() );

Serial.print("x= "); Serial.print(X_Value, DEC); Serial.print(" y= "); Serial.print(Y_Value, DEC); Serial.print(" button= "); Serial.print(!Button_Value, DEC); Serial.print(" motor= "); Serial.print(Motor Degree, DEC); Serial.print("\n")~; delay(100);

}

Дальше необходимо доработать программу, -экран для ведения продвинутой телеметрии и

варьируя значения под необходимые параметры: своевременного контроля работы макета

-работа гироскопа, которая будет обеспечивать -асинхронные движения сервоприводов, обес-

автоматическую стабилизацию, путем применения печивающих симуляцию наклона и отклонений формулы ПИД-регулятора платформы

_Листинг 2. Фрагмент кода, используемый для управления платформой._

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

//function calculating rotation matrix

void getmatrix(float pe[]) {

float psi=pe[5];

float theta=pe[4];

float phi=pe[3];

M[0][0] = cos(psi)*cos(theta);

M[1][0] = -sin(psi)*cos(phi)+cos(psi)*sin(theta)*sin(phi); M[2][0] = sin(psi)*sin(phi)+cos(psi)*cos(phi)*sin(theta);

M[0][1] = sin(psi)*cos(theta);

M[1][1] = cos(psi)*cos(phi)+sin(psi)*sin(theta)*sin(phi); M[2][1] = cos(theta)*sin(phi);

M[0][2] = -sin(theta);

M[1][2] = -cos(psi)*sin(phi)+sin(psi)*sin(theta)*cos(phi); M[2][2] = cos(theta)*cos(phi);

}

//calculates wanted position of platform attachment poins using calculated rotation matrix

//and translation vector

void getrxp(float pe[]) {

for(int i=0;i<6;i++){

rxp[0][i] =

T[0]+M[0][0]*(re[0][i])+M[0][1]*(re[1][i])+M[0][2]*(re[2][i]);

rxp[1][i] =

T[1]+M[1][0]*(re[0][i])+M[1][1]*(re[1][i])+M[1][2]*(re[2][i]);

rxp[2][i] =

T[2]+M[2][0]*(re[0][i])+M[2][1]*(re[1][i])+M[2][2]*(re[2][i]);

}

}

//function calculating translation vector - desired move vector + home translation vector

void getT(float pe[])

{

}

T[0] = pe[0]+H[0]; T[1] = pe[1]+H[1]; T[2] = pe[2]+H[2];

unsigned char setPos(float pe[]){ unsigned char errorcount; errorcount=0;

for(int i = 0; i < 6; i++)

{

MIN,MAX);

MIN,MAX);

}

getT(pe);

getmatrix(pe);

getrxp(pe);

theta a[i]=getAlpha(&i); if(i==INV1\\i==INV2\\i==INV3){

servo pos[i] = constrain(zero[i] - (theta a[i])*servo mult,

}

else{

servo pos[i] = constrain(zero[i] + (theta a[i])*servo mult,

}

for(int i = 0; i < 6; i++)

{

if(theta a[i]==servo min\\theta a[i]==servo max\\servo pos[i]==MIN\\servo p os[i]==MAX){ - - - - -

errorcount++;

}

servo[i].writeMicroseconds(servo pos[i]);

}

return errorcount;

//functions used for displaying actual platform position on 16x2 LCD display

#if LCD

void showRot(){

lcd.setCursor(0,0);

lcd.print("Rot");

lcd.setCursor(12,0);

lcd.print((int)(arr[3]*deg2rad));

lcd.setCursor(3,1);

lcd.print((int)(arr[4]*deg2rad));

lcd.setCursor(11,1);

lcd.print((int)(arr[5]*deg2rad));

}

void showComm(){ if(shown==0){ shown=1;

lcd.setCursor(3,0); lcd.print("ation x: "); lcd.setCursor(0,1); lcd.print("y: "); lcd.setCursor(8,1); lcd.print("z: ");

}

}

void clearNr(){

lcd.setCursor(12,0); lcd.print(" "); lcd.setCursor(3,1); lcd.print(" ");

lcd.setCursor(11,1); lcd.print(" ");

}

void showLoc(){

lcd.setCursor(0,0);

lcd.print("Loc");

lcd.setCursor(12,0);

lcd.print((int)(arr[0]*25.4));

lcd.setCursor(3,1);

lcd.print((int)(arr[1]*25.4));

lcd.setCursor(11,1);

lcd.print((int)(arr[2]*25.4));

}

#endif

//main control loop, obtain requested action from serial connection, then execute it

void loop() {

if(Serial.available()>0){ int input=Serial.read(); switch(input){ //action to turn backlight off case SETBACKOFF:

#if LCD

lcd.setBacklight(LOW);

#endif

break;

//action to turn backlight on case SETBACKON:

#if LCD

lcd.setBacklight(HIGH);

#endif

break;

//action to change position of platform, obtain 6 values representing desired position

case SETPOSITIONS:

for(int i=0;i<6;i++){ long kk;

while(Serial.available()<4){ }

kk=(long)Serial.read();

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

kk=kk+(Serial.read()<<8);

kk=kk+(Serial.read()<<16);

kk=kk+(Serial.read()<<24);

if(i<3){

arr[i]=(kk/100)/25.4; }else{

arr[i]=radians(kk/100.0);

}

}

Serial.write(setPos(arr));

Serial.flush();

break;

//enable of showing current position case PRINTPOS: on LCD

#if LCD showPos=PRINTPOS; time=millis();

#endif break;

//enable of controlling platformy by IrDA remote

case SWITCHIRDA:

#if IrDA irrecv.enableIRIn(); useIrda=SWITCHIRDA;

#endif break;

ЗАКЛЮЧЕНИЕ

Основные результаты, полученные в результате выполнения работы:

- Решены прямая и обратная задачи кинематики для платформы Стюарта с шестью криво-шипно-шатунными опорами

- Платформа была смоделирована тонким шестиугольником и материальной точкой.

- Исследована устойчивость равновесия модификаций платформы Стюарта. Получены условия обратной связи, обеспечивающие устойчивость по Ляпунову.

- Для платформы с шестью кривошипно-ша-тунными опорами создана программа для микроконтроллера, позволяющая решать задачи кинематики и управлять физической моделью платформы. Сконструирована и построена физическая модель платформы Стюарта с кривошипно-шатунными опорами, приводимыми в движение в соответствии с необходимым углом отклонения сервоприводами под управлением микроконтроллера АМшпо. При решении задач кинематики и динамики использован классический подход теоретической механики.

Для рассмотренных модификаций платформы Стюарта построены обратные связи, обеспечивающие устойчивость положений равновесия платформы.

Список источников

1. Фетисова В.С. Научное издание ISBN 978-59903144-3-6, Уфа: ФОТОН. —2014.

2. Моисеев В.С. Монография. Прикладная теория управления беспилотными летательными аппаратами. — 2013. — Казань. — РИО ГБУ «РЦМКО».

3. Жирнов А. Б., Груздов В. Н. Применение мультироторных летательных аппаратов в оценке лесосырьевой базы // Молодой ученый. — 2015. — №24. — С. 124-127.

4. «Российские беспилотники» — URL: https://russiandrone.ru/ (дата обращения: 15.12.2019)

5. Шевцов Д.С., Н.Г. Столетовых Разработка и исследование макета интеллектуального оптического коммутатора лазерной установки на базе платформы Стюарта с кривошипно-шатунными опорами. —2017.

6. Зуев С.М. Стабилизация положений равновесия нагруженных модификаций платформы Стюарта. —2015.

i Надоели баннеры? Вы всегда можете отключить рекламу.