13.01.2014 Views

PDF 1.938kB

PDF 1.938kB

PDF 1.938kB

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 4<br />

Method<br />

At the beginning of this chapter some real world use-cases are presented. From the analysis of these<br />

use-cases evolving requirements are formulated. Afterwards elements which allow the abstract description<br />

of a component-based system are presented. Further a method to determine the quality of<br />

a transformation chain is shown. Finally some examples using the different elements and the quality<br />

measurement are presented, to show the generality of the proposed methods.<br />

4.1 Use Cases<br />

This section describes several use-cases where it is necessary to transform data between different<br />

coordinate frames. The selected use-cases have relevance for service robotics where a great number<br />

of actuators and sensors exist and where sensors are mounted on actuators. The chosen use-cases<br />

increase in complexity, starting with a setup where no actuators are included. The next use-cases<br />

mainly increase in the number of actuators involved in the transformation chain. Today humanoid<br />

robots have the probably most complex tf tree. However, the challenges are the same as for the third<br />

use-case, where a sensor mounted on an arm is considered. Thus these use-cases are a representative<br />

subset for the use of transformations in a robotic system.<br />

Each of the use-cases contains a description of the use-case and a summary of the most important<br />

challenges occurring in this use-case. Based on these challenges the requirements for this work are<br />

derived in Section 4.2.<br />

4.1.1 Collision Avoidance in 2D<br />

One task every robot has to fulfill is collision avoidance. Therefore most robots are equipped with<br />

a planar laser scanner, like shown in Figure 4.2(a). This laser ranger is mounted at a fix position on<br />

the robot. In a component-based system, there are typically three components involved (see Figure<br />

4.1). The base component is responsible for controlling the robot base, the laser component which<br />

publishes the newest laser scan and a collision avoidance component subscribing for laser scans. The<br />

latter component calculates the next collision free steering command for the base component based<br />

on the given sensor data.<br />

To calculate the next steering command the current laser scan, which of course is captured in<br />

the laser_frame, has to be transformed into the base_frame. This transformation is necessary<br />

because the steering commands are always relative to the base_frame. As shown in Figure 4.2(b)<br />

the tf tree for this case is a very simple one. The tree has only two nodes, namely the base_frame<br />

19

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!