ApolloAuto / apollo

An open autonomous driving platform
Apache License 2.0
25.07k stars 9.68k forks source link

Async Fusion vs Probabilistic fusion #5827

Open snuffysasa opened 6 years ago

snuffysasa commented 6 years ago

Can anyone tell me the main differences between the two fusion approaches?

What are the strengths / weaknesses of these two options? Or what kinds of scenarios you would use one over another?

I was examining the properties of a sensor object, specifically position_uncertainty and velocity_uncertainty. And notice these seemed to be only used in the Probabilistic fusion and not in the async fusion.

prcxuying commented 4 years ago

sync fusion: sensors output is synced, fuse action is triggered by main sensor frame or a timer , use sensor frame raw time

async fusion sensors output is not synced, do fuse action when each sensor frame arrived, using current time as sensor object time fusion running more fast and frequently this way.

however, if sensor frames arriving sequence is not as they generated by hardware in physical, such as sensor a frame 1 was generated before sensor b frame1, but arrived after sensor b frame1, which would cause fuse result wrong. Because IMF and KF is running iteratively, only previous state is considered.

So, a better way to do async fusion is using optimize method with a sliding window, such as holding sensor frame for past 1 or 2 seconds. this method can run in realtime and handle the fault of wrong sensor frame arriving sequence