+ All Categories
Home > Documents > A. Kleiner, Albert-Ludwigs-Universität Freiburg Building Augmented Elevation Maps with a Tarantula...

A. Kleiner, Albert-Ludwigs-Universität Freiburg Building Augmented Elevation Maps with a Tarantula...

Date post: 20-Dec-2015
Category:
View: 217 times
Download: 1 times
Share this document with a friend
Popular Tags:
17
A. Kleiner, Albert-Ludwigs-Universität Freiburg Building Augmented Elevation Maps with a Tarantula Robot Rescue Robotics Camp - Rome 2006 Motivation PART I: Rescue Robots Freiburg Please have a look to the other talks of mine under: http://www.informatik.uni- freiburg.de/~kleiner/talks.html PART II: Details on the practical Module Structure IPC Elevation maps
Transcript
Page 1: A. Kleiner, Albert-Ludwigs-Universität Freiburg Building Augmented Elevation Maps with a Tarantula Robot Rescue Robotics Camp - Rome 2006 Motivation PART.

A. Kleiner, Albert-Ludwigs-Universität Freiburg

Building Augmented Elevation Maps with a Tarantula RobotRescue Robotics Camp - Rome 2006

Motivation PART I: Rescue Robots Freiburg

Please have a look to the other talks of mine under: http://www.informatik.uni-freiburg.de/~kleiner/talks.html

PART II: Details on the practical Module Structure IPC Elevation maps

Page 2: A. Kleiner, Albert-Ludwigs-Universität Freiburg Building Augmented Elevation Maps with a Tarantula Robot Rescue Robotics Camp - Rome 2006 Motivation PART.

A. Kleiner, Albert-Ludwigs-Universität Freiburg

Rescue Robotics and the RoboCup Rescue Challenge 2

Details on the practicalIntroduction

The goal of this year's tutorial is to enable the Tarantula platform for building elevation maps from rough terrain, as typically found within disaster areas.

Page 3: A. Kleiner, Albert-Ludwigs-Universität Freiburg Building Augmented Elevation Maps with a Tarantula Robot Rescue Robotics Camp - Rome 2006 Motivation PART.

A. Kleiner, Albert-Ludwigs-Universität Freiburg

Rescue Robotics and the RoboCup Rescue Challenge 3

Details on the practicalProvided Hardware & Software

All experiments will be carried out on a Tarantula robot „Lurker“, equipped with: Inertial Measurement Unit (IMU) 2 Laser Range Finders (LRFs), one pointing parallel to the ground, and one with a freely adjustable

pitch angle (e.g. pointing downwards or upwards). The Robot software is organized by modules (executables) communicating via Inter

Process Communication (Simmons and James, 2001) Based on this communication framework, we provide the following binary modules:

SCAN:SCAN: a module for sending 2D and 3D scans from both sensors INERTIA:INERTIA: a module sending the three Euler angles yaw, roll and pitch from the IMU JOYSTICK:JOYSTICK: a module sending velocity commands from a joystick WEBCAM:WEBCAM: a module sending data from the connected cameras CONTROLLER:CONTROLLER: a module for controlling the robot, e.g. to set the translational and rotational

velocity ROBOGUI:ROBOGUI: a module for teleoperating the robot LOC:LOC: a localization module that sends the robot's global pose (x, y, ), estimated from LRF readings

and Odometry RECORDER:RECORDER: a module for recording log files READER:READER: a module for playing log files

Page 4: A. Kleiner, Albert-Ludwigs-Universität Freiburg Building Augmented Elevation Maps with a Tarantula Robot Rescue Robotics Camp - Rome 2006 Motivation PART.

A. Kleiner, Albert-Ludwigs-Universität Freiburg

Rescue Robotics and the RoboCup Rescue Challenge 4

Sensors

Actions

SLAM

Sensors

Exploration( Frontier Cell-based)

Other Robots

RoboGUI

ControllerVictim

detection

IncidenceCommander

HUMAN

System overviewInter Process Communication (IPC)

Behaviors( A* Planning &

Climbing behaviors)

Detected!

Map

Targets

Commands

Commands

Page 5: A. Kleiner, Albert-Ludwigs-Universität Freiburg Building Augmented Elevation Maps with a Tarantula Robot Rescue Robotics Camp - Rome 2006 Motivation PART.

A. Kleiner, Albert-Ludwigs-Universität Freiburg

Rescue Robotics and the RoboCup Rescue Challenge 5

Details on the practicalExisting Module Structure

SCAN

INERTIA

JOYSTICK

WEBCAM

ROBOGUI

RECORDER / READER

LOC

CONTROLLER

ROBOT

Page 6: A. Kleiner, Albert-Ludwigs-Universität Freiburg Building Augmented Elevation Maps with a Tarantula Robot Rescue Robotics Camp - Rome 2006 Motivation PART.

A. Kleiner, Albert-Ludwigs-Universität Freiburg

Rescue Robotics and the RoboCup Rescue Challenge 6

Details on the practicalNew modules (this year’s assignment)

ELEVATION MAPPER:ELEVATION MAPPER: A module for estimating height values of an elevation map by a Kalman Filter-based integration of data from the modules INERTIA, SCAN and LOC

HEIGHT ESTIMATOR:HEIGHT ESTIMATOR: A module for estimating the robot's current height by a Kalman Filter-based integration of data from INERTA and LOC

ELEVATION VIEWER:ELEVATION VIEWER: A module for displaying the elevation map computed by the ELEVATION MAPPER and the robot's pose calculated by the modules HEIGHT ESTIMATOR and LOC

Page 7: A. Kleiner, Albert-Ludwigs-Universität Freiburg Building Augmented Elevation Maps with a Tarantula Robot Rescue Robotics Camp - Rome 2006 Motivation PART.

A. Kleiner, Albert-Ludwigs-Universität Freiburg

Rescue Robotics and the RoboCup Rescue Challenge 7

SCAN

LOC

ELEVATIONMAPPER

ELEVATIONVIEWER

HEIGHTESTIMATOR

INERTIA

Details on the practicalNew modules structure (this year’s assignment)

Page 8: A. Kleiner, Albert-Ludwigs-Universität Freiburg Building Augmented Elevation Maps with a Tarantula Robot Rescue Robotics Camp - Rome 2006 Motivation PART.

A. Kleiner, Albert-Ludwigs-Universität Freiburg

Rescue Robotics and the RoboCup Rescue Challenge 8

Inter Process Communication (IPC): Developed by Reid Simmons at the Carnegie Mellon University (Simmons

and James, 2001) Platform-independent package for distributed network based message

passing Facilities for both publish/subscribe and client/server type communications It can efficiently pass complicated data structures between different machines IPC can run in either centralized-routed mode or direct point-to-point mode With centralized routing, message traffic can be logged Tools available for visualizing and analyzing the message traffic

Details on the practicalIPC Communication

Page 9: A. Kleiner, Albert-Ludwigs-Universität Freiburg Building Augmented Elevation Maps with a Tarantula Robot Rescue Robotics Camp - Rome 2006 Motivation PART.

A. Kleiner, Albert-Ludwigs-Universität Freiburg

Rescue Robotics and the RoboCup Rescue Challenge 9

Communication between two modules within three steps: Define your data structure, e.g.:

#define RESCUE_TILTED_RANGES_NAME "rescue_tilted_ranges"#define RESCUE_TILTED_RANGES_FMT "{int, int, <double:2>,<double:2>," ROBOT_BASE_FMT "}"

typedef struct {int id; // ID of this scanint nranges; // Number of rangesdouble *ranges; // Rangedouble *angles; // Angle (in deg)robot_base_message robot; // Def. see above

} rescue_tilted_ranges_message;

Publish data on the sender side:ComPublishToRobot(RESCUE_TILTED_RANGES_NAME, &msg);

Receive data on the receiver side with a message handler:void HeightMapper::update(const rescue_tilted_ranges_message & msg){

...}DEFINE_CLASS_HANDLER(msgHandlerTiltedRanges, HeightMapper, rescue_tilted_ranges_message);ComSubscribeToRobot(RESCUE_TILTED_RANGES_NAME, HeightMapper::msgHandlerTiltedRanges, this);

Details on the practicalIPC Communication

Page 10: A. Kleiner, Albert-Ludwigs-Universität Freiburg Building Augmented Elevation Maps with a Tarantula Robot Rescue Robotics Camp - Rome 2006 Motivation PART.

A. Kleiner, Albert-Ludwigs-Universität Freiburg

Rescue Robotics and the RoboCup Rescue Challenge 10

Base message, defining the sender ID and timestamp#define ROBOT_BASE_NAME "robot_base"#define ROBOT_BASE_FMT "{int,{long,long}}"typedef struct {

int id;timeval ts;

} robot_base_message;

Global pose calculated by the LOC module#define RESCUE_KALMAN_POSE_NAME "rescue_kalman_pose"#define RESCUE_KALMAN_POSE_FMT "{int, double, double, double, double, double, [double:3,3]," ROBOT_BASE_FMT "}"typedef struct{

int type; // see RESCUE_POSITION_TYPEdouble posX; // in mmdouble posZ; // in mmdouble posTh; // in DEGdouble transVel; // in mm/sdouble rotVel; // in DEG/secdouble sigma[3][3];

robot_base_message robot;}rescue_kalman_pose_message;

Details on the practicalModule interface

Page 11: A. Kleiner, Albert-Ludwigs-Universität Freiburg Building Augmented Elevation Maps with a Tarantula Robot Rescue Robotics Camp - Rome 2006 Motivation PART.

A. Kleiner, Albert-Ludwigs-Universität Freiburg

Rescue Robotics and the RoboCup Rescue Challenge 11

Details on the practicalElevation Map representation

n

m

Page 12: A. Kleiner, Albert-Ludwigs-Universität Freiburg Building Augmented Elevation Maps with a Tarantula Robot Rescue Robotics Camp - Rome 2006 Motivation PART.

A. Kleiner, Albert-Ludwigs-Universität Freiburg

Rescue Robotics and the RoboCup Rescue Challenge 12

Details on the practicalKalman Filter Update

Kalman update of height h and variance σ2 from observation z:

Problem with vertical structures:

Page 13: A. Kleiner, Albert-Ludwigs-Universität Freiburg Building Augmented Elevation Maps with a Tarantula Robot Rescue Robotics Camp - Rome 2006 Motivation PART.

A. Kleiner, Albert-Ludwigs-Universität Freiburg

Rescue Robotics and the RoboCup Rescue Challenge 13

Details on the practicalKalman Filter Update

Solution: Data fusion depending on Mahalanobis distance:

Page 14: A. Kleiner, Albert-Ludwigs-Universität Freiburg Building Augmented Elevation Maps with a Tarantula Robot Rescue Robotics Camp - Rome 2006 Motivation PART.

A. Kleiner, Albert-Ludwigs-Universität Freiburg

Rescue Robotics and the RoboCup Rescue Challenge 14

Details on the practical Calculation of z,σz

2

dx

zd

z`

α

Linearization with Taylor expansion:

Page 15: A. Kleiner, Albert-Ludwigs-Universität Freiburg Building Augmented Elevation Maps with a Tarantula Robot Rescue Robotics Camp - Rome 2006 Motivation PART.

A. Kleiner, Albert-Ludwigs-Universität Freiburg

Rescue Robotics and the RoboCup Rescue Challenge 15

Details on the practical Variance update from robot motion

T=k T=t

Problem: Localization error grows incrementally with length of robot trajectory

Solution: Update variance according to traveled distance

t

I(t)

Page 16: A. Kleiner, Albert-Ludwigs-Universität Freiburg Building Augmented Elevation Maps with a Tarantula Robot Rescue Robotics Camp - Rome 2006 Motivation PART.

A. Kleiner, Albert-Ludwigs-Universität Freiburg

Rescue Robotics and the RoboCup Rescue Challenge 16

Details on the practical Map filtering with a convolution kernel

Problem: “Mixed pixels” and “surface holes”

Solution: Map filtering with a convolution kernel

½ ½

½

½ ¼¼

¼¼

1

Page 17: A. Kleiner, Albert-Ludwigs-Universität Freiburg Building Augmented Elevation Maps with a Tarantula Robot Rescue Robotics Camp - Rome 2006 Motivation PART.

A. Kleiner, Albert-Ludwigs-Universität Freiburg

Rescue Robotics and the RoboCup Rescue Challenge 17

And what about map augmentation?That’s Raymond’s job!


Recommended