CSCI 473/573 Human-Centered Robotics - Today at...

45
CSCI 473/573 Human-Centered Robotics

Transcript of CSCI 473/573 Human-Centered Robotics - Today at...

Page 1: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

CSCI 473/573Human-Centered Robotics

Page 2: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

2

Let’s design a simple robot

Page 3: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

3

Let’s design a simple robot

Page 4: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

4

Before implementing intelligence, we need to consider…

Page 5: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

Example: Manipulation

5

Page 6: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

6

What a mess!

How can we deal with allprogram components?

Page 7: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

7

Page 8: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

8

Page 9: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

9

•Modular design•Reusable robotics components!•62 Robotic platforms officially support ROS on

9/18/2015, 121 on 1/30/2017, and 150+ on 1/22/2019: http://wiki.ros.org/Robots

Now: (unofficially) almost all open source robots are using certain components of ROS…•Hundreds of ready to use algorithms•Efficient, so it can be used for actual products, not

just prototyping•Runs on Ubuntu, also many embedded processors•Parallelization and networking made easy, can use

multiple machines simultaneously

Page 10: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

10

Page 11: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

11

Page 12: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

12

Page 13: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

13

Page 14: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

14

Page 15: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

15

Page 16: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

16

Plumbing: ROS provides messaging infrastructure designed to support the quick and easy construction

of distributed computing systems.

Page 17: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

17

Page 18: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

18

Page 19: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

19

Page 20: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

20

Page 21: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

21

Page 22: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

22

Page 23: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

23

Page 24: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

24

Page 25: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

25

Page 26: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

26

Tools: ROS provides an extensive set of tools for configuring, starting, introspecting, debugging, visualizing, logging, testing, and stopping distributed computing systems.

Page 27: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

27

System Visualization: rqt_graph

Page 28: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

28

System Visualization: rqt_graph

Page 29: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

29

Live Plotting: rqt_plot

Page 30: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

30

Logging and Visualization Sensor Data: rosbag and rqt_bag

Page 31: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

31

Logging and Visualization Sensor Data: rosbag and rqt_bag

Page 32: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

32

3D Visualization: RVIZ

Page 33: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

33

2D and 3D Simulation: Player-Stage and Gazebo

Page 34: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

34

2D and 3D Simulation: Player-Stage and Gazebo

Page 35: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

35

2D and 3D Simulation: Player-Stage and Gazebo

Page 36: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

36

Capabilities: ROS provides a broad collection of libraries that implement useful robot functionality, with

a focus on mobility, manipulation, and perception.

Page 37: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

Capabilities: Manipulation

37

Page 38: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

Capabilities: Mobility

38

Page 39: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

Capabilities: Mapping

39

Page 40: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

40

Ecosystem: ROS is supported and improved by a large community, with a strong focus on integration and

documentation. ros.org is a one-stop-shop for finding and learning about the thousands of ROS packages that

are available from developers around the world.

Page 41: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

41

Worldwide User Base (ros.org)

Page 42: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

42

Page 43: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

43

Page 44: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

ROS: Robot Operating System

44SpotMini: https://www.youtube.com/watch?v=tf7IEVTDjng

Page 45: CSCI 473/573 Human-Centered Robotics - Today at Minesinside.mines.edu/.../Lectures/03-ROS_Overview.pdf · 2020-01-22 · ROS: Robot Operating System 40 Ecosystem: ROS is supported

45