1.3 Базовые принципы робототехники и ИИ

Искусственный интеллект применимо к разработке роботов требует широкого набора различных навыков от Вас, дизайнера или разработчика роботов. Возможно, Вы уже создавали роботов до этого. Возможно, у Вас есть квадрокоптер или 3D принтер (который, по факту, тоже является роботом). Знакомый Вам мир пропорционально-интегрально-дифференцирующих (ПИД) регуляторов, сенсорных циклов и машин состояний уступит место искусственным нейронным сетям, экспертным системам, генетическим алгоритмам и планированию передвижения. Мы хотим создать робота, который будет не только реагировать на окружение рефлексивными действиями, но будет иметь свои цели и намерения, обучаться и адаптироваться к окружению. Мы хотим решить задачи, которые в другом случае были бы трудными или невозможными.

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

Одним из сложных решений, к которым мне пришлось придти при написании этой книги, было решить - эта книга об ИИ и его использовании в робототехнике или о робототехнике и возможностях применения ИИ в ней. Сфокусироваться на изучении робототехники или же ИИ? Ответ - эта книга о том, как применять ИИ к решению робототехнических задач, т.е. в основном это книга об ИИ с использованием роботов в качестве примера. Способы и техники, которым Вы научитесь, найдут применение, даже если Вы не занимаетесь робототехникой, но просто применяете ИИ для принятия решений по торговле на бирже.

В первой части главы мы рассмотрим некоторые способы обеспечения одинаковой структуры с примерами в книге. Итак, мы будем использовать Python в качестве языка программирования, ROS для инфраструктуры данных и будем работать под ОС Linux. Я разрабатывал примеры для книги на Oracle VirtualBox с запущенной Ubuntu Linux на компьютере с Windows Vista. Из железа робота использовался Raspberry Pi 3 в качестве “мозга”, и Arduino Mega2560 как интерфейс микроконтроллера.

Во второй части главы мы рассмотрим некоторые базовые вещи об ИИ и продвинемся к разработке двух важных инструментов, которые будут использоваться во всех примерах до конца книги. Мы познакомимся с концептом слабого управления в режиме реального времени и предоставим фреймворк (модель) интерфейса ИИ для нашего робота: цикл Наблюдение-Ориентация-Решение-Действие (НОРД).

Last updated