RobotEye Coordinate System Definitions
The RobotEye device uses a right-handed (or 'positive') coordinate system fixed to the centre of the 'head' of the RobotEye with the aperture centred on the y axis when the aperture is at zero degrees azimuth and zero degrees elevation. The x axis is constrained to the horizontal plane, and the z axis 'up' with respect to x and y. The aperture angles (usually specified as the 'azimuthAngle' and 'elevationAngle') are angular offsets in azimuth and elevation from the y axis.
The following diagrams summarise the coordinate system used for the RobotEye system.
The RobotEye Coordinate System
The diagram above shows the right-handed frame used for the RobotEye.
The RobotEye Azimuth Reference Surface
The diagram above shows the reference used for the direction of the x axis. The x axis, which is the 'azimuthAngle' zero reference is defined as being perpendicular to the encoder mounting surfaces.
The RobotEye Elevation Reference Surface and Azimuth and Elevation Rotation Sign
The final diagram shows two things;
- The aperture zero elevation angle lies in a plane parallel to the to the RobotEye mounting flange mounting surface.
- The sign of the aperture angles, and angular rates. AzimuthAngle is more positive clockwise when viewed from above, and ElevationAngle is positive upwards.
RobotEye Angle Conventions
The RobotEye library uses the following conventions when dealing with angles.
- Angles passed to the library must be expressed in degrees
- Functions that command the RobotEye to an absolute position will always take the shortest (or acute angle) path from the current location to the new location. i.e. if the RobotEye azimuth angle is currently 179 degrees, and it is commanded to 1 degree, it will only move 2 degrees in azimuth.
- Azimuth angles are defined as -180 -> 180 degrees, where zero is defined as per the RobotEye Coordinate System Definitions.
- Elevation angles must be constrained to the domain -maxElevation -> maxElevation, where maxElevation is typically 35 degrees. This angle can be varied for custom RobotEye devices. Zero degrees elevation is horizontal, as per the definitions given in the RobotEye Coordinate System Definitions.