1 / 23

Ю.К. Чеботарева

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

jerrod
Download Presentation

Ю.К. Чеботарева

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Санкт-Петербургский государственный университет информационных технологий механики и оптики Кафедра компьютерных технологий Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота Ю.К. Чеботарева Научный руководитель: д.т.н., зав. кафедрой "Технологии программирования", профессор А.А. Шалыто 2009

  2. Человекоподобные роботы • Создание человекоподобных роботов – перспективное направление науки • Такие роботы приспособлены для мира людей Чеботарева Ю.К. Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота

  3. Robocup Чеботарева Ю.К. Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота

  4. Robotstadium • Webots • Nao • Aldebaran Robotics • Standard Platform Чеботарева Ю.К. Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота

  5. Сервомоторы Чеботарева Ю.К. Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота

  6. Базовые действия роботов • Для создания конкурентоспособной управляющей программы необходим набор базовых действий: • Шаг вперед, назад, влево, вправо • Поворот влево, вправо • Подъем из положения лежа на спине, на животе Чеботарева Ю.К. Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота

  7. Описание действий • В одном движении от 10 до 100 и более фаз • Для каждой фазы необходимо задать углы сервомоторов • Подобрать вручную практически невозможно • Методы, основанные на физике и биомеханике сложны для реализации Чеботарева Ю.К. Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота

  8. Пример действия (шаг вперед) И это только 10 фаз из 66 и 5 сервомоторов из 10! Полная информация о движении больше в 12 раз. Чеботарева Ю.К. Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота

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

  10. Сервомоторы для шага вперед Чеботарева Ю.К. Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота

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

  12. Задание особи (1) • разобьем весь временной отрезок [0, τ] на nчастей • аппроксимируем Fiкубическими сплайнами на каждом из n отрезков –полное время движения Чеботарева Ю.К. Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота

  13. Задание особи (2) • Имеем полиномы Pij, • Каждый полином задан на своем отрезке [x1,x2] • Для задания полиномадостаточно определить Pij(x1), P’ij(x1), Pij(x2), P’ij(x2) • Но: т.к. полиномы заданы на смежных отрезках, то в точке «смежности» x’ • Pij-1(x’) =Pij(x’) • P’ij-1(x’)=P’ij(x’) Чеботарева Ю.К. Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота

  14. Задание особи (3) • Тогда для каждого сплайна требуется задать два параметра. Пусть это будут значения в конце соответствующего отрезка • Считаем, что начальное и конечное положение робота заданы и равны (Pi1(0) = Pin(τ)) • Исключения: • Первый сплайн. Задаем дополнительно P’i1(0) • Последний сплайн. Pin(τ) не требуется • Итого: хромосома ─ вектор из 10∙2∙n вещественных чисел Чеботарева Ю.К. Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота

  15. Выбор n • Экспериментально установлено, что 5-6 сплайнов достаточно для приближения функций сервомоторов из стандартного шага вперед Чеботарева Ю.К. Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота

  16. Создание начального поколения • N случайно сгенерированных особей • Учет ограничений на значения сервомоторов Чеботарева Ю.К. Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота

  17. Отбор особей для следующего поколения • Элитизм • Скрещивание • Мутация • Особи для скрещивания и мутации выбираются по принципу рулетки Чеботарева Ю.К. Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота

  18. Оператор скрещивания • Получает и возвращает две особи • Одноточечный оператор скрещивания • n-точечный оператор скрещивания • Другие варианты скрещивания Предки Потомки Чеботарева Ю.К. Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота

  19. Мутация • Выбираем один из элементов хромосомы, увеличиваем или уменьшаем на случайное число Чеботарева Ю.К. Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота

  20. Вычисление функции приспособленности • Движение моделируется в среде Webots • Приспособленность зависит от • времени на протяжении которого робот сохранял равновесие • смещения робота в сторону • поворота робота в сторону если робот не упал Чеботарева Ю.К. Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота

  21. Критерий останова • Предсказать максимум приспособленности заранее нельзя • Останов, если максимальная приспособленность не менялась на протяжении G поколений • Останов через определенное число поколений Чеботарева Ю.К. Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота

  22. Результаты • Метод является весьма перспективным • Для числа поколений G = 100 и числа особей в поколении N = 100 среди лучших особей встречались способные поднять и опустить ногу. При этом слегка сместившись, но сохранив равновесие и не теряя мяч, лежавший перед ними, из виду. Чеботарева Ю.К. Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота

  23. Спасибо за внимание! Спасибо за внимание! Чеботарева Ю.К. Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота

More Related