Skip to content

Environment and Localization

Liani Lye edited this page Dec 17, 2015 · 16 revisions

FINAL SYSTEM

Accurate and precise localization - knowledge of each agent’s position and heading in relation to the world frame - is critical for each agent to successfully calculate and navigate to its destination. To do this, we executed ground-truth localization.

Reconciling Coordinate Frames

Each Neato is outfitted with an upwards-facing camera to track ceiling-mounted fiducials. Six unique fiducials are placed throughout the ~10' by ~14' arena.

arena Top view shot of environment with fiducials overlaid.

The package ar_tools calculates the bot's position and heading by comparing the seen fiducial a library of fiducials. ar_tools was originally configured for a single bot. Our fork reconciles individual agents' coordinate frame tranforms into a single world reference frame, called STAR.

tf frame Modified (current) TF frame.

Camera Calibration

Each Neato's camera is slightly different, in terms of both characterization and mounting. These differences, although seemingly minute, greatly affect localization quality. There were four factors we had to account for: environment, camera thresholding, camera location, and camera tilt.

Environment: The camera optimizes its settings on robot launch. The cameras were spotting ceiling mounted fiducials positioned directly adjacent to bright extremely bright fluorescent lights. This resulted in an image comprised of very bright lights and very dark ceiling tiles, meaning the fidicials, also cast in shadow, were not visible. To counteract this, we would dim the lights before launch, launch the robots, then restore the lights. This resulted in washing out the ceiling tiles.

lights

Camera thresholding: To account for this, the system

camera white balance (thresholding)

positioning

tilt

PROCESS

Before we integrated AR localization of robots in the world frame, we were using the odom frame, computed based on wheel odometry. We had to start all the robots in a line and we were not able to start them in different location.