tgoop.com/robotsilike/13
Last Update:
1. Что представляют из себя роботы с точки зрения программного обеспечения
Начать наше путешествие стоит с базового представления о том, как устроено ПО, которое оперирует роботами. Да, вопросы механики и электроники рассматривать мы не будем - это было бы слишком для DL-блога) Привести строгую иерархию и/или классификацию решаемых задач довольно сложно, т.к. у разных типов роботов (колесные/гусеничные мобильные роботы, манипуляторы, четвероногие роботы) есть свои особенности. Однако, следующие задачи так или иначе актуальны для большинства роботов:
• Управление (control)
• Восприятие (perception)
• Планирование (planning)
Управление (control), пожалуй, находится наиболее близко к границе между софтом и железом. Как бы очевидно это не звучало, но задача управления - привести робота в движение в соответствии с входным управляющим воздействием при наличии различного рода отклонений и внешних воздействий (например, изменяющиеся параметры трения, массы робота, и многое другое). Все это дело строится по большей части на основе теории автоматического управления (ТАУ), в англоязычных источниках её также называют Control Theory или просто Controls.
К восприятию (perception) относят все, что помогает роботу понимать, что происходит в окружающем его мире. В первую очередь, к этому относится обработка показаний всевозможных сенсоров и извлечение полезных данных из их показаний. Одними из самых сложных и самых важных направлений здесь являются задачи, связанные с "пониманием" роботом своего положения и движения в пространстве, а именно:
• Картирования (mapping) - построение карт пространства;
• Локализации (localization) - определения положения по построенной карте;
• Одометрии (odometry) - оценка перемещения робота относительно начальной позиции.
Первые две задачи часто объединяют в одну под названием simultaneous localization and mapping (SLAM).
• Планирование (planning) часто относят к высокоуровневым компонентам роботехнического стэка, т.е. максимально отдаленных от железа и, во многих случаях, универсальных в пределах "типажей" роботов. Здесь хотелось бы привести субъективную классификацию направлений:
• Планирование пути (path planning) - поиск маршрута к заданной точке на карте (либо без нее);
• Планирование движения (motion planning) - в какой-то степени более обобщенное видение предыдущего пункта - планирование последовательности промежуточных состояний робота для достижения целевого состояния (актуально, например, для манипуляторов и гуманоидных роботов);
• Планирование поведения (behaviour planning) - планирование некой высокоуровневой последовательности действий, или миссии для робота
Стоит отметить, что данная схема направлений не является строгой - так, например, многие методы находятся на стыке или инкапсулируют в себе сразу несколько направлений, чаще всего - планирование и управление, либо планирование и восприятие.
BY Universal Autonomy Initiative
Share with your friend now:
tgoop.com/robotsilike/13