Self-driving Planning and Intelligent Decision-making Engine with Reusability
The python package has been released to pypi: https://pypi.org/project/spider-python/.
You are welcome to install it with pip install spider-python
to have a try
and provide valuable suggestions for further development of this project.
The overall framework of the SPIDER planning module, including defining a unified data interface and coarse-grained modular decomposing of the internal procedures of the planner.
A multi-scale tool chain is provided to build a planner by reusing the submodules seamlessly, and some are listed below.
SPIDER tools for building a planner
To have a glimpse of its capability, you can try to launch a demo script of LatticePlanner with
import spider
spider.teaser()
And you shall see how the LatticePlanner(simplified) implemented conveniently with our tools runs in a simple environment.
More demo planners implemented with SPIDER are listed in planner_zoo, in purpose of better understanding of the integration of the tools under different frameworks, and also easy reusing as baseline algorithms for your own research. Here shows another planner which attaches an optimizer to the LatticePlanner:
Significantly, SPIDER provides a set of tools to build data engines and data-driven planners, along with some implementions of the policy learning algorithms including IL and RL. Both log-replay and closed-loop training/testing are easy to be conducted with SPIDER. Here are the examples of testing with GRU-IL and DQN-RL:
GRUPlanner (log-replay testing)
DQNPlanner (closed-loop testing)
SPIDER consists of a planner zoo with the implementation of different kinds of planners to show the support for various algorithms and frameworks. And we also compare the performance of them with the same customized metrics as a benchmark in a simple environment provided by SPIDER, which we call the planner arena. The experiments are conducted for 10 times with random initial states, and the results are shown as follows:
What's more, a unified interface of SPIDER planners contributes to
the easy access, deployment and migration for different environments.
If you have already got highway-env in your environment
which can be installed with pip install highway-env
, you can try another teaser
about how spider gets access to the data interface conveniently and makes it easy to
configure the environment:
from spider.interface.highway_env import HighwayEnvBenchmarkGUI
HighwayEnvBenchmarkGUI.launch()
Also, we provide the support for CARLA simulator which is a more realistic environment for self-driving research.
coming soon...
coming soon...
If you have any questions, please feel free to contact me:
Author: Zelin Qian(钱泽林)
Institution: School of Vehicle and Mobility, Tsinghua University, China
Email: qzl22@mails.tsinghua.edu.cn