Научная статья на тему 'РАЗРАБОТКА МОДЕЛИ ИСПОЛНИТЕЛЬНЫХ ПРИВОДОВ, ЗАДЕЙСТВОВАННЫХ В УПРАВЛЕНИИ ПРОДОЛЬНЫМ ПЕРЕДВИЖЕНИЕМ БЕСПИЛОТНОГО ГОНОЧНОГО АВТОМОБИЛЯ ФОРМУЛА СТУДЕНТ ДЛЯ HILS СИСТЕМЫ'

РАЗРАБОТКА МОДЕЛИ ИСПОЛНИТЕЛЬНЫХ ПРИВОДОВ, ЗАДЕЙСТВОВАННЫХ В УПРАВЛЕНИИ ПРОДОЛЬНЫМ ПЕРЕДВИЖЕНИЕМ БЕСПИЛОТНОГО ГОНОЧНОГО АВТОМОБИЛЯ ФОРМУЛА СТУДЕНТ ДЛЯ HILS СИСТЕМЫ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
58
12
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БЕСПИЛОТНЫЙ ГОНОЧНЫЙ АВТОМОБИЛЬ / ПРОДОЛЬНОЕ ДВИЖЕНИЕ / ПРОГРАММНО-АППАРАТНАЯ МОДЕЛЬ АВТОМОБИЛЯ / HILS СИСТЕМА / SIMULINK / С++ / ROS2

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Карасев Павел Дмитриевич, Калинин Алексей Владимирович

В данной статье создана модель работы исполнительных приводов автомобиля класса «Формула Студент», задействованных в продольном передвижении беспилотного гоночного автомобиля, для проведения тестирования разработанных алгоритмических решений для автономного движения на программно-аппаратной модели автомобиля (HILS системе). Созданный интерфейс внутри модели связывает тело модели (реализованное в среде Simulink) с алгоритмами управления беспилотным автомобилем и симулятором (реализованные на языке С++) с использованием ROS2.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Карасев Павел Дмитриевич, Калинин Алексей Владимирович

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

THE DEVELOPMENT OF THE MODEL OF ACTUATORS INVOLVED IN THE LONGITUDINAL CONTROL OF THE DRIVERLESS RACING FORMULA STUDENT CAR FOR HILS SYSTEM

In this paper we created a model of the actuators of Formula Student car involved in the longitudinal motion of an unmanned racing car to test the developed algorithmic solutions for autonomous driving on a hardware-software model of the car (HILS system). The created interface inside the model links the model body (implemented in the Simulink environment) with the control algorithms of the unmanned vehicle and the simulator (implemented in C++) using ROS2. The created interface inside the model links the model body (implemented in the Simulink environment) with the control algorithms of the driverless vehicle and the simulator (implemented in C++) using ROS2.

Текст научной работы на тему «РАЗРАБОТКА МОДЕЛИ ИСПОЛНИТЕЛЬНЫХ ПРИВОДОВ, ЗАДЕЙСТВОВАННЫХ В УПРАВЛЕНИИ ПРОДОЛЬНЫМ ПЕРЕДВИЖЕНИЕМ БЕСПИЛОТНОГО ГОНОЧНОГО АВТОМОБИЛЯ ФОРМУЛА СТУДЕНТ ДЛЯ HILS СИСТЕМЫ»

Научно-образовательный журнал для студентов и преподавателей «StudNet» №6/2022

Научная статья Original article УДК 004.942

РАЗРАБОТКА МОДЕЛИ ИСПОЛНИТЕЛЬНЫХ ПРИВОДОВ, ЗАДЕЙСТВОВАННЫХ В УПРАВЛЕНИИ ПРОДОЛЬНЫМ ПЕРЕДВИЖЕНИЕМ БЕСПИЛОТНОГО ГОНОЧНОГО АВТОМОБИЛЯ ФОРМУЛА СТУДЕНТ ДЛЯ HILS СИСТЕМЫ

THE DEVELOPMENT OF THE MODEL OF ACTUATORS INVOLVED IN THE LONGITUDINAL CONTROL OF THE DRIVERLESS RACING FORMULA STUDENT CAR FOR HILS SYSTEM

Карасев Павел Дмитриевич, магистрант, МГТУ им. Н.Э. Баумана, (105005, Москва, 2-я Бауманская ул., д. 5, стр. 1) 8 (499) 263-639, [email protected]

Калинин Алексей Владимирович, сотрудник кафедры "Специальная робототехника и мехатроника", МГТУ им. Н.Э. Баумана, (105005, Москва, 2-я Бауманская ул., д. 5, стр. 1) 8 (499) 263-639, [email protected]

Pavel D. Karasev, master student, Bauman Moscow State Technical University, BMSTU, (105005, ul. Baumanskaya 2-ya, 5/1, Moscow) 8 (499) 263-639, [email protected]

Alexey V. Kalinin, employee of the "Special robotics and mechatronics" department, Bauman Moscow State Technical University, BMSTU, (105005, ul. Baumanskaya 2-ya, 5/1, Moscow) 8 (499) 263-639, [email protected]

5524

Аннотация. В данной статье создана модель работы исполнительных приводов автомобиля класса «Формула Студент», задействованных в продольном передвижении беспилотного гоночного автомобиля, для проведения тестирования разработанных алгоритмических решений для автономного движения на программно-аппаратной модели автомобиля (HILS системе). Созданный интерфейс внутри модели связывает тело модели (реализованное в среде Simulink) с алгоритмами управления беспилотным автомобилем и симулятором (реализованные на языке С++) с использованием ROS2.

Abstract. In this paper we created a model of the actuators of Formula Student car involved in the longitudinal motion of an unmanned racing car to test the developed algorithmic solutions for autonomous driving on a hardware-software model of the car (HILS system). The created interface inside the model links the model body (implemented in the Simulink environment) with the control algorithms of the unmanned vehicle and the simulator (implemented in C++) using ROS2. The created interface inside the model links the model body (implemented in the Simulink environment) with the control algorithms of the driverless vehicle and the simulator (implemented in C++) using ROS2.

Ключевые слова: беспилотный гоночный автомобиль, продольное движение, программно-аппаратная модель автомобиля, HILS система, Simulink, С++, ROS2.

Keywords: driverless race car, longitudinal motion, hardware-software model of the car, Hardware-in-the-Loop Simulation system, Simulink, С++, ROS2.

Стоимость автомобиля «Формула Студент», укомплектованного всем необходимым для автономного передвижения, легко может доходить до 250 000 $ и даже превышать эту сумму. В связи с этим тесты применяемых алгоритмических решений для распознавания объектов, планирования пути, управления и локализации автомобиля на ранних стадиях написания

5525

программного обеспечения, когда алгоритмы могут содержать множество как мелких, так и крупных ошибок необходимо проводить не на реальном автомобиле, а на программно-аппаратной модели автомобиля (ШЬБ системе).

Схема всей системы программно-аппаратного моделирования автомобиля представлена на рисунке 1.

Рисунок 1 - Схема комплекса программно-аппаратного моделирования

Описание требований по подключению модели с исполнительными приводами к симулятору BRTSIM В качестве симулятора для синтеза сигналов датчиков и имитации динамики автомобиля в процессе гонки используется симулятор BRTSIM на базе программного комплекса Gazebo, совмещенного с фреймворком ROS2. Все алгоритмы управления беспилотного автомобиля: алгоритмы распознавания, построения пути, управления и локализации беспилотного автомобиля представляют собой отдельные модули, реализованные на языке С++, - узлы внутри фреймворка ROS2, связанные между собой через топики. Данные алгоритмы работают на контроллере верхнего уровня и взаимодействуют со средой симулятора через фреймворк ROS2.

5526

В данной работе описана схема подключение модели к симулятору BRTSIM и алгоритмам управления автомобилем через фреймворк ROS2 с созданием дополнительных узлов (Nodes) внутри архитектуры системы управления, включающих в себя модели исполнительных приводов. Схема подключения модели с исполнительными приводами к архитектуре симулятора и алгоритмов управления представлена на рисунке 2. Для удобного моделирования исполнительных приводов будут использоваться программные пакеты MATLAB, Simulink. Для связи модели из Simulink с фреймворком ROS2 предполагается использовать инструментарий из ROS Toolbox, который распространяется вместе с пакетом Simulink.

Рисунок 2 - Связь модели исполнительных приводов с BRTSIM и

алгоритмами управления Описание состава исполнительных приводов, задействованных в управлении продольным движением гоночного автомобиля

За управление продольным движением гоночного автомобиля команды МГТУ отвечает электрическая силовая установка и тормозная система. В состав электрической силовой установки автомобиля входят:

5527

1. Синхронный электродвигатель с ротором на постоянных магнитах (РЫБЫ) БЫКАХ 228 НУ СС;

2. Инвертор для преобразования постоянного тока с тяговой батареи в трехфазный ипйек Башоеаг Б3;

3. Силовая батарея на базе ячеек Li1x6pVTC6T; В состав тормозной системы автомобиля входят:

1. Тормозные суппорта, разработанные командой БЯТ;

2. Тормозные гидроцилиндры АР-Яас^;

3. Пневмосистема, собранная командой МГТУ для активации рабочей тормозной системы на базе компонентов компании БББТО;

Техническое задание на создание модели с исполнительными приводами, подключаемую к симулятору BRTSIM

Совокупность уравнений, необходимых для тела модели:

Ftractive [Н] - сумарная сила на выходе модели (суммарная сила действия тормозной силы и разгоняющей силы от тягового электродвигателя); Dacc- управляемая величина, изменяющаяся в диапазоне от 0 до 1 в зависимости от требуемого разгона с помощью электродвигателя; Мт [Н*м] - максимальный крутящий момент, возникающий на валу электродвигателя;

Gr - главное передаточное число между ведущей звездой электродвигателя и ведомой звездой; Rw [м] - радиус колеса;

Рbrakes [Н] - cуммарная тормозная сила, возникающая в результате воздействия рабочей тормозной системы и торможения электродвигателем;

{

Fbra

Fbrakes = ^bfrii

где

5528

Dbfric(0...1) - коэффициент равный степени торможения с участием тормозной системы;

Dbregen(0..A) - коэффициент равный степени торможения с участием электродвигателя;

^regenerative_тах [Н] - максимальная тормозная сила, полученная в результате торможения с помощью рекуперации, осуществляемой электродвигателем;

Mbr [Н*м] - максимальный тормозной момент, возникающий в результате торможения на заднем колесе;

Mbf [Н*м] - максимальный тормозной момент, возникающий в результате торможения на переднем колесе; Необходимые требования к модели:

1. Входами модели должны быть общая степень торможения Db, изменяющая свое значение от 0 до 1 и степень разгона Dacc, изменяющая свое значение от 0 до 1.

2. Входные величины Dacc и Db должны быть получены от алгоритма управления, используя фреймворк ROS2.

3. Выходом модели должна быть сила Ftractive, которая должна отправляться в симулятор через фреймворк ROS2.

Общая схема модели представлена на рисунке 3.

5529

В ROS2

^acc

Db

4

Модель

Ftractive Dacc ' ^т ' ^brakes i

cr

Fbrakes=Dbregen т если ^ürakes=< ^regenerattaejnax'i fbrakes-Dbfric'^'{Mi,,+Mi,f )+Dbregen-Mm~i, если Ftrakes> f regenerative

I

ROS2

F 1 tractive

Рисунок 3 - Общая схема модели Сборка модели осуществляется в программном пакетах MATLAB 2021b и Simulink. Модель будет представлена в виде совокупности моделей подмодулей, имеющих определенные наборы входных и выходных величин. Создание подмодуля, определяющего величину требуемой тормозной силы от тормозной системы и величину требуемой тормозной силы от

электродвигателя

На вход данного подмодуля поступает величина Db от алгоритма управления. В процессе разработки подмодуля было решено использовать Db, величину которая изменяет свое значение от -1 до 0 вместо того, чтобы изменять свое значение от 0 до 1, в связи с удобством построения модели. Используя уравнения для вычисления суммарной тормозной силы:

Fbrakes = ^regen, если ^brakes Fregenerative_тах> ^brakes = Ffriction + Fregenerative_тах, если Fbrakes > Fregenerativemax-

вычислим составные силы Fbrakes: Fregenerative и Ffriction.

Таким образом, выходом данного подмодуля будут Fregenn Ffriction.

Распишем:

Fbrakes = ^b • (.F^riction_max + Fregenera^ive max);

5530

R

regenerative _тах

Gr

= М--•

тт - •

Rv

D

bregen

Fregenerative ^bregen • ^m • ^T/Rw,

2

Ffriction_max = • (^br + ^bf^;

Kw

2

Ffriction = Dbfric • — • (Mbr + Mbfy,

Kw

Fbrakes__

D

regenerative_max если F]jra^es < Fregenerativejmax

bfric

= 0;

D

bregen

= 1;

D

bfric

_ Fbrakes Fregenerative_max _ если Fbrakes > Fregeneranve_max

Ft

frictionjmax

Интегрировав уравнения, требуемые для вычисления и Ргедепегаиуе

внутрь подмодуля, используя на входе общую степень торможения Оь, была получена следующая структура подмодуля (рисунок 4). В подмодуле реализовано условие, предотвращающее движения автомобиля назад по действием тормозной силы.

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

Рисунок 4 - Структура подмодуля Для удобства читаемости структуры вычисления сил Ffrictionjmax + Fregenerativemax и Fregenerative_max были свернуты в свои подмодули Max Brake force (рисунок 5) и Max Regenerative force (рисунок 6) соответственно.

5531

Рисунок 5 - Подмодуль для вычисления Ffrictionmax + Fregenerativej

max

Рисунок 6 - Подмодуль для вычисления РгедепегаШетах Общий вид смоделированного подмодуля в общей модели выглядит следующим образом (рисунок 7):

Рисунок 7 - Общий вид подмодуля Создание подмодуля, определяющего крутящий момент на выходном валу

электродвигателя

Так как электродвигатель может как разгонять, так и тормозить автомобиль, но в один и тот же момент времени он может выполнять только одну функцию, поэтому было принято создать один подмодуль, на вход которого поступают:

1) Fregen - команда о требуемой силе торможения с подмодуля Brake system;

2) Dacc - (0.. .1), приходящая на вход подмодуля из алгоритма управления; Центром данного подмодуля является общий блок на инвертор и электродвигатель из библиотеки Simscape Electrical (рисунок 8), который

5532

реализует в себе функционал электродвигателя с ротором на постоянных магнитах (PMSM) и инвертора, то есть реализует функционал выбранного электродвигателя EMRAX 228 и инвертора Bamocar D3.

Рисунок 8 - Блок, реализующий функционал PMSM двигателя и инвертора Внутри самого блока реализована обратная связь по моменту на выходном валу электродвигателя. Требуемый момент подводимый на вход блока, необходимо вычислить, имея в качестве входных переменных Ргедеп и Оасс. Для этого на первом этапе необходимо получить Рт:

Рт = Васс • Мт • Сг/Яч,; Далее необходимо получить требуемый момент на валу электродвигателя М:

М= — • R

W)

Далее необходимо силу торможения Ргереп преобразовать в момент М-

М.

regen

regen

_ Fregen

Gr

lregen-

R

W)

Для получения суммарного момента ^ необходимо :

Тг = М+ Мгедеп;

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

ш = —• Сг;

где

ш - скорость вращения выходного вала электродвигателя; ух- продольная скорость движения автомобиля;

г

5533

Таким образом подмодуль имеет три входа: Ргедеп, Юасс и ух и один выход - момент Мг, снимаемый с вала электродвигателя с помощью идеального датчика момента (рисунок 9, 10).

[ Accelerat i о п_со m ma n d]

Рисунок 9 - Внутренний вид подмодуля

[Brake_force]

>

[Vehicle_speed]

>

Acceleration Command (0 —1=^—o-p-< ■ 1)

Brakes force input Motor torque

yir-JH: Vehicle speed

[Motortorque]

Motor and Controller

Рисунок 10 - Общий вид подмодуля Создание подмодуля для расчета результирующей силы Ftractive Основной задачей модели является расчет результирующей силы Ftractive:

Ftractive = Fm — Fbrakes; где Fm — разгоняющая сила;

Так как от подмодуля Motor and Controller поступает крутящий момент электродвигателя Mt, а от подмодуля Brake system - F^riction, то сила Ftractive :

Ftractive = Мi • — Ffriction; При этом входными величинами подмодуля будут F^riction, Mt, а выходной переменной будет Ftractive (рисунок 11, 12).

5534

Рисунок 11 - Внутренний вид подмодуля

Рисунок 12 - Внешний вид подмодуля Общий вид всей полученной модели, на вход которой приходят Оь, Оасс и ух, на выходе которой получается , представлен на рисунке 13.

Рисунок 13 - Общий вид полученной модели Создание интерфейса внутри модели, связывающего тело модели с алгоритмами управления беспилотным автомобилем и симулятором На данном этапе необходимо создать интерфейс для связи модели, полученной в пункте, выполненном ранее, с симулятором BRTSIM и алгоритмами управления. Так как и симулятор BRTSIM и алгоритмы управления уже имеют налаженную связь через фреймворк ROS2, то самым удобным способом будет связать полученную модель с симулятором и алгоритмами управления через фреймворк ROS2. Matlab и Simulink с недавнего времени имеют специальный ROS Tollbox для выполнения двусторонней связи между моделями, выполненными в их среде и ROS2.

5535

Для отправки и приема данный в модель будут использоваться подмодули: подмодуль приема управляющего сигнала от алгоритмов управления, подмодуль приема продольной скорости автомобиля из симулятора BRTSIM и подмодуль отправки Ftractive .в симулятор BRTSIM.

Создание подмодуля для приема управляющего сигнала от алгоритмов

управления

Подмодуль для приема управляющего сигнала состоит из элемента ROS Toolbox Subscribe, который принимает сообщения из фреймворка ROS2, отправленные алгоритмом управления в топик

"/brt8d/control/pure_pursuit/car_command", далее из данного сообщения с помощью Bus selector вычленяется информация о требуемом разгоне/

торможении и делится на два выхода: Dbи Dacc (рисунок 14, 15).

Рисунок 14 - Схема внутреннего устройства подмодуля

Рисунок 15 - Общий вид подмодуля на общей схеме Создание подмодуля для приема продольной скорости от симулятора

BRTSIM

Подмодуль для приема продольной скорости состоит из элемента ROS Toolbox Subscribe, который принимает сообщения из фреймворка ROS2, отправленные симулятором в топик '7brt8d/estimation/slam/state", далее из

5536

данного сообщения с помощью Bus selector вычленяется информация о продольной скорости и отправляется на выход: vx (рисунок 16, 17).

Рисунок 16 - Схема внутреннего устройства подмодуля

ROS2 Velocity estimator

Рисунок 17 - Общий вид подмодуля Создание подмодуля для отправки Ftractive в симулятор BRTSIM Подмодуль для отправки Ftractive состоит из элемента ROS Toolbox Publish, который отправляет созданные сообщения внутрь фреймворка ROS2 в топик '7matlab/tractive_force". Перед этим необходимо с помощью блока ROS Toolbox создать пустое сообщение типа std_msgs/Float64 и с помощью блока Bus assignment заполнить его данными о Ftractive (рисунок 18, 19).

Рисунок 18 - Схема внутреннего устройства подмодуля

То ROS2 Output Рисунок 19 - Общий вид подмодуля После создания интерфейса, связывающего модель, симулятор BRTSIM и алгоритмы управления, модель принимает следующий вид (рисунок 20).

5537

Рисунок 20 - Общий вид полученной модели с интерфейсом Проверка работы связки симулятора, модели и алгоритмов управления Для проверки работы связки симулятора, модели и алгоритмов управления необходимо разработать подмодуль, в котором можно будет наблюдать за изменением основных величин таких, как Mt, Fbrakes, Ftractive. Помимо инструментов мониторинга в данном подмодуле можно реализовать аналог дополнительного тормозного усилия (блок Slider), останавливающего автомобиль. Результатом увеличения такого дополнительного тормозного усилия будет рост момента на валу электродвигателя и замедление автомобиля. движущегося в симуляторе.

Входами для данного подмодуля будут наблюдаемые величины: Mt, Fbrakes, Ftractive, выходы - блоки Scope.

Схема внутреннего устройства подмодуля мониторинга представлена на рисунок 21, общий вид подмодуля для мониторинга представлен на рисунок 22.

5538

Рисунок 21 - Схема внутреннего устройства подмодуля

Рисунок 22 - Общий вид подмодуля На данном этапе сборка модели полностью завершена и необходимо выполнить тестирование связки симулятора, алгоритмов управления и модели. Для этого необходимо запустить симулятор BRTSIM в связке с кинематическим способом управления pure_pursuit.

После выполнения запуска симулятора открывается окно Gazebo (рисунок 23) с автомобилем и виртуальным миром, а также окно визуализации данных Rviz2 (рисунок 24).

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

Рисунок 23 - Окно Gazebo с запущенным симулятором BRTSIM (автомобиль

покоиться в начальной точке)

5539

4

Рисунок 24 - Окно с визуализацией данных Как только модель запускается, автомобиль начинает движение. Это видно в

Рисунок 25 - Графики суммарной силы РЬгаке5, крутящего момента на выходном валу двигателя Мг, результирующей силы

, „ . ■. , . 1 ' 1

• ' 1 1 1 1 ' • ■ Щ | | ^ ■' 1 х 1 1 *■*. 1 А ^ 1 А А 111 Шр ЩШ

Рисунок 26 - Автомобиль в движении При повышении тормозного усилия растет крутящий момент на электродвигателе (рисунок 27).

5540

Рисунок 27 - Повышение крутящего момента на выходном валу электродвигателя с увеличением тормозной силы В какой-то момент мощности электродвигателя перестает хватать на компенсацию все более возрастающей тормозной силы и автомобиль начинает замедляться. Таким образом можно сделать вывод о том, что связка симулятора, алгоритмов управления и модели в MATLAB Simulink устойчиво работает и выдает адекватный результат.

Литература References

1. Formula Student rules 2020 - URL: https://www.formulastudent.de/fileadmin/user_upload/all/2020/rules/FS-Rules 2020 V1.0.pdf

2. ROS2 Galactic documentation - URL: https://index.ros.org/doc/ros2/

3. Gazebo documentation - URL: http:// gazebosim.org/

4. Matlab ROS Toolbox documentation - URL: https://www.mathworks.com/products/ros.html

5. Matlab Simscape Electrical documentation - URL: https://www.mathworks.com/products/simscape-electrical.html

6. Matlab Motor & Drive (System Level) block documentation - URL: https://www.mathworks.com/help/physmod/sps/ref/motordrivesystemlevel.h

5541

tml

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

7. Matlab Powertrain Blockset documentation - URL: https://www.mathworks.com/products/powertrain.html

8. Matlab HEV PMSM Drive Test Harness documentation - URL: https://www.mathworks.com/help/physmod/sps/ug/hev-pmsm-drive-test-harness.html

© Карасев П.Д., Калинин А.В., 2022 Научно-образовательный журнал для студентов и преподавателей «StudNet» №6/2022.

Для цитирования: Карасев П.Д., Калинин А.В. РАЗРАБОТКА МОДЕЛИ ИСПОЛНИТЕЛЬНЫХ ПРИВОДОВ, ЗАДЕЙСТВОВАННЫХ В УПРАВЛЕНИИ ПРОДОЛЬНЫМ ПЕРЕДВИЖЕНИЕМ БЕСПИЛОТНОГО ГОНОЧНОГО АВТОМОБИЛЯ ФОРМУЛА СТУДЕНТ ДЛЯ HILS СИСТЕМЫ // Научно-образовательный журнал для студентов и преподавателей «StudNet» №6/2022.

5542

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