Симулятор управления марсоходом Curiosity

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

Рубрика Производство и технологии
Вид статья
Язык русский
Дата добавления 08.11.2018
Размер файла 3,9 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Научно-исследовательская работа

Симулятор управления марсоходом Curiosity

Автор:

Кривошеин Александр

Новомосковск, 2016 г.

Аннотация

Цель проекта: создать компьютерный симулятор управления марсоходомCuriosity. Программа позволяет пользователю тренироваться в дистанционном управлении марсоходом. Программа доступна для пользователей с любым уровнем подготовки. Управление происходит с помощью клавиатуры или джойстика.

Работа разделена на несколько этапов:

Разработана идея и общий вид симулятора.

Изучен путь движения по Марсу марсоходомCuriosityи выбрана местность, по которой осуществляется движение в симуляторе.

Создана 3Dмодель выбранной поверхности Марса.

Создана 3D модель Curiosity.

Запрограммирована модель марсохода максимально приближенная в управлении к настоящему Curiosity.

Разработана инструкция по управлению марсоходом.

Программа Адаптирована к управлению с помощью джойстика.

Скомпилирована программа для операционной системы Windows.

Таким образом, создан симулятор управления марсоходомCuriosity. Его доступность позволяет всем пользователям попробовать управлять марсоходом. Это позволяет внедрять космические технологии в общество и пропагандировать космонавтику, как развивающуюся отрасль.

В работе использован 1 рисунок. В приложении представлены 10 рисунков и 3 скрипта на языке С#.

Человечество уже в прошлом веке начало освоение космоса. Прошло 55 лет с первого полёта человека в космос, и в наше время технологии идут широким шагом. Идея использования внеземного транспорта принадлежит ученым и конструкторам, реализовавшим космическую программу СССР. "Программа исследования Луны", озвученная в1958 году-С. П. Королевым, предусматривала ряд изысканий и экспериментов, которые давали возможность более подробно изучить природу этого небесного тела. Планетоходы, благодаря своей мобильности, позволяли расширить зону исследуемой поверхности спутника Земли.

Изготовителем первого планетохода стало знаменитое НПО

им. С. А. Лавочкина - преемник легендарного ОКБ-1 в сфере межпланетных исследований. Конструкторское бюро этого научно-производственного объединения аккумулировало все теоретические и практические разработки советских НИИ. Аппарат управлялся удаленно, специально отобранным экипажем, который размещался в наземном центре. Общая численность экипажа (с учетом дублирующих пилотов) составила 11 человек.Для их обучения создавались специальные программы и тренажеры.

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

Задачи работы:

выбрать марсоход для создания программы;

изучить рельеф марсианской поверхности;

изучить управление планетоходами с Земли;

создать трёхмерную модель поверхности марса на графическом движке Unity5;

создать трёхмерную модель марсохода;

скомпилировать программу;

создать сайт и разместить на нём программу.

Теоретическая часть

В программе управление будет предоставлено на примере марсоходаCuriosity. Это проект передвижной исследовательской лаборатории американского аэрокосмического агентства «NASA». Он совершил посадку в пункт своего назначения в 2012 году.

Чтобы построить наиболее правдоподобную модель поверхности Марса, я изучал космические снимки. Это позволило изучить структуру грунта и перепад высот на пути Curiosity(рис. 1 приложение)

Для создания симулятора я взял манипулятор, с помощью которого управление марсоходом станет правдоподобным. Сигнал от Земли до Марса и обратно идёт долго для человеческого восприятия, поэтому водители марсоходовориентируются на задержку в 2-3 минуты.

На сайте NASAмарсоходCuriosityпредставлен следующим образом:

Камеры:

Мачтовая камера;

Ручная геологическая линзовая камера;

Цветная видеокамера.

Спектрометры:

Альфа-спектрометр;

Лазерный анализатор химического состава;

Химическо-минеральный рентген.

Радиационные детекторы:

Детектор оценки радиации;

Динамическое альбедо нейтронов.

Датчики окружающей среды:

Станция мониторинга окружающей среды.

Датчики атмосферы:

Устройство записи спуска и прибытия марсохода.

Практическая часть

Для написания симулятора использовался графический движок Unity3d.

Для создания правдоподобной марсианской поверхности был применён встроенный в среду разработки ландшафтный дизайнер. Для придания большей правдоподобности рельефу планеты на полигональной сетке были выполнены перепады высот, в программу добавлены трёхмерные модели камней. Для текстурирования поверхности Марса использовались 4 бесшовные текстуры камня и песка.

Для создания правдоподобного неба использовался скайбоксоднотонного неба.Для моделирования рабочей трёхмерной моделимарсохода использован компьютерный чертёжCuriosity. Для перевода в стандартный трёхмерный формат OBJвоспользовался программным пакетом AutodeskMaya. Полигональная сетка, получившаяся после экспорта из чертежа, получилась очень детальной,требовала больших ресурсов процессора и оперативной памяти, из-за чего не могла использоваться в симуляторе. Всвязи с этим все детали марсохода прошли ретопологию в программе TopoGun(рис. 2 приложение), а колёса марсохода - в программном пакете Autodesk 3dsmax. Это требовалось, чтобы колёса были полностью округлыми. Их поперечное сечение должно быть идеальной окружностью,для достижения этой цели стандартный цилиндрический примитив подвергался редактированию.

Для всех моделей, получившихся после ретопологии, выполнена развёртка для текстурных карт в программе UVLayout.(рис. 3 приложение)Все модели с развёртками экспортированы в 3dsmax, где были собраны из отдельных деталей в готовую модель.(рис. 4 приложение) При помощи xNormal для всех частей модели созданы normalmap, ambientocclusionmap (рис 5. 6 приложение). Normal карта имитирует неровность поверхности модели, не используя сложную полигональную сетку. Для этого большая полигональная сетка проецируется на маленькую и записывается в текстурную карту последней. Кроме того, требовалось создать diffuse, которая отражает цвет модели. Для большей правдоподобности нам понадобится ambientocclusionmap, созданная ранее в xNormal. Для этого используется программный пакет SubstancePainter. (рис. 7 приложение)

Создание анимация движения и поворота колёс в 3dsmax:

Путём создания ключевых кадров с разными показателями поворота и положения в пространстве, я получил кривую анимации. Так как получившиеся кривые не всегда корректны, они были исправлены вручную (рис. 8 приложение). Различные анимации выполнены на отдельных копиях модели, и каждая экспортирована в формат FBX.

Все получившиеся модели и текстуры экспортированы в среду разработки Unity5. СозданAnimatorController (контроллер анимации) для анимационных движений модели Curiosity. Он позволяет плавно проигрывать анимации, управляя ими из C# скрипта.

Скрипты для симулятора написаны на языке программирования C#:

Скрипт 1 (приложение) для перемещения марсохода в пространстве и его поворотов. Он отслеживает нажатие клавиш. В случае, если клавиши нажаты, то скрипт начинает изменение локальных координат объекта. Он контролирует перемещение курсора и поворачивает камеру.

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

usingUnityEngine;

usingSystem.Collections;

var paused : boolean = false;

var control : boolean = true;

var camera1 : Camera;

var camera2 : Camera;

publicclassCamera_Control : MonoBehaviour

{

voidUpdate ()

{

if (Input.GetKeyDown(KeyCode.Escape))

{

control = true;

if ((!paused) && (control == true))

{

Time.timeScale = 0;

paused = true;

audio.Pause();

Screen.showCursor = true;

control = false;

camera1.enabled = true;

camera2.enabled = false;

}

if ((paused == true) && (control == true))

{

Time.timeScale = 1;

paused = false;

audio.Play();

Screen.showCursor = false;

control = false;

camera1.enabled = false;

camera2.enabled = true;

}

}

}

}

3) Скрипт 3 (приложение) используется в первой сцене программы. Он отслеживает нажатие кнопок в меню и делает действия:

Включает симулятор

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

Показывает инструкцию

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

Вызывает меню настроек

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

Выключает программу

4) Скрипт 4 контролирует проигрывание анимаций у модели марсохода.

usingUnityEngine;

usingSystem.Collections;

publicclassPlayerController : MonoBehaviour {

public Animator anim;

voidUpdate ()

{

if(Input.GetKeyDown (KeyCode.W))

{

anim.SetBool (“forward”, true);

}

if (Input.GetKeyUp (KeyCode.W))

{

anim.SetBool (“forward”, false);

}

//------------------------------------------//

if (Input.GetKeyDown (KeyCode.D))

{

anim.SetBool (“right”, true);

}

if (Input.GetKeyUp (KeyCode.D))

{

anim.SetBool (“right”, false);

}

//------------------------------------------//

if (Input.GetKeyDown (KeyCode.A))

{

anim.SetBool (“left”, true);

}

if (Input.GetKeyUp (KeyCode.A))

{

anim.SetBool (“left”, false);

}

//------------------------------------------//

if (Input.GetKeyDown (KeyCode.S))

{

anim.SetBool (“back”, true);

}

if (Input.GetKeyUp (KeyCode.S))

{

anim.SetBool («back», false);

}

}

}

После создания программы я сделал сайт, используя сервис с бесплатным доменомwww.wix.com. Он удобен тем, что не редактирует напрямую HTML код. Сайт доступен по следующей ссылке URL: http://krivosheinsasha.wix.com/curiosity-simulator.

Заключение

Таким образом, в работе создана программа-симулятор для обучения управлениеммарсохода в условиях, имитирующих реальный рельеф планеты (рис. 9, 10) Для создания программы были переведены компьютерные чертежи марсохода в трёхмерную модель.Оптимизировано количество полигонов на модели путём проведения ретопологии. Модель собрана в программном пакете3dsmax. Созданы текстурные карты, имитирующие цвет, тени и металлический отблеск деталей марсохода. Создана модель поверхности Марса. Написаны скрипты для имитирования движения Curiosity.

Возможность использования программы предоставлена на сайте доступном по ссылкеURL: http://krivosheinsasha.wix.com/curiosity-simulator.

Список литературы

1. Кемурджиана, А. Л. «Планетоходы»-Москва: «Машиностроение», 1993 - 397 с.

Приложения

Рис. 1. Путь движения Curiosity

Рис. 2. Ретопология камеры марсохода

Рис. 3. Развёртка детали

Рис. 4. Модель собранная в 3dsmax

Рис. 5. Normal map

Рис. 6. Ambient occlusion map

Рис. 7. Создание diffusialmap

Рис. 8. Процесс создания анимации

Скрипт 1

usingUnityEngine;

usingSystem.Collections;

publicclassTransPlayer : MonoBehaviour {

publicbool right;

publicbool left;

publicfloatforward_speed;

publicfloatback_speed;

publicfloatrotation_speed;

voidStart()

{

right = false;

left = false;

}

voidUpdate ()

{

if (Input.GetKey(KeyCode.W))

{

transform.Translate(forward_speed * Time.deltaTime, 0f, 0f);

if (left == true)

{

transform.Rotate(0, -rotation_speed * Time.deltaTime, 0);

}

if (right == true)

{

transform.Rotate(0, rotation_speed * Time.deltaTime, 0);

}

}

if (Input.GetKey(KeyCode.S))

{

transform.Translate(-back_speed * Time.deltaTime, 0f, 0f);

if (left == true)

{

transform.Rotate(0, rotation_speed * Time.deltaTime, 0);

}

if (right == true)

{

transform.Rotate(0, -rotation_speed * Time.deltaTime, 0);

}

}

if (Input.GetKey(KeyCode.A))

{

left = true;

}

if (Input.GetKeyUp(KeyCode.A))

{

left = false;

}

if (Input.GetKeyDown(KeyCode.D))

{

right = true;

}

if (Input.GetKeyUp(KeyCode.D))

{

right = false;

}

}

}

Скрипт 3

usingUnityEngine;

usingSystem.Collections;

publicclassControl : MonoBehaviour

{

publicGameObject looker;

publicGameObject button1;

publicGameObject button2;

publicGameObject button3;

publicGameObject button4;

publicGameObject button5;

voidStart()

{

Screen.SetResolution(1920, 1080, true);

}

voidexit()

{

Application.Quit();

}

voidplay()

{

Application.LoadLevel(1);

}

voidoption_true()

{

UIPanel other = looker.GetComponent<UIPanel>();

UIButton other1 = button1.GetComponent<UIButton>();

UIButton other2 = button2.GetComponent<UIButton>();

UIButton other3 = button3.GetComponent<UIButton>();

UIButton other4 = button4.GetComponent<UIButton>();

UIButtonMessage other14 = button4.GetComponent<UIButtonMessage>();

UIButton other5 = button5.GetComponent<UIButton>();

UIButtonMessage other15 = button4.GetComponent<UIButtonMessage>();

other.enabled = true;

other1.enabled = false;

other2.enabled = false;

other3.enabled = false;

other4.enabled = false;

other14.enabled = false;

other5.enabled = false;

other15.enabled = false;

}

voidoption_false()

{

UIPanel other = looker.GetComponent<UIPanel>();

UIButton other1 = button1.GetComponent<UIButton>();

UIButton other2 = button2.GetComponent<UIButton>();

UIButton other3 = button3.GetComponent<UIButton>();

UIButton other4 = button4.GetComponent<UIButton>();

UIButtonMessage other14 = button4.GetComponent<UIButtonMessage>();

UIButton other5 = button5.GetComponent<UIButton>();

UIButtonMessage other15 = button4.GetComponent<UIButtonMessage>();

other.enabled = false;

other1.enabled = true;

other2.enabled = true;

other3.enabled = true;

other4.enabled = true;

other14.enabled = true;

other5.enabled = true;

other15.enabled = true;

}

}

Рис. 9. Меню симулятора

Рис. 10. Симулятор

Размещено на Allbest.ru

...

Подобные документы

  • Многообразие объектов управления, их функций, форм и методов управления. Определение понятия организации производства технического обслуживания и ремонта машин. Разработка и внедрение автоматизированной системы управления производственным процессом.

    курсовая работа [544,5 K], добавлен 23.04.2013

  • Изучение современных методов управления производственными процессами на основе компьютерных технологий. Разработка математической модели бытового водонагревателя с системой подводящих труб и создание автоматизированной системы управления в Trace Mode.

    курсовая работа [2,5 M], добавлен 14.07.2012

  • Легкая промышленность: характеристика отрасли и ее роль в межгосударственных отношениях стран СНГ. Средний уровень развития информационных технологий на предприятиях. Обоснование преимуществ внедрения в производство автоматизированных систем управления.

    курсовая работа [614,9 K], добавлен 29.05.2009

  • Исследование особенностей предприятий хлебопекарной промышленности как объектов автоматизации. Изучение опыта внедрения и тенденций развития автоматизированных систем управления хлебопекарной отрасли. Модернизация и информатизация производства хлеба.

    контрольная работа [25,6 K], добавлен 03.03.2016

  • Цель внедрения колтюбинговых технологий, их основные преимущества. Циркуляционные системы для колтюбингового бурения. Необходимость понижения давления. Вскрытие пластов в условиях депрессии. Система верхнего привода, ее характеристика и преимущества.

    презентация [7,0 M], добавлен 02.10.2012

  • Определение параметров автоматизации объекта управления: разработка алгоритма управления и расчёт параметров устройств управления, моделирование процессов управления, определение показателей качества, параметры принципиальной электрической схемы.

    курсовая работа [1,7 M], добавлен 18.09.2009

  • Проведение исследования формирования структуры синтетического опала с заданными оптическими свойствами и создание возможности управления его характеристиками. Технико-экономическое обоснование разработки и внедрения модернизированной установки ВУП.

    дипломная работа [4,1 M], добавлен 24.11.2010

  • Информация и организационная структура управления. Современные информационные технологии и качество управления. Основные понятия управления информационными технологиями. Проблемы организационной деятельности в сфере ИТ. Проблема выбора источников ИТ.

    реферат [17,5 K], добавлен 24.10.2010

  • Разработка функциональной и структурной схемы автоматизированной системы управления процессом атмосферной перегонки нефти. Разработка соединений и подключений. Программно-математическое обеспечение системы. Расчет экономического эффекта от внедрения АСУ.

    дипломная работа [7,8 M], добавлен 11.08.2011

  • Описание работы технологической линии. Требования к системе управления. Разработка алгоритма системы автоматического управления линией. Разработка полной принципиальной электрической схемы. Выбор средств автоматизации и разработка щита управления.

    курсовая работа [362,3 K], добавлен 10.09.2010

  • Характеристика автоматизируемого технологического комплекса. Выбор автоматического устройства управления и накопителя для заготовок и деталей. Разработка системы логико-программного управления технологическим объектом и принципиальной схемы управления.

    курсовая работа [1009,8 K], добавлен 13.05.2023

  • Информационные технологии предприятия. Цели внедрения PDM-систем. Принципы оценки эффекта от внедрения PDM-системы. Разработка перспективного плана внедрения PDM-системы в ОАО "Институт по проектированию предприятий машиностроения и приборостроения".

    дипломная работа [299,1 K], добавлен 19.06.2012

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

    дипломная работа [1,2 M], добавлен 03.12.2012

  • Описание принципов и режимов автоматического управления. Обоснование выбора программы управления энергоблоком на атомной электрической станции. Изучение схем теплотехнического контроля на АЭС. Система управления турбиной и электропитанием энергоблока.

    курсовая работа [3,1 M], добавлен 28.01.2015

  • Обоснование необходимости автоматизации РТК штамповки. Разработка системы логико-программного управления. Основные параметры гидрораспределителя. Определение составов входных и выходных сигналов. Разработка программы управления контроллера Овен.

    курсовая работа [957,2 K], добавлен 22.05.2016

  • Разработка схемы планировки роботизированного технологического комплекса (РТК) горячей штамповки и ее элементов, техническое обеспечение системы управления, схема подключения программируемого логического контроллера (ПЛК), алгоритм и программа управления.

    курсовая работа [4,7 M], добавлен 13.11.2009

  • Использование космических электрореактивных двигательных установок (ЭДУ) для космических летательных аппаратов с большими временами активного функционирования. Разработка двигательной установки для коррекции орбиты. Расчёт тяговых параметров ЭРДУ.

    курсовая работа [545,6 K], добавлен 18.12.2012

  • Разработка системы управления участком темперирования, обеспечивающей поддержание параметров температурных зон, контроля параметров процесса участка. Анализ технологического процесса как объекта управления. Описание существующих систем на основе SCADА.

    курсовая работа [802,2 K], добавлен 24.06.2022

  • Специфика управления на предприятиях черной металлургии с полным циклом производства. Функции и структура автоматизированных систем управления стана 630 холодной прокатки. Устройство и принципы работы локальной системы автоматического управления САРТиН.

    контрольная работа [616,3 K], добавлен 17.01.2010

  • Разработка системы управления технологическим процессом получения холода и управляющей программы для нее. Расчет экономического эффекта от ее внедрения. Выбор аппаратных средств контроля регулирования. Определение настроечных параметров регулятора.

    дипломная работа [935,5 K], добавлен 21.08.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.