INTRODUCTION Overview Download and Install Quick Start Documentation Publications NONFRAMEWORK CODE Driver Interfaces Drivers Libraries Utilities FRAMEWORK CODE Interfaces Components Libraries Utilities Full Software Listings DEVELOPER Tutorials Examples Dev Guide Dashboard PEOPLE Contributors Users Project Download Mailing lists
|
Orca Units and Coordinate Systems
Units
All inter-component communication is done in S.I. units (Systeme International d'Unites, International System of Units).
All component configuration is done in S.I. units with one exception: angular quantities are configured in degrees rather than radians, because humans generally think better in degrees. This also applies to angular rates, accelerations, etc.
Internally, unless there is a good reason for doing otherwise, S.I. units are used everywhere (including for angular quantities).
All quantities are displayed in S.I. units with one exception: angular quantities are displayed in degrees rather than radians, because humans generally think better in degrees. Coordinate FramesOrca uses a right-handed coordinate system. All angles are defined from -pi to pi, NOT 0 to 2pi.
There are two kinds of coordinate frames (CF): frames that are rooted in a global map, and a platform's local coordinate frame. A global cartesian coordinate frame is shown on the left. Angles are defined anti-clockwise from the x-axis, with zero degrees along the x-axis. The y-axis is at +90 degrees. The z-axis points up. A local cartesian coordinate frame is shown on the right. The x-axis extends forward from a platform or a sensor, with the y-axis out to the left. The z-axis points up. Zero degrees is directly in front, with angles increasing to the left and decreasing to the right.
Commonly, a system with even one platform must consider several coordinate frames: GPS coordinates are in one, coordinates according to a local map are in another, laser returns are in a third one. Multiple platforms add to the complexity. For various reasons (mapping, display) you may need to bring data from different CF's together. When running a system, one must choose an arbitrary CF to be "global", in a sense that all other ones will refer to it. In practice, it is often convenient to pick one existing CF to be global instead of defining an entirely new one. Examples of frames:
The figure above also illustrates two types of robotic sensors:
|
Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)