Skip to content
General Intelligence Labs ↗︎

GI EGO1GS

Head-worn stereo headset: colour global-shutter cameras, 9-DoF IMU, stereo audio

GI EGO1GS on a mannequin head, front view
Photo: General Intelligence Labs, GI EGO1GS product page ↗︎
Cameras
Dual 1080p, 30 fps, colourMaker ↗︎
Shutter
GlobalMaker ↗︎
Field of view
Calibrated cam0 past the fit × 84°, cam1 ~162° × 85°Measured
157° × 84°Maker ↗︎
Baseline
63 mmMaker ↗︎
IMU
9-DoF, 400 HzMaker ↗︎
Output
One .mcap file, H.265Maker ↗︎

Maker values checked 2026-11-03 · 2 recordings, 30.1 s each · CC BY-NC 4.0 · ~ marks a value read past where the board corners reached. Past the fit: the edge lies beyond where the lens fit holds, so we give no value.

Two 30-second recordings of an AprilGrid, solved with MVIS for camera, IMU and time offsets.

The 3D scene MVIS recovered from recording 2. Everything except the board is blurred.
Reprojection median0.13 px
cam0–cam1 baseline62.1 mm
cam0 td−0.44 ms
cam0 lever arm31.8 mm

Reprojection is how far, in pixels, the detected corners lie from where the solve puts them. td is the camera–IMU time offset, and the lever arm is the camera–IMU position offset.

No independent reference. These values show what MVIS solved, not how close they are to the truth.

The path of the rig around the board, as MVIS solved it. To explore it:

  • Press Play or drag the bar to follow the path.
  • Use the view buttons to change the view.
  • Pick a camera card to put that camera on the frustum, the pyramid that shows its view.

Each card draws the board from the solved pose, with the corners MVIS detected. We publish no camera images.

The solved rig in 3D, to scale. Tap a sensor to see its values. In full screen you can rotate and zoom. Grid squares are 20 mm.

To scale, from above and the front

From above
ycam0cam131.8 mm53.7 mmbaseline 62.1 mm20 mm
From the front
xycam0cam120 mm

Dashed: past the fit, drawn to the corners' reach, so the lens sees at least this much.

CameraLever x, y, z (mm)Distance (mm)log(R) (rad)td (ms)Field of view
cam0+19.3, −16.1, −19.531.8[−2.203, +2.234, −0.014]−0.44past the fit × 84°
cam1+20.1, +46.0, −19.153.7[−2.195, +2.211, −0.042]−0.39~162° × 85°

Solved by MVIS. Lever arms (camera–IMU position offsets) are in the IMU frame. Rotation is log(R), camera in the IMU frame.

Published by the maker
AudioStereo, dual microphones ↗︎
SynchronizationAll four streams on one hardware clock ↗︎
StorageMicroSD, 128 GB card included ↗︎
ConnectivityWi-Fi and USB ↗︎
PowerUSB power bank; 12 to 16 hours on 10,000 mAh ↗︎
WeightAbout 200 g, headset only ↗︎
Measured in this recording
IMU rate470.9 Hz
Maker
CompanyGeneral Intelligence Labs, San Francisco
Not published
PartsSensor part numbers, lens model
Measured in these recordings
Calibrated field of viewcam0 past the fit × 84° · cam1 ~162° × 85°
Recording 12026-07-23, 30.1 s. Frames kept: cam0 821 of 894, cam1 744 of 890
Recording 22026-07-24, 30.1 s. Frames kept: 895 of 899 on each camera
FramesEverything except the board is blurred
FormatMCAP, H.265, 61 MB
BoardAprilGrid 6×6, tag 35.2 mm, spacing 0.3
Bags, configs and resultsCalibench community, gi-ego1gs/ (access by automatic approval)
LicenceCC BY-NC 4.0, for the data and for this page's clip and figures; commercial use by request
HostedCalibench, gilabs-examples/ (access by automatic approval)
AprilGrid 6 × 6, 264 × 264 mm. Standard pattern, to scale
Lens Calibrated field of view

Calibrated field of view, horizontal × vertical. cam0: past the fit × 84°, corners reach 54° from the axis · cam1: ~162° × 85°, corners reach 59° from the axis

0°15°30°45°60°75°90°0.00.40.81.21.6Ray angle from the optical axisImage radius / f

cam0 cam1

We read these from the calibrated lens fit at the image edges, through the principal point (where the optical axis meets the image). ~ marks an axis past where the corners reached, so the fit is extrapolated there. Past the fit means an edge lies beyond where the fit holds, so we give no value.

IMU Gyro–accel time offset t_ga +4.83 ms

Each bar shows a scale as its deviation from 1. IMU model: calyx. t_ga, the time offset between the gyroscope and accelerometer channels: +4.83 ± 0.68 ms.

Gyro scale x+0.51 %
Gyro scale y+0.40 %
Gyro scale z+0.33 %
Accel scale x+0.28 %
Accel scale y−0.04 %
Accel scale z−0.33 %
−8 %0+8 %
Timing cam0 td −0.44 ms

The time offsets, to scale. td is the camera–IMU time offset, with t_imu = t_cam + td.

-10 ms-5 ms+0 ms+5 ms+10 mscam0 td−0.44cam1 td−0.39t_ga+4.83
Full results Every solved parameter

Rotation is log(R) in rad, camera in the IMU frame.

ParameterMVIS
cam0
fx px747.80
fy px747.74
cx px979.00
cy px489.63
k1−0.02578
k2−0.02985
k30.04783
k4−0.02606
Lever x mm+19.33
Lever y mm−16.08
Lever z mm−19.46
log(R) rad[−2.2027, +2.2341, −0.0143]
td ms−0.442
Reprojection px0.147
cam1
fx px745.68
fy px745.57
cx px964.95
cy px479.70
k1−0.03016
k2−0.01226
k30.01431
k4−0.00594
Lever x mm+20.11
Lever y mm+45.99
Lever z mm−19.15
log(R) rad[−2.1953, +2.2107, −0.0421]
td ms−0.387
Reprojection px0.260
IMU
t_ga ms+4.83 ± 0.68
  • No independent reference. These values show what MVIS solved, not how close they are to the truth.
  • Recording 1 lost frames on both cameras at decode, so it has gaps.
  • Both recordings are solved from the blurred video. Blurring moved the lever arm by less than 0.1 mm.
  • Recording converted to EuRoC layout, camera-only solve per camera, then camera + IMU with camera intrinsics free and t_ga estimated. Batch of 2026-11-03.
  • sha256 of the recording: 54ce767a06ae0a6c9ab1acb73924a0c243928470f35ac7be36d19215514cea89