SlideShare uma empresa Scribd logo
1 de 47
Baixar para ler offline
Trayan Iliev
t_iliev@fmi.uni-sofia.bg
Конференция 21.02.2018
СУ ”Св. Климент Охридски”
Обучение по ИТ
чрез създаване
на роботи и
свързани
"неща"
2
Trademarks
Oracle®, Java™ and JavaScript™ are trademarks or registered
trademarks of Oracle and/or its affiliates.
LEGO® is a registered trademark of LEGO® Group. Programs are not
affiliated, sponsored or endorsed by LEGO® Education or LEGO®
Group.
Raspberry Pi™ is a trademark of Raspberry Pi Foundation.
Other names may be trademarks of their respective owners.
Съдържание
3
 Защо роботи?
 Социална роботика
 Защо да учим програмиране с роботи?
 Активно обучение чрез правене
 Проектно-базирано обучение
 Справяне със сложността на проблема
 Запознайте се с роботите: LeJaRo и IPTPI
 Ресурси
Where no man has been before...
4
With Mission to Explore...
5
6
Lonely Riders ...
6By Arroww at the English language Wikipedia, CC BY-SA 3.0,
https://commons.wikimedia.org/w/index.php?curid=1822443
7
Удобно облекло :)
7By DARPA - This file was derived from: DARPA Strategic Plan (2007).pdf, Public
Domain, https://commons.wikimedia.org/w/index.php?curid=20798337
Роботите са вече у дома ...
8
Source: By Nohau - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=17987534
… и как бихме пропуснали
11
Source: https://commons.wikimedia.org/
w/index.php?curid=234900, CC BY-SA 3.0
Source: Korea Institute of Industrial Technology,
http://news.naver.com/main/read.nhn?
mode=LSD&mid=sec&sid1=102&oid=020&aid=0000371339
Във всякакви размери ...
12
Интернет на нещата има потенциала да промени
света, така както го направи Интернет. Дори повече.
— Kevin Ashton, 'That 'Internet of Things' Thing', RFID Journal, 2009
 50 петабайта данни се създават и въвеждат от хора
 Хората имат ограничено време, внимание и точност
 Данни за нещата от реалния свят в реално време
 Проследяване и управление на всичко, намаляване
на проблемите, загубите и цената
 Ще знаем кога нещата се нуждаят от замяна, ремонт
или извеждане от експлоатация
Интернет на нещата (IoT, IoE)
Роботите са интелигентни “неща”
14
CC BY 2.0, Source:
https://www.flickr.com/photos/wilgengebroed/8249565455/
Radar, GPS, lidar for navigation and obstacle
avoidance ( 2007 DARPA Urban Challenge )
Ключови елементи на IoT
15
Internet of Things (IoT)
Identification Sensors Connectivity Computation Services Semantic
Архитектура на IoT услуги
16
Devices: Hardware + Embedded Software + Firmware
UART/ I2C/ 2G/ 3G/ LTE/ ZigBee/ 6LowPan/ BLE / MQTT-SN
Aggregation/ Bus: ESB, Message Broker
Device Gateway: Local Coordination and Event Aggregation
M2M: HTTP(/2) / WS / MQTT / CoAP / XMPP / DDS
Management: TR-069 / OMA-DM / OMA LWM2M
HTTP, AMQP
Cloud (Micro)Service Mng.
Docker, Kubernetes/
Apache Brooklyn
Web/ Mobile
Portal
PaaSDashboard
PaaS API: Event Processing Services, Analytics
Интер-дисциплинарно обучение
17
Роботиката е пресечна точка на
много диспилини:
 Механика
 Електроника и компютърни науки
 Софтуерно инженерство
 Изкуствен интелект (AI)
 Човеко-машинни интерфейси
 Социология и психология
 Дизайн
Picture by Hugo Elias of the Shadow Robot Company -
http://www.shadowrobot.com/media/pictures.shtml, CC BY-SA 3.0
Инженерство, наука и изкуство
18
Source: https://commons.wikimedia.org/w/index.php?curid=551256, CC BY-SA 3.0
19
Роботите могат да бъдат социални :)
19Left image: CC BY-SA 2.5, https://commons.wikimedia.org/w/index.php?curid=374949
Right image: https://commons.wikimedia.org/w/index.php?curid=1485971
Обучение чрез програмиране на
малки роботи
20
Активното обучение е форма на обучение, при която
преподавателят се старае да увлече студентите в учебния
процес по-директно, отколкото при други методи.
 Action learning – learning as reflection on experience,
achieved through focusing on problems in a social context
-- Revans (1983)
 “in active learning, students participate in the process and
students participate when they are doing something besides
passively listening” -- Bonwell (1991)
 “students are actively or experientially involved in the learning
process and where there are different levels of active
learning, depending on student involvement” -- Weltman
Активно обучение
22
 Целенасочено – решаване на релевантни задачи от
гледна точка на обучаваните
 Рефлексивно – мислене върху смисъла на наученото
 Договорено: договаряне на целите и методите на учене
между обучавани и преподавател
 Критично мислене – различни възможни подходи
 Сложно – реални задачи вместо „измислени“ проблеми
 Ситуационно-базирано – учебни задачи ситуирани в
конкретен контекст
 Ангажиращо – реалните задачи водят до повишен
интерес и мотивация за работа върху проблема
Характеристики на АО [Barnes, 1989]
 Затвърждава учебния материал, понятия и умения
 Обратна връзка в реално време за обучаваните
 Адресира различните стилове на учене
 Дава възможност за мислене и решаване на проблеми,
като затвърждава наученото в практически контекст
 Дава възможност на всеки обучаван да конструира свой
собствен опит и връзки, лично участие и постижения
 „Аха“ момент – откривателство – увеличава интереса и
затвърждава вътрешната на мотивация на обучаваните
 Увеличава увереността в собствените способности чрез
комуникация в екипа. Създава усещане за общност.
Предимства на активно обучение
Tаксономия на Блум
Source: ©2017 Vanderbilt University · The Center for Teaching - CC BY-NC 4.0 International license,
https://cft.vanderbilt.edu/guides-sub-pages/blooms-taxonomy/
Пирамида на научаването върху
таксономията на Блум
Конкретен опит
Source: By Kokcharov - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=44917532
Retention
Абстрактна
концептуализация
Стилове на учене [Kolb]
Конкретен опит
Рефлективно
наблюдение
Активно
експериментиране
Акомодатор
практически опит, "hands-on"
Асимилатор
индукция, теории
Конвърджър
от общото към частното
прилагане на теориите
Дивърджър
от частното към общото,
конкретни наблюдения
Абстрактна
концептуализация
Стилове на учене с роботи
Конкретен опит
Рефлективно
наблюдение
Активно
експериментиране
Акомодатор
практически опит, "hands-on"
Асимилатор
индукция, теории
Конвърджър
от общото към частното
прилагане на теориите
Дивърджър
от частното към общото,
конкретни наблюдения
 Активисти - учене посредством правене на нещата,
високо ниво на енергия, нисък праг на внимание,
нетърпеливи са, желаят да да решат проблема
максимално бързо.
 Рефлектори – нуждаят се от време за възприемане на
информацията и размишление, разглеждат опита от
различни перспективи преди да решат, прецизни са.
 Теоретици - обикновено са много обективни и
неемоционални при ученето, събират и организират в
логическа последователност факти и модели.
 Прагматици – отхвърлят ирелевантната информация,
запазват само приложимата такава, искат да видят
приложение на идеите на практика, случаи на употреба.
Стилове на учене [Honey & Mumford]
Проектно-базираното обучение (PBL) е форма на
активно обучение, при която обучаваните получават
знания и умения чрез работа и изследване за
продължителен период от време върху автентичен,
ангажиращ, и сравнително сложен въпрос, проблем
или предизвикателство.
-- What is Project Based Learning (PBL)?
https://www.bie.org/about/what_pbl
Oбучение чрез проекти
 Ключови знания, разбиране, критично мислене/решаване на проблеми,
комуникация, колаборация, себе-управление и планиране на ресурсите.
 Предизвикателство с реална ценност – необходимост от адаптиране на
сложността на решаваните проблеми.
 Непрекъснато изследване – продължителен процес на търсене на
отговори на въпроси и информационни ресурси, прилагане на
информацията на практика
 Автентичност и релевантност – контекст, задачи, стандарти за качество от
реалния свят в съответствие с персоналните интереси на обучаваните
 Личен избор и креативност – всеки екип сам избира какво ще създаде.
 Рефлексия – обучаваните и преподавателя обсъждат наученото/ процеса,
заедно решават проблемите: решенията не са предварително известни!
 Обратна връзка – обучаваните дават и получават обратна връзка и
непрекъснато усъвършенстват както продукта, така и процеса на работа.
 Публичен продукт – резултатът се демонстрира публично – пред колеги и
в по-широка общност извън класната стая.
Защо PBL?
[https://www.bie.org/about/what_pbl]
36
Запознайте се с LeJaRo
36
LeJaRo: Lego®
Java Robot
37
 Modular – 3 motors (with encoders) – one driving each
track, and third for robot clamp.
 Three sensors: touch sensor (obstacle avoidance), light
color sensor (follow line), IR sensor (remote).
 LeJaRo is programmed in Java using LeJOS library.
 More information about LeJaRo:
http://robolearn.org/lejaro/
 Programming examples available @GitHub:
https://github.com/iproduct/course-social-robotics/tre
e/master/motors_demo
LEGO® is a registered trademark of LEGO® Group. Programs of IPT are not
affiliated, sponsored or endorsed by LEGO® Education or LEGO® Group.
38
IPTPI :)
39
IPTPI: RPi2 + Ardunio Robot
40
 Raspberry Pi 2 (quad-core ARMv7
@ 900MHz) + Arduino Leonardo
cloneA-Star 32U4 Micro
 Optical encoders (custom), IR
optical array, 3D accelerometers,
gyros, and compass MinIMU-9 v2
 IPTPI is programmed in Java
using Pi4J, Reactor, RxJava, Akka
 More information about IPTPI:
http://robolearn.org/iptpi-robot/
IPTPI: RPi2 + Ardunio Robot
41
3D accelerometers, gyros,
and compass MinIMU-9 v2
Pololu DRV8835
Dual Motor Driver
for Raspberry Pi
Arduino Leonardo clone
A-Star 32U4 Micro
USB Stereo
Speakers - 5V
LiPo Powebank
15000 mAh
IPTPI: RPi2 + Ardunio Robot
42
Raspberry Pi 2 (quad-core
ARMv7 @ 900MHz)
IR Optical Sensor QRD1114
Array (Line Following)
Adafruit 2.8" PiTFT -
Capacitive Touch Screen
Tale of Simplicity: DDD
43
IPTPI Reactive Streams
44
Encoder
Readings
ArduinoData
Fluxion
Arduino
SerialData
Position
Fluxion
Robot
Positions
Command
Movement
Subscriber
RobotWSService
(using Reactor)
Angular 2 /
TypeScript
MovementCommands
45
Нека да видим малко код :) LeJOS
public class MotorDemo07 {
public static void main(String[] args) {
final EV3 ev3 = (EV3) BrickFinder.getLocal();
TextLCD lcd = ev3.getTextLCD();
Audio audio = ev3.getAudio();
//Color sensor
EV3ColorSensor colorSensor = new
EV3ColorSensor(SensorPort.S3);
SensorMode color = colorSensor.getRGBMode();
float[] colorSample = new float[color.sampleSize()];
playMessage(audio);
46
Нека да видим малко код :) LeJOS
EV3TouchSensor touchSensor = new
EV3TouchSensor(SensorPort.S1);
SensorMode touch = touchSensor.getTouchMode();
float[] sample = new float[touch.sampleSize()];
RegulatedMotor mA, mB, mC;
mA = new EV3LargeRegulatedMotor(MotorPort.A);
mB = new EV3LargeRegulatedMotor(MotorPort.B);
mC = new EV3LargeRegulatedMotor(MotorPort.C);
mB.setSpeed(120);// 2 RPM
mC.setSpeed(120);
47
Нека да видим малко код :) LeJOS
mB.synchronizeWith(new RegulatedMotor[] { mC });
long startTime = System.currentTimeMillis();
long duration;
int lastColorId = Color.NONE;
for (int i = 0; i < 4; i++) {
// go forward
mB.startSynchronization();
mB.forward();
mC.forward();
mB.endSynchronization();
48
Нека да видим малко код :) LeJOS
// go until not obstacle
do {
duration = System.currentTimeMillis() - startTime;
touch.fetchSample(sample, 0);
color.fetchSample(colorSample, 0);
lcd.drawString("" + colorSample[0], 0, 3);
lcd.drawString("" + colorSample[1], 0, 4);
lcd.drawString("" + colorSample[2], 0, 5);
} while (duration < 60000 && mB.isMoving() && mC.isMoving()
&& sample[0] == 0 && isReflecting(colorSample));
49
Нека да видим малко код :) LeJOS
mB.startSynchronization(); // go back
mB.backward();
mC.backward();
mB.endSynchronization();
mB.startSynchronization(); // turn back
mB.rotate(1000, true);
mC.rotate(-1000, true);
mB.endSynchronization();
while (mB.isMoving() && mC.isMoving())
Thread.yield();
}
50
Нека да видим малко код :) LeJOS
mB.flt();
mC.flt();
mA.close();
mB.close();
mC.close();
} // end of main method
private static void playMessage(final Audio audio) {
audio.playSample(new File("pozdrav_01.wav"), 100);
}
private static boolean isReflecting(float[] colorSample){
return colorSample[0] > 0.015 || colorSample[1] > 0.015
|| colorSample[2] > 0.015;
}
Tale of Simplicity: DDD
51
http://robolearn.org/ Let's move!
Slide 52Licensed under the Creative Commons Attribution-NonCommercial-NoDerivs
3.0 Unported License
IPT – Intellectual Products & Technologies
Trayan Iliev, http://product.org/
BG OUG Meeting – Plovdiv
June 12, 2015
Теория на игрите
RoboCup 2013 – Eindhoven by Albert van Breemen
[https://www.flickr.com/photos/robocup2013/10151792836]
License: Attribution-NonCommercial-ShareAlike 2.0 Generic (CC BY-NC-SA 2.0)
https://creativecommons.org/licenses/by-nc-sa/2.0/
53
Допълнителни ресурси
https://github.com/iproduct/course-social-robo
tics/wiki/Study-Materials
Ресурси към курса „Многоагентни системи
и социална роботика” в GitHub:
54
Благодаря за вниманието!
54
Траян Илиев
http://robolearn.org/
https://github.com/iproduct
https://twitter.com/trayaniliev

Mais conteúdo relacionado

Semelhante a Learning Programming Using Robots - Sofia University Conference 2018

Презентация на eLearn.Pro BG в .PDF формат
 Презентация на eLearn.Pro BG в .PDF формат Презентация на eLearn.Pro BG в .PDF формат
Презентация на eLearn.Pro BG в .PDF формат
Moby2 Ltd.
 
Дългата опашка и електронното обучение
Дългата опашка и електронното обучениеДългата опашка и електронното обучение
Дългата опашка и електронното обучение
Malinka Ivanova
 
Web 2.0 24 july2012
Web 2.0 24 july2012Web 2.0 24 july2012
Web 2.0 24 july2012
TrainSoft
 
NARS - High Quality Training for Software Engineers
NARS - High Quality Training for Software EngineersNARS - High Quality Training for Software Engineers
NARS - High Quality Training for Software Engineers
Svetlin Nakov
 
Web 2 0_2012_train_soft
Web 2 0_2012_train_softWeb 2 0_2012_train_soft
Web 2 0_2012_train_soft
TrainSoft
 

Semelhante a Learning Programming Using Robots - Sofia University Conference 2018 (20)

Vuvejdashta prezentacia march_2020
Vuvejdashta prezentacia march_2020Vuvejdashta prezentacia march_2020
Vuvejdashta prezentacia march_2020
 
Разработване на проекти
Разработване на проектиРазработване на проекти
Разработване на проекти
 
Moby2Day 2018
Moby2Day 2018Moby2Day 2018
Moby2Day 2018
 
Moby2day 2018
Moby2day 2018Moby2day 2018
Moby2day 2018
 
Презентация на eLearn.Pro BG в .PDF формат
 Презентация на eLearn.Pro BG в .PDF формат Презентация на eLearn.Pro BG в .PDF формат
Презентация на eLearn.Pro BG в .PDF формат
 
Melchor
MelchorMelchor
Melchor
 
Презентация - eLearn.pro
Презентация - eLearn.proПрезентация - eLearn.pro
Презентация - eLearn.pro
 
University account brochure on e-learn.pro
University account brochure on e-learn.proUniversity account brochure on e-learn.pro
University account brochure on e-learn.pro
 
Corporative account brochure on e-learn.pro
Corporative account brochure on e-learn.proCorporative account brochure on e-learn.pro
Corporative account brochure on e-learn.pro
 
Софтуерен университет - качествено обучение безплатно (OpenFest 2012)
Софтуерен университет - качествено обучение безплатно (OpenFest 2012)Софтуерен университет - качествено обучение безплатно (OpenFest 2012)
Софтуерен университет - качествено обучение безплатно (OpenFest 2012)
 
Presentation eLearn.pro
Presentation eLearn.proPresentation eLearn.pro
Presentation eLearn.pro
 
Въвеждаща презентация.pptx
Въвеждаща презентация.pptxВъвеждаща презентация.pptx
Въвеждаща презентация.pptx
 
Въвеждаща презентация.pptx
Въвеждаща презентация.pptxВъвеждаща презентация.pptx
Въвеждаща презентация.pptx
 
Escola module 3 ruak_v5_bg_tz_g
Escola module 3 ruak_v5_bg_tz_gEscola module 3 ruak_v5_bg_tz_g
Escola module 3 ruak_v5_bg_tz_g
 
Author account brochure on e-learn.pro
Author account brochure on e-learn.proAuthor account brochure on e-learn.pro
Author account brochure on e-learn.pro
 
BG-IT-Edu: отворено учебно съдържание за ИТ учители
BG-IT-Edu: отворено учебно съдържание за ИТ учителиBG-IT-Edu: отворено учебно съдържание за ИТ учители
BG-IT-Edu: отворено учебно съдържание за ИТ учители
 
Дългата опашка и електронното обучение
Дългата опашка и електронното обучениеДългата опашка и електронното обучение
Дългата опашка и електронното обучение
 
Web 2.0 24 july2012
Web 2.0 24 july2012Web 2.0 24 july2012
Web 2.0 24 july2012
 
NARS - High Quality Training for Software Engineers
NARS - High Quality Training for Software EngineersNARS - High Quality Training for Software Engineers
NARS - High Quality Training for Software Engineers
 
Web 2 0_2012_train_soft
Web 2 0_2012_train_softWeb 2 0_2012_train_soft
Web 2 0_2012_train_soft
 

Mais de Trayan Iliev

Stream Processing with CompletableFuture and Flow in Java 9
Stream Processing with CompletableFuture and Flow in Java 9Stream Processing with CompletableFuture and Flow in Java 9
Stream Processing with CompletableFuture and Flow in Java 9
Trayan Iliev
 
Reactive Java Robotics & IoT with Spring Reactor
Reactive Java Robotics & IoT with Spring ReactorReactive Java Robotics & IoT with Spring Reactor
Reactive Java Robotics & IoT with Spring Reactor
Trayan Iliev
 

Mais de Trayan Iliev (20)

Making Machine Learning Easy with H2O and WebFlux
Making Machine Learning Easy with H2O and WebFluxMaking Machine Learning Easy with H2O and WebFlux
Making Machine Learning Easy with H2O and WebFlux
 
Rapid Web API development with Kotlin and Ktor
Rapid Web API development with Kotlin and KtorRapid Web API development with Kotlin and Ktor
Rapid Web API development with Kotlin and Ktor
 
IPT Reactive Java IoT Demo - BGOUG 2018
IPT Reactive Java IoT Demo - BGOUG 2018IPT Reactive Java IoT Demo - BGOUG 2018
IPT Reactive Java IoT Demo - BGOUG 2018
 
Spring 5 Webflux - Advances in Java 2018
Spring 5 Webflux - Advances in Java 2018Spring 5 Webflux - Advances in Java 2018
Spring 5 Webflux - Advances in Java 2018
 
Fog Computing - DEV.BG 2018
Fog Computing - DEV.BG 2018Fog Computing - DEV.BG 2018
Fog Computing - DEV.BG 2018
 
Microservices with Spring 5 Webflux - jProfessionals
Microservices  with Spring 5 Webflux - jProfessionalsMicroservices  with Spring 5 Webflux - jProfessionals
Microservices with Spring 5 Webflux - jProfessionals
 
Reactive Microservices with Spring 5: WebFlux
Reactive Microservices with Spring 5: WebFlux Reactive Microservices with Spring 5: WebFlux
Reactive Microservices with Spring 5: WebFlux
 
What's new in java 9?
What's new in java 9?What's new in java 9?
What's new in java 9?
 
NGRX Apps in Depth
NGRX Apps in DepthNGRX Apps in Depth
NGRX Apps in Depth
 
Stream Processing with CompletableFuture and Flow in Java 9
Stream Processing with CompletableFuture and Flow in Java 9Stream Processing with CompletableFuture and Flow in Java 9
Stream Processing with CompletableFuture and Flow in Java 9
 
React HOCs, Context and Observables
React HOCs, Context and ObservablesReact HOCs, Context and Observables
React HOCs, Context and Observables
 
Reactive Java Robotics & IoT with Spring Reactor
Reactive Java Robotics & IoT with Spring ReactorReactive Java Robotics & IoT with Spring Reactor
Reactive Java Robotics & IoT with Spring Reactor
 
Hackathon: “IPTPI and LeJaRo Meet The Real World”
Hackathon: “IPTPI and LeJaRo Meet The Real World”Hackathon: “IPTPI and LeJaRo Meet The Real World”
Hackathon: “IPTPI and LeJaRo Meet The Real World”
 
Reactive robotics io_t_2017
Reactive robotics io_t_2017Reactive robotics io_t_2017
Reactive robotics io_t_2017
 
Java & JavaScipt Reactive Robotics and IoT 2016 @ jProfessionals
Java & JavaScipt Reactive Robotics and IoT 2016 @ jProfessionalsJava & JavaScipt Reactive Robotics and IoT 2016 @ jProfessionals
Java & JavaScipt Reactive Robotics and IoT 2016 @ jProfessionals
 
IPT High Performance Reactive Java BGOUG 2016
IPT High Performance Reactive Java BGOUG 2016IPT High Performance Reactive Java BGOUG 2016
IPT High Performance Reactive Java BGOUG 2016
 
Reactive Java Robotics IoT - jPrime 2016
Reactive Java Robotics IoT - jPrime 2016Reactive Java Robotics IoT - jPrime 2016
Reactive Java Robotics IoT - jPrime 2016
 
IPT angular2 typescript SPA 2016
IPT angular2 typescript SPA 2016IPT angular2 typescript SPA 2016
IPT angular2 typescript SPA 2016
 
Reactive Java Robotics and IoT - IPT Presentation @ Voxxed Days 2016
Reactive Java Robotics and IoT - IPT Presentation @ Voxxed Days 2016Reactive Java Robotics and IoT - IPT Presentation @ Voxxed Days 2016
Reactive Java Robotics and IoT - IPT Presentation @ Voxxed Days 2016
 
New MVC 1.0 JavaEE 8 API
New MVC 1.0 JavaEE 8 APINew MVC 1.0 JavaEE 8 API
New MVC 1.0 JavaEE 8 API
 

Learning Programming Using Robots - Sofia University Conference 2018

  • 1. Trayan Iliev t_iliev@fmi.uni-sofia.bg Конференция 21.02.2018 СУ ”Св. Климент Охридски” Обучение по ИТ чрез създаване на роботи и свързани "неща"
  • 2. 2 Trademarks Oracle®, Java™ and JavaScript™ are trademarks or registered trademarks of Oracle and/or its affiliates. LEGO® is a registered trademark of LEGO® Group. Programs are not affiliated, sponsored or endorsed by LEGO® Education or LEGO® Group. Raspberry Pi™ is a trademark of Raspberry Pi Foundation. Other names may be trademarks of their respective owners.
  • 3. Съдържание 3  Защо роботи?  Социална роботика  Защо да учим програмиране с роботи?  Активно обучение чрез правене  Проектно-базирано обучение  Справяне със сложността на проблема  Запознайте се с роботите: LeJaRo и IPTPI  Ресурси
  • 4. Where no man has been before... 4
  • 5. With Mission to Explore... 5
  • 6. 6 Lonely Riders ... 6By Arroww at the English language Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=1822443
  • 7. 7 Удобно облекло :) 7By DARPA - This file was derived from: DARPA Strategic Plan (2007).pdf, Public Domain, https://commons.wikimedia.org/w/index.php?curid=20798337
  • 8. Роботите са вече у дома ... 8 Source: By Nohau - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=17987534
  • 9. … и как бихме пропуснали 11 Source: https://commons.wikimedia.org/ w/index.php?curid=234900, CC BY-SA 3.0 Source: Korea Institute of Industrial Technology, http://news.naver.com/main/read.nhn? mode=LSD&mid=sec&sid1=102&oid=020&aid=0000371339
  • 11. Интернет на нещата има потенциала да промени света, така както го направи Интернет. Дори повече. — Kevin Ashton, 'That 'Internet of Things' Thing', RFID Journal, 2009  50 петабайта данни се създават и въвеждат от хора  Хората имат ограничено време, внимание и точност  Данни за нещата от реалния свят в реално време  Проследяване и управление на всичко, намаляване на проблемите, загубите и цената  Ще знаем кога нещата се нуждаят от замяна, ремонт или извеждане от експлоатация Интернет на нещата (IoT, IoE)
  • 12. Роботите са интелигентни “неща” 14 CC BY 2.0, Source: https://www.flickr.com/photos/wilgengebroed/8249565455/ Radar, GPS, lidar for navigation and obstacle avoidance ( 2007 DARPA Urban Challenge )
  • 13. Ключови елементи на IoT 15 Internet of Things (IoT) Identification Sensors Connectivity Computation Services Semantic
  • 14. Архитектура на IoT услуги 16 Devices: Hardware + Embedded Software + Firmware UART/ I2C/ 2G/ 3G/ LTE/ ZigBee/ 6LowPan/ BLE / MQTT-SN Aggregation/ Bus: ESB, Message Broker Device Gateway: Local Coordination and Event Aggregation M2M: HTTP(/2) / WS / MQTT / CoAP / XMPP / DDS Management: TR-069 / OMA-DM / OMA LWM2M HTTP, AMQP Cloud (Micro)Service Mng. Docker, Kubernetes/ Apache Brooklyn Web/ Mobile Portal PaaSDashboard PaaS API: Event Processing Services, Analytics
  • 15. Интер-дисциплинарно обучение 17 Роботиката е пресечна точка на много диспилини:  Механика  Електроника и компютърни науки  Софтуерно инженерство  Изкуствен интелект (AI)  Човеко-машинни интерфейси  Социология и психология  Дизайн Picture by Hugo Elias of the Shadow Robot Company - http://www.shadowrobot.com/media/pictures.shtml, CC BY-SA 3.0
  • 16. Инженерство, наука и изкуство 18 Source: https://commons.wikimedia.org/w/index.php?curid=551256, CC BY-SA 3.0
  • 17. 19 Роботите могат да бъдат социални :) 19Left image: CC BY-SA 2.5, https://commons.wikimedia.org/w/index.php?curid=374949 Right image: https://commons.wikimedia.org/w/index.php?curid=1485971
  • 18. Обучение чрез програмиране на малки роботи 20
  • 19. Активното обучение е форма на обучение, при която преподавателят се старае да увлече студентите в учебния процес по-директно, отколкото при други методи.  Action learning – learning as reflection on experience, achieved through focusing on problems in a social context -- Revans (1983)  “in active learning, students participate in the process and students participate when they are doing something besides passively listening” -- Bonwell (1991)  “students are actively or experientially involved in the learning process and where there are different levels of active learning, depending on student involvement” -- Weltman Активно обучение
  • 20. 22  Целенасочено – решаване на релевантни задачи от гледна точка на обучаваните  Рефлексивно – мислене върху смисъла на наученото  Договорено: договаряне на целите и методите на учене между обучавани и преподавател  Критично мислене – различни възможни подходи  Сложно – реални задачи вместо „измислени“ проблеми  Ситуационно-базирано – учебни задачи ситуирани в конкретен контекст  Ангажиращо – реалните задачи водят до повишен интерес и мотивация за работа върху проблема Характеристики на АО [Barnes, 1989]
  • 21.  Затвърждава учебния материал, понятия и умения  Обратна връзка в реално време за обучаваните  Адресира различните стилове на учене  Дава възможност за мислене и решаване на проблеми, като затвърждава наученото в практически контекст  Дава възможност на всеки обучаван да конструира свой собствен опит и връзки, лично участие и постижения  „Аха“ момент – откривателство – увеличава интереса и затвърждава вътрешната на мотивация на обучаваните  Увеличава увереността в собствените способности чрез комуникация в екипа. Създава усещане за общност. Предимства на активно обучение
  • 22. Tаксономия на Блум Source: ©2017 Vanderbilt University · The Center for Teaching - CC BY-NC 4.0 International license, https://cft.vanderbilt.edu/guides-sub-pages/blooms-taxonomy/
  • 23. Пирамида на научаването върху таксономията на Блум Конкретен опит Source: By Kokcharov - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=44917532 Retention
  • 24. Абстрактна концептуализация Стилове на учене [Kolb] Конкретен опит Рефлективно наблюдение Активно експериментиране Акомодатор практически опит, "hands-on" Асимилатор индукция, теории Конвърджър от общото към частното прилагане на теориите Дивърджър от частното към общото, конкретни наблюдения
  • 25. Абстрактна концептуализация Стилове на учене с роботи Конкретен опит Рефлективно наблюдение Активно експериментиране Акомодатор практически опит, "hands-on" Асимилатор индукция, теории Конвърджър от общото към частното прилагане на теориите Дивърджър от частното към общото, конкретни наблюдения
  • 26.  Активисти - учене посредством правене на нещата, високо ниво на енергия, нисък праг на внимание, нетърпеливи са, желаят да да решат проблема максимално бързо.  Рефлектори – нуждаят се от време за възприемане на информацията и размишление, разглеждат опита от различни перспективи преди да решат, прецизни са.  Теоретици - обикновено са много обективни и неемоционални при ученето, събират и организират в логическа последователност факти и модели.  Прагматици – отхвърлят ирелевантната информация, запазват само приложимата такава, искат да видят приложение на идеите на практика, случаи на употреба. Стилове на учене [Honey & Mumford]
  • 27. Проектно-базираното обучение (PBL) е форма на активно обучение, при която обучаваните получават знания и умения чрез работа и изследване за продължителен период от време върху автентичен, ангажиращ, и сравнително сложен въпрос, проблем или предизвикателство. -- What is Project Based Learning (PBL)? https://www.bie.org/about/what_pbl Oбучение чрез проекти
  • 28.  Ключови знания, разбиране, критично мислене/решаване на проблеми, комуникация, колаборация, себе-управление и планиране на ресурсите.  Предизвикателство с реална ценност – необходимост от адаптиране на сложността на решаваните проблеми.  Непрекъснато изследване – продължителен процес на търсене на отговори на въпроси и информационни ресурси, прилагане на информацията на практика  Автентичност и релевантност – контекст, задачи, стандарти за качество от реалния свят в съответствие с персоналните интереси на обучаваните  Личен избор и креативност – всеки екип сам избира какво ще създаде.  Рефлексия – обучаваните и преподавателя обсъждат наученото/ процеса, заедно решават проблемите: решенията не са предварително известни!  Обратна връзка – обучаваните дават и получават обратна връзка и непрекъснато усъвършенстват както продукта, така и процеса на работа.  Публичен продукт – резултатът се демонстрира публично – пред колеги и в по-широка общност извън класната стая. Защо PBL? [https://www.bie.org/about/what_pbl]
  • 30. LeJaRo: Lego® Java Robot 37  Modular – 3 motors (with encoders) – one driving each track, and third for robot clamp.  Three sensors: touch sensor (obstacle avoidance), light color sensor (follow line), IR sensor (remote).  LeJaRo is programmed in Java using LeJOS library.  More information about LeJaRo: http://robolearn.org/lejaro/  Programming examples available @GitHub: https://github.com/iproduct/course-social-robotics/tre e/master/motors_demo LEGO® is a registered trademark of LEGO® Group. Programs of IPT are not affiliated, sponsored or endorsed by LEGO® Education or LEGO® Group.
  • 32. 39
  • 33. IPTPI: RPi2 + Ardunio Robot 40  Raspberry Pi 2 (quad-core ARMv7 @ 900MHz) + Arduino Leonardo cloneA-Star 32U4 Micro  Optical encoders (custom), IR optical array, 3D accelerometers, gyros, and compass MinIMU-9 v2  IPTPI is programmed in Java using Pi4J, Reactor, RxJava, Akka  More information about IPTPI: http://robolearn.org/iptpi-robot/
  • 34. IPTPI: RPi2 + Ardunio Robot 41 3D accelerometers, gyros, and compass MinIMU-9 v2 Pololu DRV8835 Dual Motor Driver for Raspberry Pi Arduino Leonardo clone A-Star 32U4 Micro USB Stereo Speakers - 5V LiPo Powebank 15000 mAh
  • 35. IPTPI: RPi2 + Ardunio Robot 42 Raspberry Pi 2 (quad-core ARMv7 @ 900MHz) IR Optical Sensor QRD1114 Array (Line Following) Adafruit 2.8" PiTFT - Capacitive Touch Screen
  • 38. 45 Нека да видим малко код :) LeJOS public class MotorDemo07 { public static void main(String[] args) { final EV3 ev3 = (EV3) BrickFinder.getLocal(); TextLCD lcd = ev3.getTextLCD(); Audio audio = ev3.getAudio(); //Color sensor EV3ColorSensor colorSensor = new EV3ColorSensor(SensorPort.S3); SensorMode color = colorSensor.getRGBMode(); float[] colorSample = new float[color.sampleSize()]; playMessage(audio);
  • 39. 46 Нека да видим малко код :) LeJOS EV3TouchSensor touchSensor = new EV3TouchSensor(SensorPort.S1); SensorMode touch = touchSensor.getTouchMode(); float[] sample = new float[touch.sampleSize()]; RegulatedMotor mA, mB, mC; mA = new EV3LargeRegulatedMotor(MotorPort.A); mB = new EV3LargeRegulatedMotor(MotorPort.B); mC = new EV3LargeRegulatedMotor(MotorPort.C); mB.setSpeed(120);// 2 RPM mC.setSpeed(120);
  • 40. 47 Нека да видим малко код :) LeJOS mB.synchronizeWith(new RegulatedMotor[] { mC }); long startTime = System.currentTimeMillis(); long duration; int lastColorId = Color.NONE; for (int i = 0; i < 4; i++) { // go forward mB.startSynchronization(); mB.forward(); mC.forward(); mB.endSynchronization();
  • 41. 48 Нека да видим малко код :) LeJOS // go until not obstacle do { duration = System.currentTimeMillis() - startTime; touch.fetchSample(sample, 0); color.fetchSample(colorSample, 0); lcd.drawString("" + colorSample[0], 0, 3); lcd.drawString("" + colorSample[1], 0, 4); lcd.drawString("" + colorSample[2], 0, 5); } while (duration < 60000 && mB.isMoving() && mC.isMoving() && sample[0] == 0 && isReflecting(colorSample));
  • 42. 49 Нека да видим малко код :) LeJOS mB.startSynchronization(); // go back mB.backward(); mC.backward(); mB.endSynchronization(); mB.startSynchronization(); // turn back mB.rotate(1000, true); mC.rotate(-1000, true); mB.endSynchronization(); while (mB.isMoving() && mC.isMoving()) Thread.yield(); }
  • 43. 50 Нека да видим малко код :) LeJOS mB.flt(); mC.flt(); mA.close(); mB.close(); mC.close(); } // end of main method private static void playMessage(final Audio audio) { audio.playSample(new File("pozdrav_01.wav"), 100); } private static boolean isReflecting(float[] colorSample){ return colorSample[0] > 0.015 || colorSample[1] > 0.015 || colorSample[2] > 0.015; }
  • 44. Tale of Simplicity: DDD 51 http://robolearn.org/ Let's move!
  • 45. Slide 52Licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License IPT – Intellectual Products & Technologies Trayan Iliev, http://product.org/ BG OUG Meeting – Plovdiv June 12, 2015 Теория на игрите RoboCup 2013 – Eindhoven by Albert van Breemen [https://www.flickr.com/photos/robocup2013/10151792836] License: Attribution-NonCommercial-ShareAlike 2.0 Generic (CC BY-NC-SA 2.0) https://creativecommons.org/licenses/by-nc-sa/2.0/
  • 46. 53 Допълнителни ресурси https://github.com/iproduct/course-social-robo tics/wiki/Study-Materials Ресурси към курса „Многоагентни системи и социална роботика” в GitHub:
  • 47. 54 Благодаря за вниманието! 54 Траян Илиев http://robolearn.org/ https://github.com/iproduct https://twitter.com/trayaniliev