Главная страница

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


Скачать 2.66 Mb.
НазваниеОт др греч. искусство управления наука об общих закономерностях
Анкорработа
Дата21.09.2022
Размер2.66 Mb.
Формат файлаpdf
Имя файлаОсновы программирования роботов.pdf
ТипЗакон
#688895

Кибернетика
3
© 2022 Огородников АИ
от др.-греч. κυβερνητική
«искусство управления»
наука об общих закономерностях
получения, хранения, преобразования и
передачи информации в сложных
управляющих системах, будь то
машины, живые организмы или
общество

Кибернетика
4
© 2022 Огородников АИ
Объектом кибернетики
являются
все управляемые
системы
.
Системы, не поддающиеся
управлению в принципе не
являются объектами
изучения кибернетики.

5
© 2022 Огородников АИ
Примеры кибернетических систем — автоматические
регуляторы в технике, ЭВМ, человеческий мозг,
биологические популяции, человеческое общество.
Основные
технические
средства
для решения задач
кибернетики —
ЭВМ
. Поэтому возникновение
кибернетики как самостоятельной науки (Н. Винер, 1948)
связано с созданием в 40-х годах XX века ЭВМ.
Кибернетика

Чистая кибернетика
6
© 2022 Огородников АИ
Чистая кибернетика, или кибернетика второго порядка,
изучает системы управления как понятие, пытаясь
обнаружить основные её принципы.
1. Искусственный интеллект
2. Кибернетика второго порядка
3. Компьютерное зрение
4. Системы управления

Биокибернетика
7
© 2022 Огородников АИ
Кибернетика в биологии — это
исследование
кибернетических
систем в
биологических организмах
,
и как информация в форме генов
может перейти от поколения к
поколению. Также имеется второе
направление — киборги.
1. Биоинженерия
2. Биоинформатика
3. Бионика
4. Нейрокибернетика

Вычислительная кибернетика
8
© 2022 Огородников АИ
В вычислительной технике методы кибернетики
применяются для управления устройствами и
анализа информации.
1. Робототехника
2. Симуляция
3. Компьютерное зрение
4. Искусственный интеллект
5. Распознавание объектов
6. Система управления АСУ

Проблема робототехники
9
© 2022 Огородников АИ
Проблема программируемого робота:
восприятие
против
реальности
и хрупкость
контроля.
Фундаментальная проблема всей робототехники
заключается в следующем:
невозможно узнать
истинное состояние окружающей среды
.

Моделирование
10
© 2022 Огородников АИ
Одним из первых шагов в разработке системы
управления является создание
абстракции
реального мира, известной как
модель
, с помощью
которой можно интерпретировать показания датчиков
и принимать решения.

Ограничения моделей
11
© 2022 Огородников АИ
Пока реальный мир ведет себя в соответствии с
предположениями модели, мы можем делать правильные
предположения и осуществлять контроль.
Однако как только реальный мир отклонится от этих
предположений, мы больше не сможем делать правильные
предположения, и контроль будет потерян. Часто, потеряв
контроль, восстановить его уже невозможно.

Выход из ситуации
12
© 2022 Огородников АИ
Это одна из ключевых причин сложности программирования
робототехники.
Одним из ключей к развитию робототехники является
разработка более сложных, гибких и надежных моделей.
Многие достижения в робототехнике связаны с
наблюдением за живыми существами и наблюдением за
тем, как они реагируют на неожиданные раздражители.

Конвеерный подход
13
© 2022 Огородников АИ
Традиционно процесс программирования включает в
себя следующие этапы:
1. Наблюдение за встроенными датчиками робота. Все
данные, полученные на этом тапе, впоследствии станут
вводными, которые робот получит для исполнения тех
или иных задач.

Конвеерный подход
14
© 2022 Огородников АИ
2. Оценка состояния системы. С
помощью вводных данных, полученных
на этапе наблюдения, описываются
основные характеристики робота: его
скорость движения, ориентация и др.

Конвеерный подход
15
© 2022 Огородников АИ
3. Построение моделей и создание
прогнозов. Представляет собой
динамическую работу с периодической
помощью в отношении модели робота
и оценки его состояния.

Конвеерный подход
16
© 2022 Огородников АИ
4. Планирование. Именно на этом
этапе определяется палитра действий,
необходимая для эффективного
исполнения поставленной задачи

Конвеерный подход
17
© 2022 Огородников АИ
5. Управление. Этап заключается в
преобразовании команд и возможности
модифицировать программы для
управления роботом.

Биологический подход
18
© 2022 Огородников АИ
Искусственный интеллект и нейронные сети все чаще
применяются в робототехнике.
На сегодняшний день эти технологии призваны имитировать
биологическую нейронную (синаптическую) мозговую
активность человека.
Биологический подход во многом противоречит
традиционному конвейерному, но уже демонстрирует
собственные достойные результаты.

Определение
19
© 2022 Огородников АИ
Программирование роботов — это разработка
схемы управления тем, как машина
взаимодействует с окружающей средой и достигает
своих целей

Ассемблер
20
© 2022 Огородников АИ
от англ. assembler — сборщик
транслятор программы из текста на языке ассемблера, в
программу на машинном языке.
в языке ассемблера каждой мнемонике соответствует
одна машинная инструкция, в то время как в
высокоуровневых языках каждое выражение может
преобразовываться в большое число различных
инструкций.

Промышленные языки
21
© 2022 Огородников АИ
Сегодня почти каждый робот имеет
собственный язык программирования.
Это означает, что пользователям
приходится изучать новый язык каждый
раз, когда они используют новый бренд
роботов.
Fanuc используют язык Karel, Yaskawa
использует INFORM, Kuka - KRL, ABB
имеет свой язык программирования
RAPID.

Сложность языков
22
© 2022 Огородников АИ
• Низший. Служит для управления исполнительными
приводами в формате заданных точных значений линейного
или углового перемещения отдельных звеньев.
• Манипулятивный уровень. С его помощью можно
реализовать общее управление всей системой в целом, где
рабочий орган робота будет зафиксирован в системе
координат.

Сложность языков
23
© 2022 Огородников АИ
• Оперативный уровень. Предназначен для
формирования рабочей программы, где методом
установления последовательности определенных действий
будет достигнут результат, запланированный оператором.
• Высший уровень. При выходе на него программа
самостоятельно, без детализации способна указать, какие
именно действия необходимо совершить рабочему органу.

С++
24
© 2022 Огородников АИ
Язык программирования номер один в робототехнике.
Библиотеки позволяют взаимодействовать с
низкоуровневым оборудованием, поддерживают
производительность в реальном времени.
В результате C и C++ ближе всего к стандартному языку
программирования роботов.

JAVA
25
© 2022 Огородников АИ
Объектно-ориентированный язык программирования
общего назначения, основанный на классах.
Позволяет написать один раз и запускать где угодно без
перекомпиляции.
Например, это один из основных языков современных
ИИ, таких как AlphaGo и IBM Watson.

Python
26
© 2022 Огородников АИ
Существенным преимуществом этого языка программирования
является простота использования.
С Python такие вещи, как определение и приведение типов
переменных, становятся ненужными.
На нём пишут навигацию и машинное обучение.

С#/.NET
27
© 2022 Огородников АИ
Собственный проприетарный язык программирования от
Microsoft.
Это основной язык Microsoft Robotics Developer Studio — среды
на базе Windows для управления и моделирования роботов.
Служит основой для некоторых популярных движков
виртуальной реальности, таких как Unity

LISP, PROLOG, LUA
28
© 2022 Огородников АИ
LISP — один из первых языков программирования. В результате
он стал пионером многих идей в информатике, таких как
автоматическое управление памятью, условные операторы,
рекурсия и функции более высокого.
Пролог был одним из первых языков логического
программирования. Помимо полезности для обработки
естественного языка, Пролог также используется для
доказательства теорем, экспертных систем и
автоматизированного планирования.

С++ или Python?
29
© 2022 Огородников АИ
В робототехнике лучше всего использовать два основных языка
программирования: C++ и Python, которые часто используются
вместе, поскольку каждый из них имеет свои плюсы и минусы.
C++ используется в циклах управления, обработке изображений
и для взаимодействия с низкоуровневым оборудованием.
Python используется для обработки поведения высокого уровня
и для быстрой разработки тестов или проверки концепций.

ROS
30
© 2022 Огородников АИ
Cреды программирования общего назначения, такие как
Industrial Robot Operating System, начинают предлагать
стандартизированные параметры.
Позволяет программистам разрабатывать передовое
программное обеспечение, не зная, как работает
конкретное оборудование

ROS
31
© 2022 Огородников АИ

ROS
32
© 2022 Огородников АИ
Это промежуточное программное обеспечение — набор
программных средств для разработки программного обеспечения
для роботов:
• Аппаратная абстракция
• Низкоуровневое управление устройствами
• Реализация часто используемого функционала
• Обмен сообщениями между процессами
• Управление пакетами

Способы программирования
33
© 2022 Огородников АИ
Для управления промышленными роботами
управляющие программы разрабатываются
двумя способами –
онлайн
и
офлайн
.

Онлайн
34
© 2022 Огородников АИ
Программирование роботов
непосредственно на месте их установки.
Оператор при помощи консоли
направляет робота в заданный участок
пространства и выполняет
необходимые задачи.
Не всегда удобно – в программы,
созданные таким образом, нельзя
вносить изменения.

Онлайн
35
© 2022 Огородников АИ

Как это работает
36
© 2022 Огородников АИ
Алгоритм работы оператора очень
простой:
- снял готовое изделие
- закрепил новые заготовки в
кондукторе
- вышел за ограждение
-нажал кнопку подтверждения и старта

Оффлайн
37
© 2022 Огородников АИ
Программы пишутся на обычном
компьютере в редакторе, написание
программ для современных роботов
доступно любому сотруднику после
недолгого обучения.
Текстовая программа загружается в
компьютер робота, отлаживается и
корректируется. Экономит время, не
останавливает производственный
процесс и дает отличную визуализацию
и возможность предварительно
оценить множество параметров.

Как это работает
38
© 2022 Огородников АИ
В сложных случаях можно воспользоваться помощью
дополнительного программного обеспечения.
АВВ предлагает пакет RobotStudio для симуляции работы
роботизированных комплексов на компьютере.
В нем можно написать и отладить программу не останавливая
роботизированную систему для этого и минимизировав время
простоя оборудования для переналадки.

Sprut Cam Robot
39
© 2022 Огородников АИ
SprutCAM Robot выходит за рамки традиционного ПО для
програмирования роботов.
Одно решение для автономного программирования, которое
включает в себя:
1/ расчет траектории инструмента;
2/ моделирование;
3/ оптимизация движений без сингулярности и столкновений;
4/ постпроцессирование.
Траектории инструмента рассчитываются в собственных 6-
осевых кодах

Sprut Cam Robot
40
© 2022 Огородников АИ

41
© 2022 Огородников АИ

Matlab
42
© 2022 Огородников АИ
От программирования – к симулированию всех систем роботов.
Инженеры-робототехники полагаются на MATLAB для анализа
данных и разработки систем управления.
Помимо обработки данных, некоторые университетские курсы
также используют этот язык программирования в
исследовательских целях.
• Алгоритмы настройки
• Моделировать реальные системы
• Генерация кодов автоматически

Matlab
43
© 2022 Огородников АИ

RobSim 5 от Dyn-Soft
44
© 2022 Огородников АИ
Программный комплекс для моделирования роботов и
робототехнических систем с элементами игрового программного
обеспечения. Он предназначен для обучения школьников и
студентов ВУЗов таким дисциплинам, как:
1. моделирование;
3. проектирование;
5. электроника;
7. программирование микроконтроллеров;
9. теория автоматического управления;
11. интеллектуальные системы;

Последовательность
45
© 2022 Огородников АИ

Кинематика и геометрия
46
© 2022 Огородников АИ

Электроника
47
© 2022 Огородников АИ

Управление
48
© 2022 Огородников АИ

Титан моделирования
49
© 2022 Огородников АИ
V-REP
• имеет большой функционал (система разрабатывается с марта
2010 года)
• полностью open-source (выложена в открытый доступ в 2013
году)
• кроссплатформенная — windows, mac, linux (работает на Qt)
• имеет API и библиотеки для работы с роботами через C/C++,
Python, Java, Lua, Matlab, Octave или Urbi
• бесплатная для некоммерческого использования!

50
© 2022 Огородников АИ
Любые
роботы

51
© 2022 Огородников АИ

52
© 2022 Огородников АИ

53
© 2022 Огородников АИ
Будущее:
1. Нейросети
2. Нейроморфные системы
3. Самообучение


написать администратору сайта