Top Banner
Robotics System Toolbox v praxi Michal Blaho [email protected] www.humusoft.cz [email protected] www.mathworks.com
15

Robotics System Toolbox v praxi - HumusoftRobotics System Toolbox v praxi Michal Blaho [email protected] [email protected]

Jan 26, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 2: Robotics System Toolbox v praxi - HumusoftRobotics System Toolbox v praxi Michal Blaho blaho@humusoft.sk  info@humusoft.cz

Robotika

• Navrh, konštrukcia, riadenie, … robotov

• Aplikácie robotov

– Priemysel

– Armáda

– Výučba

– Domácnosť

– Medicína

– Záchrana

– Zábava

– …

2

Page 3: Robotics System Toolbox v praxi - HumusoftRobotics System Toolbox v praxi Michal Blaho blaho@humusoft.sk  info@humusoft.cz

Robot

• Komplexný systém

– Motory, akčné členy

– Senzory

– …

• Časovo náročné úlohy – návrh a tvorba algoritmov pre

– Riadenie (kynematika, plánovanie trasy, …)

– Výmenu správ (protokoly)

– Ukladanie dát

– Užívateľské rozhranie

– …

• Jedinečnosť robota – stale odznova?

3

Page 4: Robotics System Toolbox v praxi - HumusoftRobotics System Toolbox v praxi Michal Blaho blaho@humusoft.sk  info@humusoft.cz

Robot Operating System

• Meta operačný systém pre robotov

• Beží nad operačným systémom (Ubuntu, ARM procesory)

• Modulárna architektúra – balíky

• Množstvo hotových algoritmov (efektívne)

• Znovupoužiteľné komponenty

• Paralelizácia

• Sieťové prepojenie

• Jazykovo nezávyslá architektúra

• Sada doplnkových nástrojov

4

Page 5: Robotics System Toolbox v praxi - HumusoftRobotics System Toolbox v praxi Michal Blaho blaho@humusoft.sk  info@humusoft.cz

Robotics System Toolbox

• Nadstavba pre mobilné robotické aplikácie (R2015a)

• Rozhranie pre komunikáciu s ROSom, robotom (Hw.S.P.)

• Interaktívna analýza dát

• Algoritmy

– Transformácie

– Plánovanie trasy

– Lokalizácia

• Testovanie s robotom

• Simulátory (SL3DA)

• Generovanie kódu

5

Page 6: Robotics System Toolbox v praxi - HumusoftRobotics System Toolbox v praxi Michal Blaho blaho@humusoft.sk  info@humusoft.cz

Vstavané algoritmy Robotics System Toolboxu

• Práca s mapou

– robotics.BinaryOccupancyGrid

• Plánovanie trasy (pravdepod.)

– robotics.PRM

• Riadenie pohybu

– robotics.PurePursuit

• Vyhýbanie sa prekážkam

– robotics.VectorFieldHistogram

• Odhad stavov

– robotics.ParticleFilter

– robotics.MonteCarloLocalization

6

Page 7: Robotics System Toolbox v praxi - HumusoftRobotics System Toolbox v praxi Michal Blaho blaho@humusoft.sk  info@humusoft.cz

ROS sieť

• ROS master – jediný

• ROS nodes – viacero

• Typické úlohy

1.Pripojenie na ROS sieť

2.Výmena dát

• Publishers

• Subscribers

• Services

3.Ukončenie spojenia

7

Page 8: Robotics System Toolbox v praxi - HumusoftRobotics System Toolbox v praxi Michal Blaho blaho@humusoft.sk  info@humusoft.cz

Výmena dát – ROS správy

• Štandardná výmena správ – ROS messages

• Vysielané pomocou ROS topic (jedinečné meno na sieti)

– Dáta vysiela – ROS publisher

– Dáta prijíma – ROS subscriber

– Vzťah many-to-many

• Blokované – timeout

• Neblokované – Callback

• Štruktúra správy

– message type

– balík/názov

– môžu byť vnorené

8

Page 9: Robotics System Toolbox v praxi - HumusoftRobotics System Toolbox v praxi Michal Blaho blaho@humusoft.sk  info@humusoft.cz

Výmena dát – ROS služby a server parametrov

• Vyžiadaná výmena správ – ROS services

– Server – service server

– Klient – service client

– Vzťah – one-to-one

– Callbacky

• Server parametrov

– zvyčajne na ROS masterovi

– spoločné konfiguračné parametre

– set, get, del, has, search

• Ukladanie dát

– rosbag

9

Page 10: Robotics System Toolbox v praxi - HumusoftRobotics System Toolbox v praxi Michal Blaho blaho@humusoft.sk  info@humusoft.cz

Špecializované ROS správy

• Často využívané dáta

• Transformácie

• Obrázky

– readImage()

– klasické, s kompresiou

• Laser

– readCartesian()

– readScanAngles()

• PointCloud

– readXYZ()

– readRGB()

10

Page 11: Robotics System Toolbox v praxi - HumusoftRobotics System Toolbox v praxi Michal Blaho blaho@humusoft.sk  info@humusoft.cz

Demo: Ovládanie robota Nao

• Cieľ

– Ovládať robota tak, aby napodobňoval pohyb človeka (horná časť tela) s využitím ROS

• Úlohy

1.detekcia bodov tela

2.zobrazenie kostry

3.výpočet uhlov

4.komunikácia s ROS

5.offline simulácia

• Robota zapožičalo: Národné centrum robotiky

11

Page 12: Robotics System Toolbox v praxi - HumusoftRobotics System Toolbox v praxi Michal Blaho blaho@humusoft.sk  info@humusoft.cz

Zhrnutie: Ovládanie robota Nao

• Detekcia bodov tela

– Kinect for Windows v2 sensor

– Image Acquisition Toolbox

– Kinect for Windows sensor Support Package

• Zobrazenie kostry a výpočet uhlov

– Simulink

• Komunikácia s ROS

– Robotics System Toolbox

• Offline simulácia

– ROS + ML + SL + SL3DA, ML + SL + SL3DA

12

Page 13: Robotics System Toolbox v praxi - HumusoftRobotics System Toolbox v praxi Michal Blaho blaho@humusoft.sk  info@humusoft.cz

Práca s ROSom v Simulinku

13

Page 14: Robotics System Toolbox v praxi - HumusoftRobotics System Toolbox v praxi Michal Blaho blaho@humusoft.sk  info@humusoft.cz

Generovanie kódu

• Funkcie a triedy s podporou generovania kódu

– MATLAB Coder

• Blokové schémy v Simulinku

– Simulink Coder

– Vygenerovaný kód už Simulink nepotrebuje

– Obmedzenia pre blok MATLAB function

• Postup

1.Konfigurácia modelu pre generovanie

2.Vygenerovanie uzla

3.Prenos do ROSu

4.Vytvorenie uzla v ROSe – Catkin

5.Spustenie uzla14

Page 15: Robotics System Toolbox v praxi - HumusoftRobotics System Toolbox v praxi Michal Blaho blaho@humusoft.sk  info@humusoft.cz

Otázky?

Ďakujeme za pozornosť!

15