В результате анализа столкновений этот дрон научился летать автономно

«Учимся летать путем сбоев», статья робототехников CMU Дхираджа Ганди, Леррела Пинто и Абхинава Гупта содержит такую ​​красивую аннотацию, что я просто позволю им объяснить, о чем идет речь:

[T] он остается большим разрывом между симуляцией и реальным миром, особенно для проблем восприятия. Причина, по которой большинство исследований избегает использования крупномасштабных реальных данных, — это страх сбоев! В этой статье мы предлагаем «перекусить» и собрать набор данных о сбоях самостоятельно! Мы строим дрон, единственная цель которого — врезаться в объекты [. . .] Мы используем все эти отрицательные летные данные в сочетании с положительными данными, взятыми из одних и тех же траекторий, чтобы изучить простую, но действенную политику навигации БПЛА.

Круто, давай рушимся!

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

Робототехники CMU хотели увидеть, есть ли какие-либо преимущества в использовании подхода к столкновению вместо подхода без сбоев, поэтому они впитали его и выпустили AR Drone 2.0 в 20 различных помещениях, в результате чего произошло 11500 столкновений в течение 40 часов налета. Как отмечают исследователи, «поскольку корпуса беспилотника дешевы и их легко заменить, стоимость катастрофического отказа ничтожна». Каждое столкновение является случайным: дрон запускается в случайном месте в пространстве, а затем медленно летит вперед, пока не наткнется на что-нибудь. После этого он возвращается в исходную точку и выбирает новое направление. Если, конечно, он выживет.

Во время этого процесса передняя камера дрона записывает изображения с частотой 30 Гц. Как только происходит столкновение, изображения траектории разделяются на две части: часть, на которой дрон работал нормально, и часть непосредственно перед тем, как он упал. Эти два набора изображений передаются в глубокую сверточную нейронную сеть (с ImageNet-предварительно обученные веса в качестве инициализации для сети), который использует их, чтобы узнать, по сути, означает ли данное изображение камеры, что движение прямо — хорошая идея или нет. После 11500 столкновений результирующий алгоритм может автономно управлять дроном даже в узких, загроможденных местах, вокруг движущихся препятствий, среди невыразительных белых стен и даже стеклянных дверей. Алгоритм управления дроном прост: он разделяет изображение с передней камеры AR Drone на левое и правое изображения, и если одно из этих двух изображений выглядит менее коллизионным, чем прямое движение, дрон поворачивается в этом направлении. . В противном случае он продолжает двигаться вперед.

Насколько хорошо это работает? Обычно он не так хорош, как пилот-человек, за исключением относительно сложных сред, таких как узкие коридоры или коридоры со стульями. Но по сравнению с базовым подходом, использующим оценку глубины с помощью монокуляра, он намного лучше, где-то между 2x и 10x эффективнее (как по времени в воздухе, так и по пройденному расстоянию), в зависимости от окружающей среды. Самым большим преимуществом является навигация по безликим стенам и стеклянным дверям, которые, как известно, являются сложными для оценки глубины. 

Очевидный вопрос , чтобы спросить , является ли этот метод на самом деле более эффективной , чем альтернатива, которая учит беспилотный летать через невместо этого сбой. Я не уверен, каков ответ, но дело в том, что если вы допустите сбой, весь процесс обучения можно будет контролировать самостоятельно: просто установите дрон в комнате и позвольте ему делать свое дело. Вам придется менять батареи (а иногда и корпус), но в остальном весь сбор данных и обучение полностью автономны. Если, с другой стороны, вы пытаетесь научить дрон летать, не разбиваясь, вы должны найти способ, чтобы он не разбился. Вы можете сделать это, обучаясь у пилота-человека или поместив его в какую-либо среду с системой захвата движения и некоторыми 3D-картами препятствий и многого другого, но это увеличивает стоимость и сложность. Сбой намного проще.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *