Введение в робототехнику (перевод лекций курса introduction to robotics). Вводная лекция


Уважаемые посетители robocraft, для вас, как и для себя, я решился на перевод одного хорошего курса по нашей с вами любимой теме – робототехнике. Возможно вам знаком курс видеолекций на английском языке прочтенный в 2008 году в Стенфордском университете профессором Осамой Кхатибом (introduction to robotics). Этот ресурс в количестве 16 лекций доступен на youtube. Тем же из вас, кто английский язык знает недостаточно хорошо даже по американским меркам (обращаю внимание, поскольку курс читается на достаточно доступном языке) я и адресую этот материал. Надеюсь, что он подтолкнет вас на постижение новых знаний и расширение своего кругозора. За кривость перевода не судите строго старался не потерять стиль речи лектора.
С уважением, aivanov.

Введение в робототехнику
перевод лекций профессора Стенфордского университета Осамы Кхатиба (Oussama Khatib), 2008 год

ссылка на страничку курса

Лекция №1. Вступление

ссылка на оригинал

В данном курсе мы планируем рассмотреть основы робототехники. Нам потребуется рассмотреть математические модели которые описывают робототехнические системы в различных их проявлениях.

Если мы рассмативаем математическую модель, которую будем использовать для симуляции, нам необходимо хорошо представлять себе её кинематику. Так же от нас требуется хорошо рассчитывать усилия, производимые приводами, необходимые для движения робота.

Перед нами на рисунке робот которым мы собираемся управлять. Вопрос в
том, каким образом контролировать кисть робота для того, чтобы переместить ее из одного места в другое. Решить эту проблему можно несколькими методами.
Для начала требуется установить местонахождение робота, а для этого потребуются сенсоры.

Например GPS. Этот способ поможет вам распознать местоположение той части робота к которой он закреплен, дать ее координаты на плоскости. А на рисунке изображен робот с 47 степенями свободы. Хлопотная задачка если каждое звено рассчитывать по GPS?
Однако существуют более подходящие варианты. Например при помощи энкодеры. Для данной системы потребуется число энкодеров равное числу степеней свободы механизма.
При помощи GPS мы можем узнать расположение робота в пространстве, затем можно установить положение остальных объектов относительно него. Но для того, чтобы управлять роботом нам нужно определить его кинематическую модель. Знать динамику, силы инерции. Необходимо понимать, что если двигается правая кисть то в движение приходят связанные твердые тела.

Как только мы получим модель робота нам потребуется алгоритм управления. Одними из необходимых инструментов являются прямая и инверсная кинематика.
Если вам задается позиция кисти вы можете установить каждое сочленение в руке робота на заданный угол и поледнее действие приведет кисть в заданную позицию. Это называется прямой кинематикой (forward kinematics)

Что касается инверсной кинематики, то это непросто даже для робота с 6-ю степенями свободы. Звенья могут распологаться по разному друг относительно друга. Для человека естественна прямая кинематика.

В рамках этой группы лекций мы рассмотрим следующие задачи:
1. Математические модели (кинематика и динамика)
2. Расчет траекторий и управление(расчет траекторий, контроль движения, расчет нагрузок)
3. Дополнительные материалы необходимые для более глубокого погружения в материал

Вернемся к проблемам перемещения робота из одной локации в другую.

Как нам это сделать? Каким то образом нужно вычислить последовательность действий, что приведет к перемещению робота от начального положения к необходимому (захват объекта).

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

Для того, чтобы решить эту задачу нам потребуется описать модель в пространстве:
— вычислить позицию и ориентацию звеньев в пространстве
— осуществить преобразования между координатными осями привязанными к звеньям манипулятора.

Манипулятор определяется закрепленной базой и его клешнёй – конечным подвижным звеном. Между ними находится все звенья, которые перемещают клешню в пространстве. Каким образом нам описать этот механизм?

Как мы понимаем мы используем различные соединения: вращательные и поступательные. Звенья связаны между собой образуя цепь. Зная количество звеньев и типы соединений между ними мы можем описать механизм.

Итак, для описания кинематики манипулятора нам понадобится:
1. определения звеньев (связей)
2. параметры Денавита-Хартенберга (будут рассмотрены в дальнейшем)
3. прямая кинематика

Определение связи манипулятора

Перед нами базовый набор параметров для описания звена:
1. Расстояние между осями (axis) – ai-1
2. Угол между осями αi-1

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

Если мы знаем геометрию объекта, а также отношение между его звеньями, мы можем перейти к следующему важному этапу – линейным и угловым скоростям.

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

В этом нам поможет преобразование Якоби. С его помощью мы найдем взаимодействие скоростей и сил. Преобразование Якоби играет очень важную роль, с его помощью можно описать отношение между линейными и угловыми скоростями.

Якоби связывает линейную (linear velocity) и угловую скорости (angular velocity).

К этому методу мы обратимся в последующих лекциях.

Что касается инверсной кинематики, то мы рассмотрим ее относительно возможностей нахождения оптимальных положений звеньев среди возможных вариантов.

В течении курса будет расмотрен необходимый объем информации в области механики.

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

До встречи на следующей лекции.


0 комментариев на «“Введение в робототехнику (перевод лекций курса introduction to robotics). Вводная лекция”»

Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Android Arduino Bluetooth CraftDuino DIY IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд юмор

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение