Pose Engine
Pose Engine is perception-based localization software that generates 6DoF motion and pose estimates from sensor data. It does not require GNSS or an INS and works with lidars and/or cameras as the primary localization sensors. Pose Engine also uses IMUs, encoders, and GNSS or INS if provided (which enables pose to be generated in an ECEF coordinate frame).
Pose Engine can be deployed in the cloud as a managed remote service, in a Docker container that runs offline on the system or other server (which does not require sensor data to be sent to MSA), or in a snap container or library that runs online. See Deployment for more info.
Offline: collect and share data, get pose
Using Pose Engine offline is easy:
- Collect sensor data during normal robot operation
- Provide data to Pose Engine: either upload to the Data Portal (remote service) or as a local reference when invoking the Docker container (on-prem)
- Get the pose result
Pose Engine offline results are acausally generated: Pose Engine has access to the full data record and assigns pose at arbitrary timestamps and coordinate frames. Pose Engine can also be configured to generate causal odometry and pose outputs that emulate online operation in an arbitrary coordinate frame.
Online: map, bootstrap, localize
In online mode, Pose Engine runs as a library on the robot. It requires a pre-built map of the operating environment.
- Map the site: collect sensor data throughout the site from one or more robots. Build a map.
- Bootstrap into the map: determine the robot’s initial pose using last known pose, GNSS/INS of any quality, fiducial markers, or the scene itself.
- Localize continuously: receive high-frequency, low-latency 6DoF map-relative pose and odometry in the message format and coordinate frame required by your autonomy stack.
See Mapping and localization for a deeper explanation of the mapping and localization process.
How Pose Engine works
Under the hood, Pose Engine:
- Fuses lidar and/or camera data to build and update a map of the environment
- Localizes the robot within the map using perception sensors plus IMU and/or encoder data
- Generates odometry and map-relative pose at configurable output rates
Consult the FAQ
Consult the FAQ if you have questions. Contact support@mainstreetautonomy.com for more information.