50
David Portugal ([email protected] ) Robotic Sensing using 27 th May 2013

Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Embed Size (px)

Citation preview

Page 1: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

David Portugal ([email protected])

Robotic Sensing

using

27th May 2013

Page 2: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Index

• Robotic Sensing Sensor Types and Equipment

Applications

• ROS Overview ROS Organization

How do Nodes talk?

• ROS Drivers for Sensing Equipment Example and Applications

Page 3: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Robotic Sensing

Page 4: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

“Branch of robotics science intended to

give robots sensing capabilities, so that robots

are more human-like.”

“Mainly gives robots the ability to see, touch,

hear and move and uses algorithms that

require environmental feedback.”

http://en.wikipedia.org/wiki/Robotic_sensing

Robotic Sensing

Page 5: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Robotic Sensing

Which capabilities should a robot have in

order to interact with its environment?

Page 6: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Primary Human

Senses

Vision

Touch

Hear

Taste

Smell

Robotic Sensing

Page 7: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Other Human

Senses

Balance & Motion

Thermoception

Pain

Time Perception

Robotic Sensing

Page 8: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Robotic Sensing

Vision

Touch

Hear

Smell

Robotic Sensing

e.g., color camera, TOF camera,

3D camera, …

e.g., touch sensor, force sensor, gripper…

e.g., microphone, acoustical arrays, …

e.g., gas sensor, alcohol sensor, …

Page 9: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Other Robotic

Senses

Balance & Motion

Chemical Perception

Distance Sensing

Robotic Sensing

e.g., odometer, compass,

accelerometer, GPS, …

e.g., humidity sensor, dust sensor, light

sensor, thermal camera …

e.g., laser range finder, ultrasonic sensors,

infrared sensor…

Page 10: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Robotic Sensing

Page 11: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Robotic Sensing - Example

RGB Camera

• Delivers the three basic color

components (red, green, and

blue) on three different wires.

• Used for accurate color image

acquisitions.

• Using cameras, robots may perceive visual information

through computer vision and image processing

algorithms.

Page 12: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Robotic Sensing - Example

Laser Range Finder

• Scans the environment using laser

beams to determine the distance to

objects.

• Used for distance sensing, obstacle

detection, navigation,…

• Robots are able to build 2D representations

of their environment and/or navigate safely

without hitting obstacles.

Page 13: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Robotic Sensing - Example

Microphone

• Acoustic-to-electric sensor that

converts sound into an electrical

signal.

• Microphones may form an array, in

order to enhance speech recognition,

detecting sound sources, etc.

• Robots may localize objects by their sound, interact

with humans, etc. using digital audio signal processing.

Page 14: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Robotic Sensing – Applications

Vision: Optical Flow

http://www.youtube.com/watch?v=V4r2HXGA8jw

Page 15: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Robotic Sensing – Applications

Touch: Object Manipulation

http://www.youtube.com/watch?v=2rd2r2jPWLU

Page 16: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Robotic Sensing – Applications

Hear: Detecting Sound Sources

Page 17: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Robotic Sensing – Applications

Smell: Searching for Odor Sources

http://www.youtube.com/watch?v=Av2fT8iXnqw

Page 18: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Robotic Sensing – Applications

Motion and Range Sensing: Robot Navigation

Page 19: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Robotic Sensing

Sensors should be chosen according to the application

domain and intended robot’s behavior.

Page 20: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Overview

Page 21: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Overview

A popular robot framework

that provides:

• Hardware abstraction

• Low-level device control

• Implementation of commonly-

used functionalities

• Message-passing between

processes

• Package management

Page 22: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Overview

• Peer-to-peer

• Tools-based

• Multi-lingual

• Free

• Open-Source

Page 23: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Command-line Tools

• rosbag

• rosbash

• roscd

• rosclean

• roscore

• rosdep

• rosed

• rosrun

• roscreate-pkg

• roscreate-stack

• rostopic

• roslaunch

• roslocate

• rosmake

• rosmsg

• rosnode

• rospack

• rosparam

• rossrv

• rosservice

• rosstack

Philosophy: Various tools instead of a runtime environment

Page 24: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

• Nodes

• Messages

• Services

Groups of packages

Packages

Stacks

Organization

Page 25: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

How do Nodes talk?

Node A Node B

Messages

Topic

Page 26: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

How do Nodes talk?

Example:

Talker node (1)

Publisher (string message)

Page 27: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

How do Nodes talk?

Example:

Talker node (2)

String to publish

(loopwise)

Publishing the

String Message

Page 28: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

How do Nodes talk?

Example:

Listener node

Subscriber

(string message)

Callback Function (called

when a new message arrives)

Page 29: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

How do Nodes talk?

Example:

Output

Page 30: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

How do Nodes talk?

Example:

Output

Page 31: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Sensing in ROS

• After building and developing a robot (or perhaps

buying a new robot):

How can we integrate it in ROS?

Can we add sensors to our robot and easily

access their information?

Yes we can!

Page 32: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Drivers

for Sensing Equipment

Page 33: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Interacting with different sensors

Microsoft Kinect Hokuyo Laser Sick Laser

3D PMD Camcube

Xsens Mti IMU

Mercury5e RFID Reader Arduino Integration BMA Accelerometer

Page 34: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

• Expanding robots’ capabilities may be crucial

depending on the application;

• In multi-robot systems you may want to have

heterogeneous teams, where each agent has a

distinct role;

• How difficult is it to add a new sensor to your

robot?

Interacting with different sensors

Page 35: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Drivers

Sensor

ROS

Driver

Other ROS

Nodes

Access to Raw

Readings from the

Sensor

Serial-USB, I2C,

Bluetooth …

ROS Topics or

ROS Services Interpret sensor

data and make it

available for ROS

through an

adequate message

structure Applications that rely

on sensor information

to run properly

Page 36: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Drivers – Example

Wiimote

(Nintendo)

Page 37: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Drivers – Example

Application: Robot Teleoperation

Page 38: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Drivers – Example

http://www.ros.org/wiki/wiimote

ROS Driver for the wiimote, available at:

The wiimote_node (wiimote package, joystick_drivers

stack) exposes the wiimote controller functionalities to

ROS.

Page 39: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Drivers – Example

http://www.ros.org/wiki/wiimote

ROS Driver for the wiimote, available at:

“The package implements a ROS node that uses Bluetooth

to communicate with the Wiimote device, obtaining

accelerometer and gyro data, the state of LEDs, the IR

camera, rumble (vibrator), buttons, joystick, and

battery state. The node additionally enables ROS nodes

to control the Wiimote's LEDs and vibration for feedback to

the human Wiimote operator.”

Page 40: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Drivers – Example

wiimote_node.py

Page 41: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Drivers – Example

wiimote_node.py

Page 42: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Drivers – Example

Application: Robot Teleoperation

http://www.youtube.com/watch?v=WgcGnOoNrBU

Page 43: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Drivers – Example

Application: Robot Teleoperation

Page 44: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Later on…

Microsoft Kinect

Color VGA video camera

3D Depth sensor

Multi-array microphone

Some Applications:

3D scene reconstruction

Gesture Recognition

Detection of sound sources

Page 45: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Later on…

Arduino Uno Open-source electronics prototyping

platform.

The microcontroller is programmed

using the Arduino language (similar to

C/C++) and the Arduino development

environment.

Arduino projects can be stand-alone

or they can communicate with

software running on a computer.

Some Applications: Sense the environment by receiving input from a variety of

sensors, affecting its surroundings by controlling lights, motors,

and other actuators.”

Page 46: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Later on…

Hokuyo URG-04LX-UG01

2D Laser Range Finder

Wide-range (5.6m × 240° FOV).

Accurate (± 30mm)

Angular resolution: approx. 0.35°

(360° / 1024 steps)

Scan Frequency: 10Hz

Some Applications:

Simultaneous Localization and Mapping (SLAM)

Robot Navigation

Object Detection

Page 47: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Later on…

Xsens Mti

Inertial Measurement Unit (IMU)

Output:

• 3D Orientation (360°)

• 3D acceleration

• 3D rate of turn

• 3D magnetic field

Some Applications:

Tracking object position in 3D

Control and stabilization of cameras and robots

Page 48: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Conclusion

• Several available sensing equipment can be

incorporated in a robot, depending on the application,

to improve the robot’s capabilities.

• ROS enables effortless integration of sensors and

robot hardware;

• ROS drivers may interface with ROS tools for data

processing and analysis of the robotic platform;

Page 49: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

• ROS tools and software promote code reuse,

hardware abstraction and decrease the development

time;

• Many popular sensors used in robotic applications

are already integrated in ROS (e.g., kinect, hokuyo

and SICK lasers, wiimote, Xsens IMU, …)

• In order to interact a given sensor in ROS, all you

need to do is to expose its functionalities to ROS

through a ROS driver.

Conclusion

Page 50: Robotic Sensing using - UCmrl.isr.uc.pt/projects/socialrobot/images/stories/RSW/ROS_Inf... · Robotic Sensing - Example ... order to enhance speech recognition, detecting sound sources,

Thank You.

Questions?