Рубрика «робототехника» - 156

Наши взяли второе место на чемпионате MATE ROV 2014! (фоторепортаж)

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

Мы думали, чем отметить закрытие выставки, и решили посвятить внимание наши робототехникам. Никто не знает, а две недели назад команда Бауманского университета заняла второе место на мировом чемпионате по подводным роботам MATE ROV 2014.

Наши взяли второе место на чемпионате MATE ROV 2014! (фоторепортаж)

Это очень круто, поэтому я связался с Антоном из команды Bauman Gidronav и расспросил его, как это было. На фото вы видите всех три команды финалистов — на переднем плане бауманский робот "Akvator Jellyfish" принесший команде серебро.

Читать полностью »

6 августа, день выхода межпланетной станции Розетта на орбиту кометы Чурюмова Герасименко, все ближе. А это значит, что и сама станция приближается к комете: сейчас объект исследований и космический аппарат разделают уже не миллионы и не сотни тысяч километров, а всего около 9 тысяч километров.

На днях Розетта и сделала наиболее детальный, на данный момент, снимок ядра кометы, с расстояния примерно 12 тысяч километров.

Читать полностью »

>ФБР видит в роботах автомобилях не только надежный транспорт, но и «смертельное оружие» для задач криминала

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

К примеру, в ФБР считают, что автомобили с автопилотом будут использоваться криминалом, и служить «летальным оружием». Например, во время погони за кем-либо на таком авто его владелец, если это криминальный элемент, сможет спокойно вести перестрелку.

Кроме того, в ФБР опасаются, что системы управления автомобилем разного рода умельцы смогут настраивать так, чтобы те без проблем проезжали на красный свет. Ну, и еще вариант — это создать бомбу, и подвезти ее куда-либо на таком автомобиле без участия водителя.

Читать полностью »

Во время проведения учений в тихоокеанском регионе RIMPAC, которые проходят с 26 июня по 1 августа, на Гавайях прошли новые испытания робота поддержки LS3 — Legged Squad Support Systems. А на ютубе появились ролики с записью этих испытаний.

Читать полностью »

Приветствую всех, и тех, кому интересна тема квадрокоптеров в частности! Так уж сложилось, что последний год я активно пользуюсь продукцией DJI, и прочитав несколько статей понял, что информации, помимо изложенной в мануале, не так уж и много. Особенно грустно читать статьи, в которых говорится как кто-то сломалпотерял свой квадрик, допустив элементарную ошибку. В связи с этим я решил написать небольшой материал, в котором опишу собственные наблюдения и постараюсь дать полезные советы начинающим DJIводам.

Дисклаймер: некоторые моменты, описанные в этом материале, могут многим показаться примитивными, однако, прочитав несколько статей на хабре о поюзе DJI'ных устройств, я сделал вывод, что ликбез не помешает. Все выводы сделаны лично мной и основаны на личном опыте использования дронов от DJI. Советы и замечания будут выделяться по ходу повествования, и для наглядности выделяться подчеркиванием. Интересно? Тогда прошу под кат. Читать полностью »

Агентство DARPA опубликовало видео результатов испытаний самонаводящихся пуль калибра .50 (12,7х99 мм), которые позволят в несколько раз увеличить прицельную дальность стрельбы из снайперского оружия. Пули разработаны в рамках программы Extreme Accuracy Tasked Ordnance (EXACTO) совместно с компаниями Lockheed Martin и Teledyne. На видео показано, как пуля на конечном участке полёта отклоняется от баллистической траектории и маневрирует в сторону цели.


Читать полностью »

Предисловие или зачем извращаться?

Здравствуй! Я сидел вечером 11 июня, смотрел фильм. Неожиданно для себя я обнаружил, что мне написала незнакомая мне ранее женщина с предложением сделать робота для их нового квеста. Суть заключается в том, что нужно разгадывать головоломки, исследовать тайники, правильно применять подсказки, использовать доступные вещи и в итоге добывать ключи и открывать двери… От меня требовалось сделать робота, управляемого с компьютера с помощью отдельной программы. У мебя были сомнения по поводу 2 вещей: успею ли я и как именно сделать беспроводную передачу данных (беспроводной передачей данных я занимался до этого только на NXT)? Взвесив все за и против я согласился. После этого я стал думать над передачей данных. Поскольку требовалось сделать робота быстро, то вспоминать и доосваевать, например, дельфи не было времени, поэтому возникла идея сделать модуль который будет заниматься отправкой команд. От компьютера требуется просто посылать данные в СОМ-порт. Этот способ странный, но наиболее быстрый. Его я и хочу описать здесь. Так же я приложу 3 программы которые помогут сделать радиоуправляемую машинку.

Сборка передатчика и его программа.

Я сделал модуль для компьютера из FTDI Basic Breakout 5/3.3V от DFrobot, довольно распространённого микроконтролера ATMEGA 328P-PU с загрузчиком Arduino и радиомодуля на основе микросхемы nRF24L01. По-сути это просто Arduino Uno с радиомодулем. Что есть, то есть. У радиомодуля есть особенность, которую я не сразу заметил: входное напряжение должно быть в диапазоне от 3 до 3.6 вольт (хотя подача на него 5 вольт его не убьёт, но работать не будет), верхняя граница логической единицы составляет 5В. Это означает то, что для подключения радиомодуля к меге не нужен преобразователь уровней между 3.3В и 5В, а вот стабилизатор на 3.3В установить нужно. У FTDI есть встроенный стабилизатор, от него я и подпитал радиомодуль.

Так выглядит сам модуль (внутри и в сборке) :
Простое удалённое управление с компьютера роботом

Программа состоит из инициализации, стартового сообщения и обработки команд из программы управления. Так было в моём случае. Основные команды библиотеки Mirf:

#include <SPI.h>
#include <Mirf.h>
#include <MirfHardwareSpiDriver.h>
#include <MirfSpiDriver.h>
#include <nRF24L01.h>
Эти библиотеки нужны для работы радиомодуля

Mirf.csnPin = 4 — задаёт номер пина, отвечающего за «разрешение общаться» радиомодуля и МК
Mirf.cePin = 6 — задаёт номер пина, отвечающего за режим работы радиомодуля (приёмник/передатчик)
Mirf.spi = &MirfHardwareSpi — настраивает линию SPI
Mirf.init() — инициализирует радиомодуль
Mirf.payload = 1 — размер в байтах одного сообщения (поумолчанию 16, максимум 32)
Mirf.channel = 19 — задаёт канал (0 — 127, по умолчанию 0)
Mirf.config() — задаёт параметры передачи

Mirf.setTADDR((byte *)«serv1») — переводит радиомодуль в режим передатчика
Mirf.setRADDR((byte *)«serv1») — переводит радиомодуль в режим приёмника

Mirf.send(data) — отправляет массив типа byte
Mirf.dataReady() — сообщает об окончании обработки принятых данных
Mirf.getData(data) — записать принятые данные в массив data

Mirf.setTADDR((byte *)«serv1») — переводит радиомодуль в режим передатчика
Mirf.setRADDR((byte *)«serv1») — переводит радиомодуль в режим приёмника

Mirf.send(data) — отправляет массив типа byte
Mirf.dataReady() — сообщает об окончании обработки принятых данных
Mirf.getData(data) — записать принятые данные в массив data

Прилагаю код программы передатчика.

Программа передатчика

#include <SPI.h>
#include <Mirf.h>
#include <MirfHardwareSpiDriver.h>
#include <MirfSpiDriver.h>
#include <nRF24L01.h>

char active;
byte data[1];

void setup()
{
Serial.begin(19200);

Mirf.csnPin = 4;
Mirf.cePin = 6;
Mirf.spi = &MirfHardwareSpi;
Mirf.init();
Mirf.payload = 1;
Mirf.channel = 19;
Mirf.config();

Mirf.setTADDR((byte *)«serv1»);

//сигнальное сообщение о начале работы
data[0]=7;
Mirf.send(data);
delay(200);
}

void loop()
{
if (Serial.available()) //Если данные готовы к считыванию
{
active=Serial.read(); // Запись данных в переменную
}

if (active=='2')
{
data[0]=2;
}

if (active=='3')
{
data[0]=3;
}

if (active=='4')
{
data[0]=4;
}

if (active=='5')
{
data[0]=5;
}

if (active=='6')
{
data[0]=6;
}

Mirf.send(data); //Отсылаем данные
while(Mirf.isSending()); // Ждём пока данные отсылаются
}

Программа управления.

Есть одна интересная штука — Processing. Синтаксис такой же как в Arduino, только вместо void loop() там расположился void draw(). Но она становилась ещё более интересной в моей ситуации с библиотекой processing Serial, которая позволяет работать с сериал-портом. Прочитав уроки на сайте Spurkfun`а, я поигрался с миганием светодиода на подключенной к компьютеру ардуинке по клику мышки. После этого я написал программу управления роботом с клавиатуры. Прилагаю код управления с помощью стрелок. В нём, в принципе, ничего необычного нет.

Программа управления машинкой

import processing.serial.*;
import cc.arduino.*;

Serial myPort;
PFont f=createFont(«LetterGothicStd-32.vlw», 24);

void setup()
{
size(360, 160);
stroke(255);
background(0);
textFont(f);

noCursor();

String portName = «XXXX»; // Сюда нужно написать имя вашего порта
myPort = new Serial(this, portName, 19200);
}

void draw() {
if (keyPressed == false)
{
clear();
myPort.write('6');
println(«6»);
}
}

void keyPressed()
{
// 10 — enter
// 32 — probel
// 37/38/39/40 — keys
clear();

fill(255);
textAlign(CENTER);
//text(keyCode, 180, 80);

switch(keyCode)
{
case 37:
text(«Edem vlevo», 180, 80);
myPort.write('1');
break;

case 38:
text(«Edem pryamo», 180, 80);
myPort.write('2');
break;

case 39:
text(«Edem vpravo», 180, 80);
myPort.write('3');
break;

case 40:
text(«Edem nazad», 180, 80);
myPort.write('4');
break;

default:
text(«Takoy kommandi net», 180, 80);
myPort.write('6');
break;
}
}

Программа приёмника.

Инициализация этой программы отличается от инициализации программы передатчика буквально одной строчкой. Ключевая команда в бесконечном цикле Mirf.getData(data). Дальше полученная команда сравнивается с числами, которым соответствуют какие-либо действия робота. Ну а дальше робот действует точно по командам. Прилагаю код программы приёмника машинки.

Программ машинки

#include <SPI.h>
#include <Mirf.h>
#include <MirfHardwareSpiDriver.h>
#include <MirfSpiDriver.h>
#include <nRF24L01.h>

void setup()
{
Serial.begin(9600);

pinMode(13, OUTPUT); //LED

Mirf.csnPin = 10;
Mirf.cePin = 9;
Mirf.spi = &MirfHardwareSpi;
Mirf.init();
Mirf.payload = 1;
Mirf.channel = 19;
Mirf.config();
Mirf.setRADDR((byte *)«serv1»);
}

void loop()
{
byte data[1];

if(!Mirf.isSending() && Mirf.dataReady())
{
Mirf.getData(data);
Serial.println(data[0]);
}

switch (data[0])
{
case 1:
motors(-100, 100); // поворачиваем влево
break;

case 2:
motors(100, 100); // едем прямо
break;

case 3:
motors(100, -100); // поворачиваем вправо
break;

case 4:
motors(-100, -100); // едем назад
break;

default:
motors(0, 0); // стоим
break;
}

delay(50);
}

Заключение.

Что из этого всего вышло:
www.youtube.com/watch?v=K5ekFyph82U

Этого робота я сделал для «Клаустрофобии». Они проводят квесты в реальности в разных городах, и как раз для одного из таких квестов организаторам понадобился радиоуправляемый робот-сапер. Мне понравилось. Это, конечно, ущербно, т.к. на фоне управления с помощью встроенных в ноутбук средств связи, но зато своё, сделанное весьма быстро и без особых проблем. Надеюсь эта статья поможет сделать нечто подобное, а, может, даже сложнее. Тут уж кому что захочется.

Читать полностью »

Команда энтузиастов не смогла привести «замороженный» на 17 лет спутник ISEE 3 в рабочее состояние

И еще немного космоса на сегодня. Новость достаточно важная, хотя и с несколько негативным смыслом, к сожалению.

На Хабре несколько раз писали о спутнике ISEE-3, ранее выполнявшим миссию NASA, причем успешно, и затем забытым на 17 лет. Этот спутник оказался просто ненужен NASA, после завершения миссии, и его просто «заморозили». Тем не менее, все инструменты (13 научных систем) работают так же хорошо, как и в 1999 году, когда спутник был «заморожен».

Команда энтузиастов собрала 150 тысяч долларов на восстановление спутника, и смогла установить с ним связь. Как уже писали на Хабре, «29 мая удалось восстановить связь со станцией, а 2 июля, после нескольких попыток, включить двигатели. Этим включением был изменен период обращения станции вокруг своей оси. На момент восстановления связи, аппарат вращался со скоростью 19.16 об/мин вместо штатных 19.75 об/мин. Следующий шаг — коррекция траектории. Она запланирована на 8 июля».

И вот как раз выполнить коррекцию траектории не удалось.

Читать полностью »

Очередное достижение Curiosity: выход из области посадочного эллипса

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

Этот эллипс — условная зона, 20*25км. Именно эту область выбрали в NASA для посадки марсохода 5 августя 2012 года. «Посадочный эллипс» хорош тем, что в этой зоне практически нет критичных для марсохода особенностей ландшафта, которые могли бы привести к аварии устройства при не очень точном приземлении.

Все это время ровер передвигался в пределах упомянутой области, и только 27 июня аппарат вышел за границы условного эллипса. Кстати, прямо на границе эллипса (воображаемой, само собой) Curiosity внезапно остановился, поскольку системы марсохода зафиксировали скольжение по песку. На самом деле имел место слабый контакт колес марсохода с мягким грунтом.

Читать полностью »

Российские протезы пальцев созданные с помощью 3D печати

В России стоит очень острая проблема — отсутствие функциональных протезов пальцев рук. Существующие доступные решения нефункциональны и носят сугубо косметический характер. Но почти год назад команда компании Can-Touch.ru (специалисты в области промышленной 3D-печати) вдохновилась идеей создания функционального детского протеза. К проекту вскоре присоединились инженеры компании W.E.A.S. Robotics (специалисты в области робототехники), и началась серьезная работа.

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js