Робототехника для
прикладных программистов
Максим Кирюшкин
Лаборатория робототехники, ИИТ, ЧелГУ
vk.com/robonora
10-я конференция .NET разработчиков
19 апреля 2015
dotnetconf.ru
2
Робототехника – это очень просто
3
Границы решений сегодня
На производстве
В космосе
В медицине
В сельском хозяйстве
Домашние роботы
Развлечения
4
Что использовать как «мозг»?
Raspberry Pi
Arduino
BlackSwift и подобные
5
Простой пример#include <Servo.h>
#define pinLed 12
#define pinServo 3
Servo servo;
void setup() {
pinMode(pinLed, OUTPUT);
servo.attach(pinServo);
}
void loop() {
digitalWrite(pinLed, LOW);
servo.write(0);
delay(2000);
servo.write(90);
digitalWrite(pinLed, HIGH);
delay(3000);
}
6
Среда разработки
7
Среда разработки
8
Что доступно для работы?
Двигатели и энкодеры к ним
Дисплеи, сенсорные панели
Датчики угла наклона и ускорения
Дальномеры и датчики прикосновения
Климатические датчики, сенсоры газов
Модули связи
Управление нагрузкой
Аудио, видео
9
Управление роботом
Автономная программа
Джойстик у оператора
Внешний центр управления
10
Управление по радиоканалу
APC220
эту часть
в компьютер
11
Управление по радиоканалу
void setup() {
Serial.begin(9600);
pinMode(pinLed, OUTPUT);
}
void loop() {
if (ReadCmd()) {
if (cmd == "ON")
digitalWrite(pinLed, HIGH);
else if (cmd == "OFF")
digitalWrite(pinLed, LOW);
}
delay(100);
}
bool ReadCmd() {
if (Serial.available() <= 0)
return false;
String _cmd =
Serial.readStringUntil(' ');
if (_cmd.length() == 0)
return false;
if (cmd != _cmd) {
cmd = _cmd;
return true;
} else
return false;
}
сторона Arduino
12
Управление по радиоканалу
SerialPort serialPort = new SerialPort();
serialPort.PortName = "COM4";
serialPort.BaudRate = 9600;
serialPort.Open();
serialPort.Write("ON ");
Thread.Sleep(3000);
serialPort.Write("OFF ");
serialPort.Close();
сторона оператора (C#)
13
Современные проблемы
Распознавание предметов вокруг себя
Ориентация в пространстве
Быстрая связь на больших расстояниях
Запас батарей
14
Перспективные направления
Автомобили без водителей
IoT – интернет вещей
Роботы для сельского хозяйства
Умный дом
ROS – the Robot Operating System
15
База для IoT
Wi-Fi
модуль
ESP8266
$2.70
16
Заключительный пример
IBM Shoebox Voice Recognition Machine, ранние 60-ые
17
Спасибо за внимание
Максим Кирюшкин
Лаборатория робототехники, ИИТ, ЧелГУ
catch@mail.ru
vk.com/robonora

Робототехника для прикладных программистов