  Visual inertial odometry (VIO) is widely used for the state estimation of
multicopters, but it may function poorly in environments with few visual
features or in overly aggressive flights. In this work, we propose a
perception-aware collision avoidance trajectory planner for multicopters, that
may be used with any feature-based VIO algorithm. Our approach is able to fly
the vehicle to a goal position at fast speed, avoiding obstacles in an unknown
stationary environment while achieving good VIO state estimation accuracy. The
proposed planner samples a group of minimum jerk trajectories and finds
collision-free trajectories among them, which are then evaluated based on their
speed to the goal and perception quality. Both the motion blur of features and
their locations are considered for the perception quality. Our novel
consideration of the motion blur of features enables automatic adaptation of
the trajectory's aggressiveness under environments with different light levels.
The best trajectory from the evaluation is tracked by the vehicle and is
updated in a receding horizon manner when new images are received from the
camera. Only generic assumptions about the VIO are made, so that the planner
may be used with various existing systems. The proposed method can run in
real-time on a small embedded computer on board. We validated the effectiveness
of our proposed approach through experiments in both indoor and outdoor
environments. Compared to a perception-agnostic planner, the proposed planner
kept more features in the camera's view and made the flight less aggressive,
making the VIO more accurate. It also reduced VIO failures, which occurred for
the perception-agnostic planner but not for the proposed planner. The ability
of the proposed planner to fly through dense obstacles was also validated. The
experiment video can be found at https://youtu.be/qO3LZIrpwtQ.
