PDF 1.938kB
PDF 1.938kB
PDF 1.938kB
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