Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "A. Kleiner, Albert-Ludwigs-Universität Freiburg Building Augmented Elevation Maps with a Tarantula Robot Rescue Robotics Camp - Rome 2006 Motivation PART."— Presentation transcript:

1 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

2 A. Kleiner, Albert-Ludwigs-Universität FreiburgRescue Robotics and the RoboCup Rescue Challenge2 Details on the practical Introduction 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.

3 A. Kleiner, Albert-Ludwigs-Universität FreiburgRescue Robotics and the RoboCup Rescue Challenge3 Details on the practical Provided 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

4 A. Kleiner, Albert-Ludwigs-Universität FreiburgRescue Robotics and the RoboCup Rescue Challenge4 Sensors Actions SLAM Sensors Exploration ( Frontier Cell-based) Other Robots RoboGUI Controller Victim detection Incidence Commander HUMAN System overview Inter Process Communication (IPC) Behaviors ( A* Planning & Climbing behaviors) Detected! Map Targets Commands

5 A. Kleiner, Albert-Ludwigs-Universität FreiburgRescue Robotics and the RoboCup Rescue Challenge5 Details on the practical Existing Module Structure SCAN INERTIA JOYSTICK WEBCAM ROBOGUI RECORDER / READER LOC CONTROLLER ROBOT

6 A. Kleiner, Albert-Ludwigs-Universität FreiburgRescue Robotics and the RoboCup Rescue Challenge6 Details on the practical New 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

7 A. Kleiner, Albert-Ludwigs-Universität FreiburgRescue Robotics and the RoboCup Rescue Challenge7 SCAN LOC ELEVATION MAPPER ELEVATION VIEWER HEIGHT ESTIMATOR INERTIA Details on the practical New modules structure (this year’s assignment)

8 A. Kleiner, Albert-Ludwigs-Universität FreiburgRescue Robotics and the RoboCup Rescue Challenge8 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 practical IPC Communication

9 A. Kleiner, Albert-Ludwigs-Universität FreiburgRescue Robotics and the RoboCup Rescue Challenge9 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,,," ROBOT_BASE_FMT "}" typedef struct { int id; // ID of this scan int nranges;// Number of ranges double *ranges;// Range double *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 practical IPC Communication

10 A. Kleiner, Albert-Ludwigs-Universität FreiburgRescue Robotics and the RoboCup Rescue Challenge10 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_TYPE double posX;// in mm double posZ;// in mm double posTh;// in DEG double transVel; // in mm/s double rotVel;// in DEG/sec double sigma[3][3]; robot_base_message robot; }rescue_kalman_pose_message; … Details on the practical Module interface

11 A. Kleiner, Albert-Ludwigs-Universität FreiburgRescue Robotics and the RoboCup Rescue Challenge11 Details on the practical Elevation Map representation n m

12 A. Kleiner, Albert-Ludwigs-Universität FreiburgRescue Robotics and the RoboCup Rescue Challenge12 Details on the practical Kalman Filter Update Kalman update of height h and variance σ 2 from observation z: Problem with vertical structures:

13 A. Kleiner, Albert-Ludwigs-Universität FreiburgRescue Robotics and the RoboCup Rescue Challenge13 Details on the practical Kalman Filter Update Solution: Data fusion depending on Mahalanobis distance:

14 A. Kleiner, Albert-Ludwigs-Universität FreiburgRescue Robotics and the RoboCup Rescue Challenge14 Details on the practical Calculation of z,σ z 2 dxdx z d z` α Linearization with Taylor expansion:

15 A. Kleiner, Albert-Ludwigs-Universität FreiburgRescue Robotics and the RoboCup Rescue Challenge15 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)

16 A. Kleiner, Albert-Ludwigs-Universität FreiburgRescue Robotics and the RoboCup Rescue Challenge16 Details on the practical Map filtering with a convolution kernel Problem: “Mixed pixels” and “surface holes” Solution: Map filtering with a convolution kernel ½ ½ ½ ½ ¼ ¼ ¼ ¼ 1

17 A. Kleiner, Albert-Ludwigs-Universität FreiburgRescue Robotics and the RoboCup Rescue Challenge17 And what about map augmentation ? That’s Raymond’s job!


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

Similar presentations


Ads by Google