autonomous intelligent robotics
play

Autonomous Intelligent Robotics Instructor: Shiqi Zhang - PowerPoint PPT Presentation

Spring 2017 CIS 493, EEC 492, EEC 592: Autonomous Intelligent Robotics Instructor: Shiqi Zhang http://eecs.csuohio.edu/~szhang/teaching/17spring/ Ubuntu 14.04 + ROS Indigo 2 Assignment 1 is available now Due date is Jan 31, 5 PM 3 ROS:


  1. Spring 2017 CIS 493, EEC 492, EEC 592: Autonomous Intelligent Robotics Instructor: Shiqi Zhang http://eecs.csuohio.edu/~szhang/teaching/17spring/

  2. Ubuntu 14.04 + ROS Indigo 2

  3. Assignment 1 is available now Due date is Jan 31, 5 PM 3

  4. ROS: Robot Operatins System 4

  5. Intelligent robot Action selection Motion Planning Sensing Navigation Learning Modeling the world Obstacle avoidance Multirobot coordination Perception Cognition Action Sensors Actuators External world 5

  6. Example: TurtleBot Microsoft Kinect 'create' base TurtleBot 6

  7. Software architecture ● Software architecture is important for robotics because: – Large code-bases – Integration of many different (dynamic) set of devices – Many different options for a single component 7

  8. Controlling robots using code 8

  9. Straightforward approach ● Write a program to perform robot's 'cognitive' functions ● The program includes: – Code to interface with the camera – Code to interface with the robot base – Code to understand the images and control the robot base ● Once implemented, the system works well and efficiently 9

  10. Straightforward approach Specific Serial programming camera driver specific to 'Create' SOFTWARE HARDWARE USB-USB USB-Serial This approach suffers from a problem. Any ideas? This approach suffers from a problem. Any ideas? 10

  11. An example problem... ● We later realized 'create' base is too slow (0.5 m/s). ● How easy it is to use a Segway base instead (up to 1.7 m/s)? Could I have implemented my code differently to make Could I have implemented my code differently to make this transition easier? this transition easier? 11

  12. An example problem... ● We later realized 'create' base is too slow (0.5 m/s). ● How easy it is to use a Segway base instead (up to 1.7 m/s)? Could I have implemented my code differently to make Could I have implemented my code differently to make this transition easier? this transition easier? 12

  13. Using robot middleware Provide an abstraction layer and drivers between Provide an abstraction layer and drivers between computation and embodiment computation and embodiment 13

  14. Using robot middleware middleware middleware SOFTWARE HARDWARE USB-Serial USB-USB 14

  15. The advantages ● Reuseability – Reuse existing code and drivers written for other robots, platforms and/or research projects ● Portability – Easier to switch to another robotic platform ● Easier to expand functionality 15

  16. ROS (Robot Operating System) ● A very popular robot middleware package 16 www.ros.com

  17. ROS (Robot Operating System) 17

  18. ROS (Robot Operating System) ● A very the most popular robot middleware package ● Peer-to-peer architecture among nodes over a network – A node is a process that performs some computation – Topics are named buses over which nodes exchange messages – Nodes communicate with each other by publishing and subscribing to topics – Services enable request-response communications between nodes 18

  19. ROS nodes, messages, and topics response Node Node Service Node request Node Node Node Topic publish subscribe Node Node Node 19

  20. How it works... Ball following USB-Serial USB-USB 20

  21. How it works... vision control ROS master camera 'create' USB-Serial USB-USB 21

  22. How it works... I will receive images I will receive blobs on topic "image" and on topic "blobs" vision control publish blobs on topic and publish "blobs" velocities on topic "cmd_vel" ROS master I will publish I will receive images on velocities on camera 'create' topic "image" topic "cmd_vel" USB-Serial USB-USB 22

  23. How it works... blobs on 'blobs' vision control images Velocities on ROS master on 'image' 'cmd_vel' camera 'create' SET UP COMMUNICATIONS USB-Serial USB-USB 23

  24. To summarize... ● Robot middleware improves software's reusability and portability ● ROS is a very popular robot middleware – Thousands of packages – More than 100 robot platforms ● Important ROS concepts – Node – Topic – Message – Service 24

  25. Reading materials ● ROS tutorials http://www.ros.org/wiki/ROS/Tutorials – ● ROS paper: 'ROS: an open-source Robot Operating System', 2009 – 25

  26. Demo 26

  27. THE END 27

Recommend


More recommend