Ермилов Глеб Сергеевич
Студент магистратуры 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. Фрагмент кода, используемый для управления платформой._
//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();
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.