E-puck knihovna pro Python



Similar documents
WLA-5000AP. Quick Setup Guide. English. Slovensky. Česky a/b/g Multi-function Wireless Access Point

Installation manual Wireless Keypad

Upozorňujeme,že můžete formáty pro čtečky převádět ON-LINE na internetu do formátu PDF apod.

Martin Gregor. 7. června 2016

Přehrávač disků Blu-ray

1.- L a m e j o r o p c ió n e s c l o na r e l d i s co ( s e e x p li c a r á d es p u é s ).

BRIEF INFORMATION L 5570 Bi-LED Module 2nd generation

TVL19555LEDRR NÁVOD K POUŽITÍ NÁVOD NA POUŽITIE BAREVNÝ TELEVIZNÍ PŘÍJÍMAČ S DÁLKOVÝM OVLÁDÁNÍM FAREBNÝ TELEVÍZNY PRIJÍMAČ S DIALKOVÝM OVLÁDÁNÍM

Sborník vědeckých prací Vysoké školy báňské - Technické univerzity Ostrava číslo 1, rok 2006, ročník LII, řada strojní článek č.

aneb Perfekt perfektně.

Návod k použití: Boxovací stojan DUVLAN s pytlem a hruškou kód: DVLB1003

Prezentaci ukončíte stiskem klávesy ESC. GNU Emacs. Pavel Janík, CZLUG

1. Oblast rozvoj spolků a SU UK 1.1. Zvyšování kvalifikace Školení Zapojení do projektů Poradenství 1.2. Financování

Uživatelská příručka Návod na používanie telefónu LG-T300

SHADOWSENSE PERFORMANCE REPORT: LATENCY

Application Note 49. Using the Digi TransPort Fleet Card. October 2011

Opis przedmiotu zamówienia - zakres czynności Usługi sprzątania obiektów Gdyńskiego Centrum Sportu

OFFICEJET 7500A. Stručná příručka Úvodná príručka E910

Rychlý průvodce instalací Rýchly sprievodca inštaláciou


M V Alarm 12V Užívateľská a inštalačná príručka Uživatelská a instalační příručka User and Installation Manual

SCO TT G LEA SO N D EM O Z G EB R E-

BIRD Internet Routing Daemon

Put the human back in Human Resources.

PARAMOUNT ME MOUNTING AND WIRING KITS FOR USE WITH THE TCF-S / IFW / Pyxis Revised 3/18/2008

Jak pracuje. Ondřej Bojar Ústav formální a aplikované lingvistiky MFF UK. ELRC Training Workshop, 15. prosinec /28

8.2 Transformace, množinové operace

Netradiční informační zdroje ve vzdělávání: vliv Personal Learning Environments (PLEs) na informační zdroje a hodnocení přenosu znalostí

aneb Perfektní minulost.

RPLIDAR. Low Cost 360 degree 2D Laser Scanner (LIDAR) System Development Kit User Manual Rev.1

HYUNDAI Phablet HP503Q

OFFICEJET PRO 8500A. Stručná příručka Úvodná príručka A910

L a h ip e r t e n s ió n a r t e r ia l s e d e f in e c o m o u n n iv e l d e p r e s ió n a r t e r ia l s is t ó lic a ( P A S ) m a y o r o

Strategie řešení úloh ve výuce fyziky na středních školách

ED 100LE ED 250LE. Low energy swing door operators

EYE-10 and EYE-12. Advanced Live Image Cameras


Č E S K Y SLOVENSKY ENGLISH

Campus Sustainability Assessment and Related Literature

TVL UMP2 NÁVOD K POUŽITÍ NÁVOD NA POUŽITIE BAREVNÝ TELEVIZNÍ PŘÍJÍMAČ S DÁLKOVÝM OVLÁDÁNÍM FAREBNÝ TELEVÍZNY PRIJÍMAČ S DIALKOVÝM OVLÁDÁNÍM

EVR01. General description. Input power cord. S.a.s. di Rizzo Davide & C.

DECLARATION OF PERFORMANCE NO. HU-DOP_TN _001

telephone television internet 3-play (i + t + tv) 2-play 2-play (i+t) (t+tv) 2-play (i+tv)

Global Motion Technology Inc Web THCSA200. Capacitive sensor plasma & Oxy-fuel Torch Height Control

UPS PIco. to be used with. Raspberry Pi B+, A+, B, and A. HAT Compliant. Raspberry Pi is a trademark of the Raspberry Pi Foundation

User and installation manual

DECLARATION OF PERFORMANCE NO. HU-DOP_TD-25_001

Adept SmartModules Quick Setup Guide. V-G(HH) Configuration

IBM WebSphere Application Server V8.5

VZ-3 Visualizer Systems

Mini P2P IP camera IPC-2016W

BLUETOOTH SERIAL PORT PROFILE. iwrap APPLICATION NOTE

IPS 620SD INSTRUCTION MANUAL. IPS 620SD CD/MP3/WMA PLAYER 4x60WATTS

Tutorial for Programming the LEGO MINDSTORMS NXT

Level 1. Anglicko-český slovníček

Matematika tekutin v pohybu

How to connect your D200 using Bluetooth. How to connect your D200 using GPRS (SIM Card)

How can a charging station for electric vehicles be set up simply and safely?

From Quantum to Matter 2006

instruction manual SynScan GPS PACKAGE INCLUDES: 1. A SynScan GPS mouse (GT-320FW(3.0)) with a MINI-DIN connector at one end of 1.5-meter cable.

Sborník vědeckých prací Vysoké školy báňské - Technické univerzity Ostrava číslo 2, rok 2006, ročník LII, řada strojní článek č.

Chem 115 POGIL Worksheet - Week 4 Moles & Stoichiometry Answers

ENHANCEMENT OF TEGRA TABLET'S COMPUTATIONAL PERFORMANCE BY GEFORCE DESKTOP AND WIFI

3D Object Digitalization Project: Digital Langweil s model of Prague. Visual Connection, a.s

User guide. T250i. This is the Internet version of the User's guide. Print only for private use.

Portal Software GSM-PRO Run LED displays module activity Com LED displays activity on the GSM network GSM-PRO

USER GUIDE LG-G350 ČESKY SLOVENSKY ENGLISH.


B I N G O B I N G O. Hf Cd Na Nb Lr. I Fl Fr Mo Si. Ho Bi Ce Eu Ac. Md Co P Pa Tc. Uut Rh K N. Sb At Md H. Bh Cm H Bi Es. Mo Uus Lu P F.

Easy Step 1000 Stepper Driver Module


Waveform Monitor Audio & Loudness Logging

B A S I C S C I E N C E S

User manual DinaSys DTC/DTS and DTC/DTZ

ETONG ELECTRONICS CO.,LIMITED.

An Experimental Study on Pixy CMUcam5 Vision Sensor

MINI MCR-SL-R-UI(-SP)

How to setup a serial Bluetooth adapter Master Guide

I n la n d N a v ig a t io n a co n t r ib u t io n t o eco n o m y su st a i n a b i l i t y

ABB Drives. User s Manual HTL Encoder Interface FEN-31

GRASS GIS. O GRASSu června 2007

MANUAL FOR RX700 LR and NR

User Rights vjj 1

Tablet PC User Manual

Belimo Gateway MP to Modbus RTU - UK24MOD

User Manual I1010Q16DCZ

Agris on-line Papers in Economics and Informatics

Lesson 10:DESIGN PROCESS EXAMPLES Automatic Chocolate vending machine, smart card and digital camera

TVL24715LED NÁVOD K POUŽITÍ NÁVOD NA POUŽITIE BAREVNÝ TELEVIZNÍ PŘÍJÍMAČ S DÁLKOVÝM OVLÁDÁNÍM FAREBNÝ TELEVÍZNY PRIJÍMAČ S DIALKOVÝM OVLÁDÁNÍM

LG-H955 USER GUIDE ČESKY SLOVENSKY ENGLISH

A-Series Data Loggers PRODUCT MANUAL

TETRIX Add-On Extensions. Encoder Programming Guide (ROBOTC )

ASSEMBLY MANUAL SE-4S35

INTERACTIVE WHITE BOARD MANUAL

Brief instructions COMBOX basic and pro for fixed network and mobile.

Siswoo A Series. - The Chocolate Family -

Sborník vědeckých prací Vysoké školy báňské - Technické univerzity Ostrava číslo 2, rok 2006, ročník LII, řada strojní článek č.

Original instructions Tina 3A/Aps Adaptor unit

ES-CAM2AU IP Camera.

Automatic Wheel Profile Measuring Device for Tramway Vehicles

Transcription:

E-puck knihovna pro Python David Marek Univerzita Karlova v Praze 5. 4. 2011 David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 1 / 36

Osnova 1 Představení e-puck robota 2 Připojení 3 Komunikace 4 Přehled příkazů 5 Ukázky programů 6 Závěr David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 2 / 36

Představení e-puck robota Představení e-puck robota David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 3 / 36

Představení e-puck robota E-Puck Ecole Polytechnique Fédérale de Lausanne Miniaturní robot (průměr 75mm) Opensource hardware Spousta senzorů Bluetooth komunikace Dostupný (v labu) David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 4 / 36

Představení e-puck robota Senzory a akční členy Kamera (640x480) IR senzory (proximity / ambient light) Akcelerometr (3D) Mikrofony LED Krokové motory Speaker David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 5 / 36

Představení e-puck robota Kamera Rozlišení 640x480 Dva režimy: RGB565 / barvy šedi Příliš velké fotky pro zpracování v robotovi Řešení problémů s pamětí: Prokládání Změna formátu fotografie Reálně jde získat: 40x40 barevně 55x55 černobíle Lineární kamera David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 6 / 36

Představení e-puck robota IR senzory 8 senzorů po obvodu Dva režimy: Aktivní rozeznávání překážek Pasivní intenzita světla Překážky do 4cm David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 7 / 36

Představení e-puck robota Akcelerometr 3D akcelerometr Z robota se dá získat: Vektor akcelerace Zpracované informace (rotace, zrychlení,... ) Detekce nárazu, naklonění, směru pohybu David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 8 / 36

Představení e-puck robota Mikrofony 3 mikrofony Vlevo, vpravo, vzadu Lze získat: Hlasitost Frekvenci (FFT) David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 9 / 36

Představení e-puck robota LED 8 LED po obvodu robota Zelená dioda v těle robota Jasná dioda u kamery David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 10 / 36

Představení e-puck robota Krokové motory Dva krokové motory Tisíc kroků = jedna otáčka kola Jeden krok 0.13 mm Maximální rychlost jedna otáčka za sekundu Neklouzavá úprava David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 11 / 36

Představení e-puck robota Speaker Přehrává připravené zvuky (WAV) 5 zvuků zakompilovaných do firmware David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 12 / 36

Připojení Připojení David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 13 / 36

Připojení Příprava PC Potřeba funkční bluetooth Balíky bluez-firmware, bluez-utils Utilita na zaslání PIN (bluez-pin,... ) David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 14 / 36

Připojení Nastavení rfcomm Získat adresu robota $ hcitool scan Scanning... 10:00:E8:52:C6:3E e-puck_1055 Nastavení /etc/bluetooth/rfcomm.conf rfcomm2 { bind no; device 10:00:E8:52:C6:3E; channel 1; comment "e-puck_1055"; } David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 15 / 36

Připojení Vytvoření spojení Připojení pomocí rfcomm # rfcomm connect rfcomm2 Connected /dev/rfcomm2 to 10:00:E8:52:C6:3E on channel 1 Press CTRL-C for hangup Možné chyby Can t connect RFCOMM socket: Connection refused Není spuštěná aplikace, která by předala PIN Can t create RFCOMM TTY: Address already in use Robot už je připojen Jiná aplikace s ním stále komunikuje David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 16 / 36

Připojení Nahrání firmware Používá se epuckupload Je potřeba mít aktivní připojení Robot dokáže přijímat nový firmware pouze pár sekund po restartu Postup při nahrávání 1 Spuštění nahrávání $ epuckupload -f BTcom.hex rfcomm2 2 Restartování robota 3 Vyčkání na konec nahrávání 4 Robot připraven k práci David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 17 / 36

Komunikace Komunikace David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 18 / 36

Komunikace Komunikace Kontrolní program běží v PC napsaný v Pythonu Příkazy jsou textové (binární) řetězce posílané přes sériové rozhraní V robotovi je upravený firmware BTcom, který pouze zpracovává příkazy Je potřeba aby bylo vytvořené připojení David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 19 / 36

Komunikace Příklad ovládání Příklad zaslání příkazu >>> from epuck import Controller >>> controller = Controller("/dev/rfcomm2") >>> controller.set_speed(100, 100) >>> controller.get_speed() (100, 100) 1 Je vytvořen Controller, parametr je cesta k rozhraní kde je robot připojen 2 Nastavena rychlost obou motorů na 100 3 Zjištěna rychlost z robota Jde o synchronní komunikaci, program byl vždy zablokován dokud nedošla odpověd od robota. David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 20 / 36

Komunikace Druhy komunikace Synchronní Asynchronní Vždy víme, zda se příkaz provedl Transparentní komunikace Hned se dozvíme výsledek Pokud nastala chyba tak může zůstat v deadlocku Není třeba čekat, než se příkaz vykoná Spolehlivá komunikace Zotavování z chyb Musíme si zvlášt říct o výsledek David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 21 / 36

Komunikace Asynchronní komunikace Příklad programu Ukázka kódu from epuck import Controller controller = Controller("/dev/rfcomm2", asynchronous=true) photo_request = controller.get_photo() while not photo_request.response_received(): foo() photo = photo_request.get_response() Místo odpovědi získáme jen handler Je možné zkontrolovat zda-li už přišla odpověd Než přijde odpověd, tak je možné dělat cokoli jiného David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 22 / 36

Komunikace Asynchronní komunikace Callback Pro zpracování odpovědi je možné mít speciální funkci Každý příkaz má parametr callback, což je funkce Callback je zavolán hned po přijetí odpovědi Callback může být použit pro modifikaci odpovědi: vysledek_get_response = callback(odpoved_od_robota) Ukázka callback metody from epuck import Controller controller = Controller("/dev/rfcomm2", asynchronous=true) controller.get_photo(callback=lambda img: img.show()) David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 23 / 36

Přehled příkazů Přehled příkazů David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 24 / 36

Přehled příkazů Příkazy Třída Controller obsahuje příkazy pro ovládání všech sensorů a akčních členů robota Každá akce je pouze zavolání jedné metody Při synchronní komunikaci vrací metody rovnou výsledek Při asynchronní komunikaci vrací handler. Bližší informace v dokumentaci David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 25 / 36

Přehled příkazů Příkazy Přehled Motory set_speed(left, right) get_speed() set_motor_pos(left, right) get_motor_pos() IR senzory get_proximity_sensors() get_ambient_sensors() calibrate_sensors() LED set_body_led(on) set_front_led(on) set_leds(on) set_led(led_no, on) David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 26 / 36

Přehled příkazů Příkazy Přehled Kamera set_camera(mode, width, height, zoom) get_camera() get_photo() Přepínač na robotovi get_turning_switch() Akcelerometr get_accelerometer() get_raw_accelerometer() Zvuk play_sound(sound_no) get_volume() Restart nebo zastavení reset() stop() David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 27 / 36

Ukázky programů Ukázky programů David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 28 / 36

Ukázky programů Následování světla Využity IR senzory Robot se pohybuje za světlem Je potřeba zdroj IR světla (svíčka,... ) Zdrojový kód 1/3 import logging import time import sys import signal from epuck.controller import Controller logging.basicconfig(level=logging.warning) c = Controller("/dev/rfcomm2", asynchronous=true) David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 29 / 36

Ukázky programů Následování světla Zdrojový kód 2/3 # Signal handler to cleanup after shutdown def handle_signal(signum, frame): r = c.stop() r.join() sys.exit(0) # SIGINT is interrupt signal sent by CTRL+C signal.signal(signal.sigint, handle_signal) while True: # Read ambient light sensors r = c.get_ambient_sensors().get_response() front_side = r["l10"] + r["r10"] left_side = r["l45"] + r["l90"] right_side = r["r45"] + r["r90"] David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 30 / 36

Ukázky programů Následování světla Zdrojový kód 3/3 # The light source is straight ahead if front_side < left_side and front_side < right_side: c.set_speed(500, 500) elif left_side < right_side: c.set_speed(-500, 500) else: c.set_speed(500, -500) time.sleep(0.1) David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 31 / 36

Ukázky programů LED Pouze efekty s LED Přepínač na robotovi využit pro různé režimy David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 32 / 36

Ukázky programů Vyhýbání se překážkám Jednoduchý program na principu Braitenberg vehicle Výstup na akčních členech je ovlivněn pouze hodnotou senzorů David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 33 / 36

Ukázky programů Detekce obličejů Použita kamera a OpenCV knihovna Program každých pár sekund sejme obrázek a snaží se na něm nalézt obličej David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 34 / 36

Ukázky programů Evoluce Experiment s knihovnou PyEvolve David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 35 / 36

Závěr Závěr David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 36 / 36

Závěr Odkazy Stránky e-puck http://www.e-puck.org Bootloader http://svn.gna.org/viewcvs/e-puck/trunk/tool/bootloader/ computer_side/multi_platform/ Dokumentace http://e-puck.davidmarek.cz Projekt http://github.com/davidmarek/e-puck-algorithms-library David Marek (MFF UK) E-puck knihovna pro Python 5. 4. 2011 37 / 36