Autonomous Intelligent Robotics Instructor: Shiqi Zhang - - PowerPoint PPT Presentation

autonomous intelligent robotics
SMART_READER_LITE
LIVE PREVIEW

Autonomous Intelligent Robotics Instructor: Shiqi Zhang - - PowerPoint PPT Presentation

Spring 2018 CIS 693, EEC 693, EEC 793: Autonomous Intelligent Robotics Instructor: Shiqi Zhang http://eecs.csuohio.edu/~szhang/teaching/18spring/ Ubuntu 14.04 + ROS Indigo 2 ROS: Robot Operatins System 3 Intelligent robot Action


slide-1
SLIDE 1

Spring 2018 CIS 693, EEC 693, EEC 793:

Autonomous Intelligent Robotics

Instructor: Shiqi Zhang

http://eecs.csuohio.edu/~szhang/teaching/18spring/

slide-2
SLIDE 2

2

Ubuntu 14.04 + ROS Indigo

slide-3
SLIDE 3

3

ROS: Robot Operatins System

slide-4
SLIDE 4

4

Intelligent robot

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

slide-5
SLIDE 5

5

Example: TurtleBot

TurtleBot 'create' base Microsoft Kinect

slide-6
SLIDE 6

6

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

slide-7
SLIDE 7

7

Controlling robots using code

slide-8
SLIDE 8

8

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
slide-9
SLIDE 9

9

Straightforward approach

SOFTWARE HARDWARE

USB-USB USB-Serial

Specific camera driver Serial programming specific to 'Create'

This approach suffers from a problem. Any ideas? This approach suffers from a problem. Any ideas?

slide-10
SLIDE 10

10

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 this transition easier? Could I have implemented my code differently to make this transition easier?

slide-11
SLIDE 11

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 this transition easier? Could I have implemented my code differently to make this transition easier?

slide-12
SLIDE 12

12

Using robot middleware

Provide an abstraction layer and drivers between Provide an abstraction layer and drivers between computation and embodiment computation and embodiment

slide-13
SLIDE 13

13

Using robot middleware

SOFTWARE HARDWARE

USB-USB USB-Serial

middleware middleware

slide-14
SLIDE 14

14

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
slide-15
SLIDE 15

15

ROS (Robot Operating System)

  • A very popular robot middleware

package

www.ros.com

slide-16
SLIDE 16

16

ROS (Robot Operating System)

slide-17
SLIDE 17

17

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

slide-18
SLIDE 18

18

ROS nodes, messages, and topics

Node Node Node Node Node Node Service Topic Node Node Node publish subscribe response request

slide-19
SLIDE 19

19

How it works...

USB-USB USB-Serial

Ball following

slide-20
SLIDE 20

20

How it works...

USB-USB USB-Serial

vision camera 'create' control ROS master

slide-21
SLIDE 21

21

How it works...

USB-USB USB-Serial

vision camera 'create' control ROS master

I will receive images

  • n topic "image" and

publish blobs on topic "blobs" I will receive blobs

  • n topic "blobs"

and publish velocities on topic "cmd_vel" I will receive velocities on topic "cmd_vel" I will publish images on topic "image"

slide-22
SLIDE 22

22

How it works...

USB-USB USB-Serial

vision camera 'create' control ROS master

images

  • n

'image' blobs on 'blobs' Velocities

  • n

'cmd_vel' SET UP COMMUNICATIONS

slide-23
SLIDE 23

23

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

slide-24
SLIDE 24

24

Reading materials

  • ROS tutorials

http://www.ros.org/wiki/ROS/Tutorials

  • ROS paper:

'ROS: an open-source Robot Operating System', 2009

slide-25
SLIDE 25

25

Demo

slide-26
SLIDE 26

26

THE END