Робототехника для прикладных программистов
-
Upload
dotnetconf -
Category
Software
-
view
150 -
download
5
Transcript of Робототехника для прикладных программистов
![Page 1: Робототехника для прикладных программистов](https://reader034.fdocuments.net/reader034/viewer/2022042615/55c12dddbb61ebb44e8b45ad/html5/thumbnails/1.jpg)
Робототехника для
прикладных программистов
Максим Кирюшкин
Лаборатория робототехники, ИИТ, ЧелГУ
vk.com/robonora
10-я конференция .NET разработчиков
19 апреля 2015
dotnetconf.ru
![Page 2: Робототехника для прикладных программистов](https://reader034.fdocuments.net/reader034/viewer/2022042615/55c12dddbb61ebb44e8b45ad/html5/thumbnails/2.jpg)
2
Робототехника – это очень просто
![Page 3: Робототехника для прикладных программистов](https://reader034.fdocuments.net/reader034/viewer/2022042615/55c12dddbb61ebb44e8b45ad/html5/thumbnails/3.jpg)
3
Границы решений сегодня
На производстве
В космосе
В медицине
В сельском хозяйстве
Домашние роботы
Развлечения
![Page 4: Робототехника для прикладных программистов](https://reader034.fdocuments.net/reader034/viewer/2022042615/55c12dddbb61ebb44e8b45ad/html5/thumbnails/4.jpg)
4
Что использовать как «мозг»?
Raspberry Pi
Arduino
BlackSwift и подобные
![Page 5: Робототехника для прикладных программистов](https://reader034.fdocuments.net/reader034/viewer/2022042615/55c12dddbb61ebb44e8b45ad/html5/thumbnails/5.jpg)
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); }
![Page 6: Робототехника для прикладных программистов](https://reader034.fdocuments.net/reader034/viewer/2022042615/55c12dddbb61ebb44e8b45ad/html5/thumbnails/6.jpg)
6
Среда разработки
![Page 7: Робототехника для прикладных программистов](https://reader034.fdocuments.net/reader034/viewer/2022042615/55c12dddbb61ebb44e8b45ad/html5/thumbnails/7.jpg)
7
Среда разработки
![Page 8: Робототехника для прикладных программистов](https://reader034.fdocuments.net/reader034/viewer/2022042615/55c12dddbb61ebb44e8b45ad/html5/thumbnails/8.jpg)
8
Что доступно для работы?
Двигатели и энкодеры к ним
Дисплеи, сенсорные панели
Датчики угла наклона и ускорения
Дальномеры и датчики прикосновения
Климатические датчики, сенсоры газов
Модули связи
Управление нагрузкой
Аудио, видео
![Page 9: Робототехника для прикладных программистов](https://reader034.fdocuments.net/reader034/viewer/2022042615/55c12dddbb61ebb44e8b45ad/html5/thumbnails/9.jpg)
9
Управление роботом
Автономная программа
Джойстик у оператора
Внешний центр управления
![Page 10: Робототехника для прикладных программистов](https://reader034.fdocuments.net/reader034/viewer/2022042615/55c12dddbb61ebb44e8b45ad/html5/thumbnails/10.jpg)
10
Управление по радиоканалу
APC220
эту часть
в компьютер
![Page 11: Робототехника для прикладных программистов](https://reader034.fdocuments.net/reader034/viewer/2022042615/55c12dddbb61ebb44e8b45ad/html5/thumbnails/11.jpg)
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
![Page 12: Робототехника для прикладных программистов](https://reader034.fdocuments.net/reader034/viewer/2022042615/55c12dddbb61ebb44e8b45ad/html5/thumbnails/12.jpg)
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#)
![Page 13: Робототехника для прикладных программистов](https://reader034.fdocuments.net/reader034/viewer/2022042615/55c12dddbb61ebb44e8b45ad/html5/thumbnails/13.jpg)
13
Современные проблемы
Распознавание предметов вокруг себя
Ориентация в пространстве
Быстрая связь на больших расстояниях
Запас батарей
![Page 14: Робототехника для прикладных программистов](https://reader034.fdocuments.net/reader034/viewer/2022042615/55c12dddbb61ebb44e8b45ad/html5/thumbnails/14.jpg)
14
Перспективные направления
Автомобили без водителей
IoT – интернет вещей
Роботы для сельского хозяйства
Умный дом
ROS – the Robot Operating System
![Page 15: Робототехника для прикладных программистов](https://reader034.fdocuments.net/reader034/viewer/2022042615/55c12dddbb61ebb44e8b45ad/html5/thumbnails/15.jpg)
15
База для IoT
Wi-Fi
модуль
ESP8266
$2.70
![Page 16: Робототехника для прикладных программистов](https://reader034.fdocuments.net/reader034/viewer/2022042615/55c12dddbb61ebb44e8b45ad/html5/thumbnails/16.jpg)
16
Заключительный пример
IBM Shoebox Voice Recognition Machine, ранние 60-ые
![Page 17: Робототехника для прикладных программистов](https://reader034.fdocuments.net/reader034/viewer/2022042615/55c12dddbb61ebb44e8b45ad/html5/thumbnails/17.jpg)
17
Спасибо за внимание
Максим Кирюшкин
Лаборатория робототехники, ИИТ, ЧелГУ
vk.com/robonora