1. Load required plugins dynamically at runtime based on configuration 2. Support loading different plugin combinations for different scenarios 3. Easy to integrate other middlewares, applicable to more robots