Object Tracker
Related documentations |
---|
Map Manager |
Tracker Coordinate System |
Visual SLAM Learning Guide |
The Object Tracker loads the map file and renders 3D object on it.
Please refer Visual SLAM Learning Guide to create a map more precisely while scanning 3D space.
Create Instants
Start / Stop Tracker
Use Tracking Information
Set Map
Add / Replace Map
Change Tracking Mode
Create Instants
>ObjectTrackerViewController.mm
- (void)viewDidLoad { ... trackingManager = [[MasTrackerManager alloc] init]; cameraDevice = [[MasCameraDevice alloc] init]; }
Starting / Stopping the Tracker
To start / stop Tracker after loading the map, refer to the following code.
>ObjectTrackerViewController.mm
- (void)resumeAR { ... [trackingManager startTracker:TRACKER_TYPE_OBJECT]; } - (void)pauseAR { [trackingManager stopTracker]; ... }
Use Tracking Information
To use the Tracking information, refer to the following code.
>ObjectTrackerViewController.mm
- (void)glkView:(GLKView *)view drawInRect:(CGRect)rect { ... MasTrackingState *trackingState = [trackingManager updateTrackingState]; MasTrackingResult *result = [trackingState getTrackingResult]; MasTrackedImage *trackedImage = [trackingState getImage]; [backgroundCameraQuad draw:trackedImage projectionMatrix:[cameraDevice getBackgroundPlaneProjectionMatrix]]; glEnable(GL_DEPTH_TEST); matrix_float4x4 projectionMatrix = [cameraDevice getProjectionMatrix]; for (int i = 0; i < [result getCount]; i++) { MasTrackable *trackable = [result getTrackable:i]; [texturedCube setProjectionMatrix:projectionMatrix]; [texturedCube setPoseMatrix:[trackable getPose]]; [texturedCube setTranslation:0.0f y:0.0f z:-0.0005f]; [texturedCube setScale:0.4f y:0.4f z:0.001f]; [texturedCube draw]; } ... }
Set Map
By calling function addTrackerData to register the map file and calling function loadTrackerData, Space can be tracked. To set a map, refer to the following code.
>ObjectTrackerViewController.mm
- (void)startEngine { ... [trackingManager addTrackerData:objectTrackerMapPath]; [trackingManager loadTrackerData]; }
Add / Replace Map
Create a map file refer to Map Manager.
Copy the received map file to the desired path.
If you have an existing map file, call function 'addTrackerData' and function 'loadTrackerData' after calling [trackingManager removeTrackerData]
Change Tracking Mode
2 Tracking Modes of Object Tracker:
JITTER_REDUCTION_ACTIVATION, JITTER_REDUCTION_DEACTIVATION
- JITTER_REDUCTION_ACTIVATION: Default Setting. Jitter reduction.
[trackingManager setTrackingOption: JITTER_REDUCTION_ACTIVATION];
- JITTER_REDUCTION_DEACTIVATION: Disable the jitter reduction option.
[trackingManager setTrackingOption: JITTER_REDUCTION_DEACTIVATION];