System Architecture Steering Filters Localization Map generation - - PowerPoint PPT Presentation

system architecture
SMART_READER_LITE
LIVE PREVIEW

System Architecture Steering Filters Localization Map generation - - PowerPoint PPT Presentation

System Architecture Steering Filters Localization Map generation Path planning Computer vision Drive Perception Planning Control ROS: Robot Operating System ROS distributions This course 2012 2013 2014 2015 ROS Capabilities


slide-1
SLIDE 1

System Architecture

Filters Map generation Computer vision Localization Path planning Steering Drive

Perception Planning Control

slide-2
SLIDE 2

ROS: Robot Operating System

slide-3
SLIDE 3

ROS distributions

2014 2015 2013 2012

This course

slide-4
SLIDE 4

Perception Control Planning

ROS Capabilities

urg_node hokuyo_node zed_camera stereo_image_proc ros_zed_cuda_driver razor_imu_9dof camera1394 move_base hector_slam vanishing_point rosserial_python PID_control

slide-5
SLIDE 5

ROS Tools

Visualization, debugging and diagnostics, logging, and simulation

slide-6
SLIDE 6

ROS: Nodes

Node: Program with a specific functionality, that runs as a single process. Nodes communicate with other nodes using topics and messages

slide-7
SLIDE 7

ROS: Topics

Topics are channels over which nodes exchange messages. They are for streaming data

hokuyo_node

Scan [Topic]

Publishes on topic: Scan

Mapping Node

Subscribes to topic: Scan Publisher Node Subscriber Node

slide-8
SLIDE 8

ROS: Messages

Messages are the strongly-typed data structure for a topic.

hokuyo_node

Scan [Topic] Mapping Node

Publisher Node Subscriber Node

LaserScan [Message]

slide-9
SLIDE 9

ROS: Packages

Software in ROS is organized into packages. A package contains one or more nodes. Executable processes Data types Interfaces

slide-10
SLIDE 10

ROS: Packages

Packages contain several required files: Ø package.xml Ø CMakeLists.txt

slide-11
SLIDE 11

package.xml

Name, description, author, license...

slide-12
SLIDE 12

package.xml

Dependencies: Ø <build_depend> : Needed to compile the package. Ø <run_depend> : Needed to run the package

slide-13
SLIDE 13

CMakeLists.txt

Rules for compiling and building the software.

slide-14
SLIDE 14

Basic ROS commands: roscore

roscore is the first thing that you should run when starting ROS. Collection of nodes and programs that are pre-requisites of a ROS-based system. It starts up:

  • The ROS Master
  • A rosout logging node.

$ roscore

slide-15
SLIDE 15

Basic ROS commands: rosrun

rosrun executes a ROS node. Example $ rosrun <package_name> <node_name> $ rosrun hokuyo_node hokuyo_node

slide-16
SLIDE 16

Basic ROS commands: rosnode

Command Description

rosnode list

List all active nodes

rosnode info node_name

Display information about a node

rosnode kill node_name

Kill running node

Rosnode ping node_name

Test connectivity to an active node

slide-17
SLIDE 17

Basic ROS commands: rostopic

Command Description

rostopic list List all topics currently subscribed to and/or publishing rostopic info <topic> Show topic message type, subscribers, publishers etc. rostopic echo <topic> Echo messages published to the topic on the terminal window rostopic find <message_type> Find topics of the given message type

slide-18
SLIDE 18

3D visualization tool: rviz

$ rosrun rviz rviz

slide-19
SLIDE 19

rqt_graph

Perception Planning Control

slide-20
SLIDE 20

But what about the turtles ?

Next time TurtleSim Keyboard Control

Practice Session 1