1 / 21

ỨNG DỤNG VISION TRÊN ROBOT NAO SỬ DỤNG ROBOT FRAMEWORK

ỨNG DỤNG VISION TRÊN ROBOT NAO SỬ DỤNG ROBOT FRAMEWORK. Department: FTI-FHO-FPT Presenter: Tran Viet Tien. OUTLINE. Giới thiệu. 1. 2. Line Detection. FlashCard Detection. Face Detection. 3. 4. Introduction. Robot Vision. Support ROBOT motion Support ROBOT communication.

Download Presentation

ỨNG DỤNG VISION TRÊN ROBOT NAO SỬ DỤNG ROBOT FRAMEWORK

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ỨNG DỤNG VISION TRÊN ROBOT NAO SỬ DỤNG ROBOT FRAMEWORK Department: FTI-FHO-FPT Presenter: Tran Viet Tien

  2. OUTLINE Giớithiệu 1 2 • Line Detection • FlashCard Detection • Face Detection 3 4

  3. Introduction Robot Vision • Support ROBOT motion • Support ROBOT communication

  4. LineDetection • Chứcnăng • Module nhậndạngđườngthẳng (line) sángmàutrênnềntối • Xácđịnhvịtrígiữa robot và line -> hỗtrợ robot di chuyểntrongmêcung • (kếthợpvớicáccảmbiếnkhác: VD: siêuâm – sonar sensor) • Thôngsố • Input: Ảnhchụptừ camera • Output: Thamsốvịtrí robot so với line – Góclệch • – Khoảngcách • – Cờbáotrạngthái • Yêucầu: • – Line vànềnphảichênhlệchđộtươngphản (màutrắng – đen) • – Trướckhi start module phải setup trạngthái robot đứngthẳng, đầucúixuốngmộtgóc 0.25 radian

  5. LineDetection • Function name • Start module: RobotLineDetection.startDetection(robot); • robot: Robot đangđượckếtnối • Start module: RobotLineDetection.stopDetection(robot); • robot: Robot đangđượckếtnối • Check active: RobotLineDetection.isActive(robot); • robot: Robot đangđượckếtnối • Getstatus: RobotLineDetection.getCurrentStatus (robot); • robot: Robot đangđượckếtnối • return: Status object - Thamsốvịthítrạngtháihiệntạicủa robot: • status.getShape(): Lấythamsốtrạngthái - flagstatus • status.getAngle(): Lấygiátrịgócnghiêng so với line - Angle • status.getDistance(): Lấygiátrịkhoảngcáchvới line - Distance

  6. LineDetection • Thamsốtrạngthái • Flagstatus: trảvềcácgiátrị : • -1: UNKNOWN • 0: STRAIGHT_LINE • 1: T_JUNCTION • 2: T_JUNCTION_LEFT • 3: T_JUNCTION_RIGHT • 4: INTERSECTION • 5: L_SHAPE_LEFT • 6: L_SHAPE_RIGHT • 7: NO_LINE • STRAIGHT_LINE • T_JUNCTION • T_JUNCTION_RIGHT • T_JUNCTION_LEFT

  7. LineDetection • INTERSECTION • L_SHAPE_LEFT • L_SHAPE_RIGHT • NO_LINE

  8. LineDetection • Thamsốtrạngthái • Angle: Gócnghiêngnhỏnhấtgiữa robot vàphươngcủa line. • Giátrịâmnghĩalà robot cần quay ngượcchiềukimđồnghồmộtgócbằng Angle đểhướngnhìncủanó song songvớiphươngcủa line • Giátrịdươngnghĩalà robot cần quay cùngchiềukimđồnghồmộtgócbằng Angle đểhướngnhìncủanó song songvớiphươngcủa line. • Distance: Khoảngcáchgiữa robot và line. • Giátrịâmnghĩalà robot đang ở bêntrái so với line • Giátrịdươngnghĩalà robot đang ở bênphải so với line

  9. LineDetection • Thamsốtrạngthái

  10. LineDetection • Ápdụng Start Module Init Timer, PID v.v… Do action: Walk forward, turn left, right … Get parameters Stop action Stop Module

  11. FlashcardRecognition • Chứcnăng • Module nhậndiệnnhữngảnhđãđược training trong database • Tạoracáctròchơinhỏđểgiảitrí hay họctậpv.v… • Module gồm 2 phần: - Training • - Recognition • Quátrình training • Input: Ảnhchụptừcamera của Robot hoặcảnhlưutrong mobile • Output: ID củaảnh. • Yêucầu: • – Ảnh training phảirõnétđộtươngphảntốtvàchỉchứachủyếulà Object cầnnhậndiện, background khôngnhiều, hoặckhôngcó • – Ảnhcókíchthướckhôngquálớn(làmchậmquátrìnhnhậndạng) • Vàcũngkhôngquánhỏ (làmgiảmđộchínhxácnhậndạng)

  12. FlashcardRecognition • Các function quantrọng • Get Database path: getCurrentDatabaseDirectory(Robot robot) • robot: Robot đangđượckếtnối • Set Database path: setDatabaseDirectory(Robot robot, String robotPath) • robot: Robot đangđượckếtnối • robotPath: Đườngdẫncầnlưu database • Training image: learnFlashcardLocal(Robot robot, • String robotPathToFlashcard, String tag) • robot: Robot đangđượckếtnối • robotPathToFlashcard: Đườngdẫntớithưmụcchứaảnhcần training • tag: Nội dung củaảnh - VD: têngọicủaảnhhoặcđặctínhcủaảnh… • Hàmtrảvề ID củaảnh – đâylàthông tin đểnhậndiệnảnhsaunày • Cáchàmxóaảnhtrong database: forgetFlashcard, clearDatabase, forgetFlashcardsByTag…

  13. FlashcardRecognition • Quátrìnhnhậndạng - recognition • Input: Ảnhchụptừcamera của Robot hoặcảnhlưutrong mobile • Output: ID củaảnh, tag củaảnh • Yêucầu: • – Ảnhnhậndiệnphảirõnétđộtươngphảntốtvàchỉchứachủyếulà Object cầnnhậndiện, background khôngnhiều, hoặckhôngcó • Các function quantrọng • Start recognition: startRecognition(Robot robot) • robot: Robot đangđượckếtnối • Stop recognition: stopRecognition(Robot robot) • robot: Robot đangđượckếtnối • Event: FlashcardRecognized - trảlại tag củaảnhchụpbởi camera

  14. FlashcardRecognition • Ápdụng Image from NAO or Mobile Training Data IMAGE ID

  15. FlashcardRecognition • Ápdụng Start Module Init other module Time out Wait Event – get data Capture Image from camera Recognition Processing Stop action Stop Module

  16. FaceDetection • Chứcnăng • Module nhậndiệnkhuônmặtđãđược training trướcđó • Tăngkhảnănggiaotiếpcủa robot • Module gồm 2 phần: - Training • - Recognition • Quátrình training • Input: Ảnh(hoặcnhómảnh) khuônmặtcủamộtcánhân • Output: Thông tin ảnh – quátrìnhnàydiễnratrênmáychủcungcấpdịchvụ • Yêucầu: • – Ảnh training phảirõnétđộtươngphảntốtvàchỉchứachủyếulàkhuônmặtcầnnhậndiện, background khôngnhiều, hoặckhôngcó

  17. FaceDetection • Các function quantrọng • Training database: • trainImage(String path, String name, TrainListenerlistener) • path: Đườngdẫntớiảnhcủangườicần training • name: Nội dung muốn add vàoảnh – VD: tênngười • listener: Callback của process – trảvề tag ID củaảnhnếuviệc training thànhcông • trainImage(String[] path, String name, TrainListenerlistener) • path: List cácảnhcủangườicần training • Khigọihàmnàytoànbộảnhtrongthưmụcsẽđượcgửilênmáychủcủanhàcungcấpdịchvụnhậndiệnkhuônmặt

  18. FaceDetection • Các function quantrọng • Recognition face: • Detect (String path, DetectListenerlistener) • path: Đườngdẫntớiảnhcủangườicần training • listener: Callback của process – trảvề tag ID củakhuônmặttrùngkhớpvớikhuônmặttrước camera vàgiớitính • Khigọihàmnày NAO sẽ detect khuônmặtcủangườiđứngtrước camera (giúpgiảm dung lượngảnhvàtăngđộchínhxácnhậndiện)vàgửilên server đểthựchiệnquátrìnhnhậndạng.

  19. FaceDetection • Ápdụng Image from NAO or Mobile Training Data on server IMAGE TAG

  20. FaceDetection • Ápdụng Start Module Init other module No match Callback – get data Capture Image from camera Recognition Processing Stop action Stop Module

  21. Questions and Comments Thank for Your Attention

More Related