Upload
dotnetconf
View
138
Download
5
Embed Size (px)
Citation preview
Робототехника для
прикладных программистов
Максим Кирюшкин
Лаборатория робототехники, ИИТ, ЧелГУ
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
Спасибо за внимание
Максим Кирюшкин
Лаборатория робототехники, ИИТ, ЧелГУ
vk.com/robonora