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

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

  • Upload
    jerrod

  • View
    57

  • Download
    4

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Ю.К. Чеботарева

Применение генетических алгоритмов для генерации числовых последовательностей,

описывающих движение, на примере шага вперед человекоподобного робота

Ю.К. ЧеботареваНаучный руководитель: д.т.н., зав. кафедрой "Технологии

программирования", профессор А.А. Шалыто

2009

Санкт-Петербургский государственный университет информационных технологий механики и оптики

Кафедра компьютерных технологий

Page 2: Ю.К. Чеботарева

2

Человекоподобные роботы

Создание человекоподобных роботов – перспективное направление науки

Такие роботы приспособлены для мира людей

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

на примере шага вперед человекоподобного робота

Page 3: Ю.К. Чеботарева

3

Robocup

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

на примере шага вперед человекоподобного робота

Page 4: Ю.К. Чеботарева

4

Robotstadium

Webots

Nao Aldebaran Robotics Standard Platform

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

на примере шага вперед человекоподобного робота

Page 5: Ю.К. Чеботарева

5

Сервомоторы

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

на примере шага вперед человекоподобного робота

Page 6: Ю.К. Чеботарева

6

Базовые действия роботов

Для создания конкурентоспособной управляющей программы необходим набор базовых действий: Шаг вперед, назад, влево, вправо Поворот влево, вправо Подъем из положения лежа на спине, на

животе

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

на примере шага вперед человекоподобного робота

Page 7: Ю.К. Чеботарева

7

Описание действий

В одном движении от 10 до 100 и более фаз Для каждой фазы необходимо задать углы

сервомоторов Подобрать вручную практически невозможно Методы, основанные на физике и биомеханике

сложны для реализации

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

на примере шага вперед человекоподобного робота

Page 8: Ю.К. Чеботарева

8

Пример действия (шаг вперед)

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

на примере шага вперед человекоподобного робота

И это только 10 фаз из 66 и 5 сервомоторов из 10!Полная информация о движении больше в 12 раз.

#WEBOTS_MOTION V1.0 LHipRoll LHipPitch LKneePitch LAnklePitch LAnkleRoll00:00:000 Pose1 0.027 -0.505 1.042 -0.537 -0.02700:00:040 Pose2 0 -0.524 1.047 -0.524 000:00:080 Pose3 0 -0.524 1.047 -0.524 000:00:120 Pose4 0 -0.523 1.047 -0.524 000:00:160 Pose5 -0.001 -0.523 1.047 -0.524 0.00100:00:200 Pose6 -0.003 -0.523 1.047 -0.524 0.00300:00:240 Pose7 -0.004 -0.523 1.047 -0.524 0.00400:00:280 Pose8 -0.007 -0.522 1.047 -0.525 0.00700:00:320 Pose9 -0.01 -0.522 1.047 -0.525 0.0100:00:360 Pose10 -0.016 -0.521 1.046 -0.526 0.016

Page 9: Ю.К. Чеботарева

9

Постановка задачи

Получить числовую последовательность, описывающую движение робота, такую что при ее использовании робот сохранит равновесие переместится вперед минимально отклонится в сторону

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

на примере шага вперед человекоподобного робота

Page 10: Ю.К. Чеботарева

10

Сервомоторы для шага вперед

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

на примере шага вперед человекоподобного робота

Page 11: Ю.К. Чеботарева

11

Алгоритм решения

Генерация движений с использованием генетических алгоритмов Алгоритм кодирования особей в хромосомы Генетические операторы над хромосомами Алгоритм вычисления функции-

приспособленности Критерий останова

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

на примере шага вперед человекоподобного робота

Page 12: Ю.К. Чеботарева

12

Задание особи (1)

разобьем весь временной

отрезок [0, τ] на n частей аппроксимируем Fi

кубическими сплайнами на каждом из n отрезков

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

на примере шага вперед человекоподобного робота

)(tFii – полное время движения

Page 13: Ю.К. Чеботарева

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’)

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

на примере шага вперед человекоподобного робота

],..,1[,10,..,1 nji

Page 14: Ю.К. Чеботарева

14

Задание особи (3)

Тогда для каждого сплайна требуется задать два параметра. Пусть это будут значения в конце соответствующего отрезка

Считаем, что начальное и конечное положение робота заданы и равны (Pi1(0) = Pin(τ))

Исключения: Первый сплайн. Задаем дополнительно P’i1(0) Последний сплайн. Pin(τ) не требуется Итого: хромосома ─ вектор из 10∙2∙n

вещественных чиселЧеботарева Ю.К.

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

Page 15: Ю.К. Чеботарева

15

Выбор n

Экспериментально установлено, что 5-6 сплайнов достаточно для приближения функций сервомоторов из стандартного шага вперед

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

на примере шага вперед человекоподобного робота

Page 16: Ю.К. Чеботарева

16

Создание начального поколения

N случайно сгенерированных особейУчет ограничений на значения

сервомоторов

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

на примере шага вперед человекоподобного робота

Page 17: Ю.К. Чеботарева

17Отбор особей для следующего поколенияЭлитизмСкрещиваниеМутацияОсоби для скрещивания и мутации

выбираются по принципу рулетки

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

на примере шага вперед человекоподобного робота

Page 18: Ю.К. Чеботарева

18

Оператор скрещивания

Получает и возвращает две особиОдноточечный оператор скрещивания

n-точечный оператор скрещиванияДругие варианты скрещивания

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

на примере шага вперед человекоподобного робота

Предки Потомки

Page 19: Ю.К. Чеботарева

19

Мутация

Выбираем один из элементов хромосомы, увеличиваем или уменьшаем на случайное число

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

на примере шага вперед человекоподобного робота

Page 20: Ю.К. Чеботарева

20Вычисление функции приспособленностиДвижение моделируется в среде WebotsПриспособленность зависит от

времени на протяжении которого робот сохранял равновесие

смещения робота в сторону поворота робота в сторону

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

на примере шага вперед человекоподобного робота

если робот не упал

Page 21: Ю.К. Чеботарева

21

Критерий останова

Предсказать максимум приспособленности заранее нельзя

Останов, если максимальная приспособленность не менялась на протяжении G поколений

Останов через определенное число поколений

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

на примере шага вперед человекоподобного робота

Page 22: Ю.К. Чеботарева

22

Результаты

Метод является весьма перспективнымДля числа поколений G = 100 и числа

особей в поколении N = 100 среди лучших особей встречались способные поднять и опустить ногу. При этом слегка сместившись, но сохранив равновесие и не теряя мяч, лежавший перед ними, из виду.

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

на примере шага вперед человекоподобного робота

Page 23: Ю.К. Чеботарева

23

Спасибо за внимание!

Спасибо за внимание!

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

на примере шага вперед человекоподобного робота