Подтвердить что ты не робот

Darpa Grand Challenge/Автономные автомобили

Я разработчик программного обеспечения с фоном разработки Microsoft Web. Что касается чистого интереса и интриги, я хотел бы узнать больше о том, что происходит в создании автономных транспортных средств или автомобильных технологий в целом (адаптивный круиз-контроль, самостоятельная парковка и т.д.).

Кто-нибудь имеет опыт работы с подобными технологиями или имеет рекомендуемый набор книг, веб-сайт, рамки разработки, проекты с открытым исходным кодом и т.д., которые были бы полезны?

Спасибо!

*** Редактировать - Включая некоторые ответы, которые я получил от различных команд DARPA по электронной почте: *

Аарон из Корнелла написал:

Отъезд http://code.google.com/p/cornell-urban-challenge/

Майк из Стэнфорда написал:

В терминах попадания в робототехнику существует пара открытых исходных кодов инструменты для робототехники в Интернете (Player/Stage, CARMEN, Willow Garages робота ОС, инструментарий для роботов Майкрософт), который, возможно, стоит исследовать. Однако они не являются транспортными. Есть много научные статьи о том, как подошли различные команды DARPA автономное вождение. Для этого я бы предложил "Журнал поля" Robotics. У них было несколько вопросов, посвященных как Великой Задаче и Urban Challenge. Наконец, если есть еще одно соревнование, определенно ищите близлежащую команду и добровольца. Для обеих рас было несколько человек, которые не были из университета, но были желая много работать и вносить свой вклад.

Джон из Оша Кош написал:

Для книг и т.д., начинайте здесь: http://www.amazon.com/s/ref=nb_sb_ss_i_3_5?url=search-alias%3Daps&field-keywords=darpa+urban+challenge&sprefix=DARPA

В Интернете также есть много литературы, например, Google Scholar, хотя большинство опубликованных вами документов являются "исследованиями" и не слишком сильно погружаются в аспекты кодирования. Вы можете захотеть присоединиться к IEEE Intelligent Transportation Systems Society; они публикуют официальные документы по всем аспектам исследований и прикладных технологий.

Мы использовали С++ на машинах Linux для обработки датчиков и С# на машинах Windows для программирования автономности.

Хотя я сам не использовал это, вот ссылка на SDK некоторыми людьми в Стэнфордском университете. http://kartorobotics.com/

Удачи!

4b9b3361

Ответ 1

Данные датчика (например, Project Natal для XBOX) и A.I. нейронных сетей, которые обнаруживают особенности ландшафта и классифицируют их байесовским фильтром, используя в основном C и встроенный ассемблер. Конечно, есть GPS и все такое, но GPS, даже военный GPS - дерьмо для принятия решений в режиме реального времени. Я бы посмотрел код распознавания лиц, например Intel OpenCV library и распознавание речи, например VoxForge, поскольку они касаются визуального обнаружения объектов (пространственного) и машинного обучения (вероятностные модели), соответственно. Знание архитектуры Arduino позволит простому кодированию передавать команды на физические действия микромоторов, управляющих автомобилем. После этого это всего лишь тонна отладки.

Ответ 2

Я работаю с автономными роверами на всех уровнях (механическими, электронными и программными), и это большая работа.

На механическом уровне вам необходимо создать или модифицировать мобильную платформу, чтобы это могло принять автоматизацию. Я расскажу о своем опыте с одним из моих проектов, чтобы воплотить эту дискуссию.

Мой проект основан на небольшом (100cc) бензиновом ATV. В механической фазе мне пришлось подготовить ATV для получения всех устройств для автоматизации. Например, отрежьте рули, установите шкивы, сделайте металлические кронштейны для установки сервомоторов, установите потенциометры на оси руля, чтобы закрыть контур управления рулем и т.д.

Затем вам нужно провести некоторое исследование и указать двигатели для автоматизации. Например, нам нужно было провести полевые испытания, чтобы определить, какая сила, которую мы (люди) применяем к рулю, чтобы управлять ATV в нескольких ситуациях и какова скорость angular рулевого управления. С этой информацией вам нужно найти двигатель и коробку передач, которые позволят имитировать такое движение.

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

Затем мы создали программное обеспечение, запущенное на бортовом компьютере, для управления контроллерами двигателя. На данный момент у нас был мобильный робот, который мы могли бы использовать с помощью удаленного компьютера через WiFi, но не автономного.

Следующий этап - установка, получение и обработка сигнала от датчиков. У нас было 2 устройства GPS, акселерометры, гироскопы и магнитометры. Мы получили входные данные от всех этих датчиков и создали оценку вектора положения (углы Эйлера), динамический вектор (скорость, ускорение) и оценку текущей позиции данной опорный кадр (карта). В настоящее время мы предпочли бы купить интегрированную ИМУ (инерциальную единицу измерения) вместо того, чтобы работать самостоятельно и беспокоиться о таких вещах, как температурная компенсация и дизайн фильтра Калмана.

Когда вы все это делаете, вам нужно обработать всю эту информацию и передать систему приведения в соответствие с результатами, учитывая заданную цель (например, перейти от точки A к точке B). Мы использовали Robotics на основе поведения, реализованный на С#. Вы можете запрограммировать эти малые поведения в слоях. Например, вы создаете такие поведения, как BehBatteryLow, которые будут звучать, если уровень заряда батареи падает ниже порога. Это поведение на низком уровне, которое может охватить поведение более высокого уровня, такое как BehAvoidObstacle или BehNavigateToWaypoint. Поведение может быть противоречивым, поэтому вам нужны вещи, такие как Арбитры.

"Робототехника на основе поведения" Рональда К. Аркина - хорошая отправная точка, но, перейдя по некоторым ключевым словам из моего сообщения, вы также попадаете в некоторые интересные места.

Приветствия и удачи!

Ответ 3

Проверьте архивы GPS World для некоторых материалов высокого уровня. Сделайте поиск "DARPA", чтобы подтянуть некоторые статьи для городских и грандиозных задач.