ark::ins
Typedefs
Defined in “ark/ins/anello/anello_parser.hh”:
- using AnelloParsedPacket = std::variant< AnelloGpsMessage, AnelloImuMessage, AnelloInsMessage, AnelloSerialNumber, AnelloVersion, AnelloProductIdentifier >
This is a variant including the various messages that the Anello parser can produce.
Defined in “ark/ins/novatel/novatel_parser.hh”:
- using NovatelParsedPacket = std::variant< gps::GpsFix, gps::UtmFix, ins::BodyVelocity, ins::BodyEulerOrientation >
A variant containing potential packets that the Novatel Parser can produce.
Defined in “ark/ins/swift/swift_parser.hh”:
- using SwiftParsedPacketPayload = std::variant< gps::GpsFix, imu::RawImuData, ins::EcefVelocity, ins::LocalNedVelocity, ins::BodyVelocity, ins::BodyEulerOrientation, ins::GeodeticCoordinate, ins::BaselineSolutionNed, SwiftLoggerMessage >
A variant containing potential packets that the Swift Parser can produce.
Variables
Defined in “ark/ins/novatel/wire.hh”:
-
constexpr uint8_t NOVATEL_SYNC_BYTE_1= 0xaa
First Novatel sync byte. -
constexpr uint8_t NOVATEL_SYNC_BYTE_2= 0x44
Second Novatel sync byte. -
constexpr uint8_t NOVATEL_SYNC_BYTE_3= 0x12
Third Novatel sync byte.
Defined in “ark/ins/swift/stages/swift_interface_stage.hh”:
-
struct ark::ins::SwiftPublisherSet __attribute__
A decoded GPS time message, from the Swift. Represents the time since the GPS epoch began; the week begins at the Saturday/Sunday transition.A system-heartbeat message, sent to indicate the overall health of the system. The offset to translate from local time to GPS time for messages tagged as such. The baseline between 2 Swift devices. This contains the relative vector distance from the base station to the rover receiver with the NED coordinate system definde by the local WGS84 tangent plane centerd at the base station. Absolute geodetic coordinates and status (best available) with covariances See fix mode for the values. The orientation of the device, in vehicle body frame. The rotations should be applied intrinsically in the order yaw, pitch, and roll in order to rotate the from a frame aligned with the local-level NED frame to the vehicle body frame. The velocity in vehicle body frame. The x-axis points at the nose of the vehicle, y-axis points to the right-hand side, and z-axis points downward. The velocity in local NED (north/east/down) coordinate. This frame is defined as the local WGS84 tangent plane, centered on the current location. The velocity in ECEF coordinate frame. A log message (ASCII text) coming from the device. Absolute geodetic coordinates and status (best available). See fix mode for the values. This structure contains configuration information about the IMU. It is necessary to fully decode SwiftMsgImuRaw packets. Raw data from the IMU, containing accelerometer and gyroscope readings. The sense of measurements are aligned with the indications on the device itself. Reports UTC time. The flags indicate the source of the offset value and fix. Measurement units come from the MSG_IMU_AUX.
Defined in “ark/ins/swift/swift_packets.hh”:
-
constexpr uint16_t SwiftMsgGpsTimeId= 0x0102
-
constexpr uint16_t SwiftMsgUtcTimeId= 0x0103
-
constexpr uint16_t SwiftMsgImuRawId= 0x0900
-
constexpr uint16_t SwiftMsgImuAuxId= 0x0901
-
constexpr uint16_t SwiftMsgPosLlhId= 0x020a
-
constexpr uint16_t SwiftMsgLogId= 0x0401
-
constexpr uint16_t SwiftMsgVelEcefId= 0x020d
-
constexpr uint16_t SwiftMsgVelNedId= 0x020e
-
constexpr uint16_t SwiftMsgVelBodyId= 0x0213
-
constexpr uint16_t SwiftMsgOrientEulerId= 0x0221
-
constexpr uint16_t SwiftMsgPosLlhCovId= 0x0211
-
constexpr uint16_t SwiftMsgBaselineNedId= 0x020c
-
constexpr uint16_t SwiftMsgGnssTimeOffsetId= 0xff07
-
constexpr uint16_t SwiftMsgHeartbeatId= 0xffff
Classes
-
ark::ins::AnelloInterfaceStage
This stage provides an interface for receiving Anello GPS/IMU/INS packets. Assumes this is being communicated with via two different UDP socket stages (one in the ‘data’ namespace and one in the ‘config’ namespace). -
ark::ins::NovatelInterfaceStage
This stage essentially wraps the NovatelParser, providing an interface for producing GPS, IMU, and INS data to the rest of the stack. -
ark::ins::NovatelParser
A class that can parse an incoming data stream coming from the Novatel INS devices, producing some number of packets (containing GPS, IMU, etc) data. -
ark::ins::SwiftInterfaceStage
This stage essentially wraps the SwiftParser, providing an interface for producing GPS, IMU, and INS data to the rest of the stack. -
ark::ins::SwiftProtocolParser
This class consumes TCP packet groups and parses them out into Swift Protocol messages, so that you can parse GPS messages. -
ark::ins::NovatelMessageBestGPSVEL
Format for the ‘best GPSVEL’ message. -
ark::ins::NovatelMessageBestUTM
Format for the ‘best UTM’ message. -
ark::ins::NovatelMessageCORRIMUDATA
Format for the ‘CORRIMUDATA’ message. -
ark::ins::NovatelMessageHeader
“Long form” Novatel message header. This is packed and setup as it would be in the protocol itself. -
ark::ins::NovatelMessageHeading
Format for the ‘heading’ message. -
ark::ins::NovatelMessageINSPVAX
Format for the ‘INSPVAX’ message. -
ark::ins::SwiftDeviceConfiguration
Configuration for the Swift device, as computed from messages. -
ark::ins::SwiftLoggerMessage
A logging message coming from the Swift device. -
ark::ins::SwiftParsedPacket
Contains packets with and without the INS bit set. -
ark::ins::SwiftPublisherSet
The swift has two message streams, one with the INS active, and one without. This allows us to group together publishers in either one.
Functions
Declared in “ark/ins/anello/anello_parser.hh”:
-
AnelloParsedPacket parse_ascii_anello_message(const std::string_view & buffer)
Parses the given ASCII message, returning the Anello message that it contains (or throwing if there is some error). -
std::string make_ascii_anello_config_request(const std::string_view & message_id)
Creates an ASCII request packet for configuration messages.
Declared in “ark/ins/novatel/wire.hh”:
-
struct ark::ins::NovatelMessageHeader __attribute__()
The header on packats that are in a VLAN.The framing information for each individual packet.
Declared in “ark/ins/swift/swift_packets.hh”:
-
struct __attribute__()
The header of a Swift message.A system-heartbeat message, sent to indicate the overall health of the system. The offset to translate from local time to GPS time for messages tagged as such. The baseline between 2 Swift devices. This contains the relative vector distance from the base station to the rover receiver with the NED coordinate system definde by the local WGS84 tangent plane centerd at the base station. Absolute geodetic coordinates and status (best available) with covariances See fix mode for the values. The orientation of the device, in vehicle body frame. The rotations should be applied intrinsically in the order yaw, pitch, and roll in order to rotate the from a frame aligned with the local-level NED frame to the vehicle body frame. The velocity in vehicle body frame. The x-axis points at the nose of the vehicle, y-axis points to the right-hand side, and z-axis points downward. The velocity in local NED (north/east/down) coordinate. This frame is defined as the local WGS84 tangent plane, centered on the current location. The velocity in ECEF coordinate frame. A log message (ASCII text) coming from the device. Absolute geodetic coordinates and status (best available). See fix mode for the values. This structure contains configuration information about the IMU. It is necessary to fully decode SwiftMsgImuRaw packets. Raw data from the IMU, containing accelerometer and gyroscope readings. The sense of measurements are aligned with the indications on the device itself. Reports UTC time. The flags indicate the source of the offset value and fix. A decoded GPS time message, from the Swift. Represents the time since the GPS epoch began; the week begins at the Saturday/Sunday transition. Measurement units come from the MSG_IMU_AUX.