huawei-noah / SMARTS

Scalable Multi-Agent RL Training School for Autonomous Driving
MIT License
925 stars 186 forks source link

Scalability Requirements for Agents #1363

Open sah-huawei opened 2 years ago

sah-huawei commented 2 years ago

We've received a request from @zbzhu99 and his associated team for SMARTS to support the simultaneous hijacking of a great many (over 1000) vehicles from a traffic history dataset (NGSIM) for control with a model (potentially trained using Imitation Learning), perhaps in a manner similar to what is done in our [examples/history_vehicles_replacement_for_imitation_learning.py] example.

This issue aims to clarify the requirements of their use case. Below are some questions whose answers will help us to determine the scope of the work.

sah-huawei commented 2 years ago

I got this reply via email from @zbzhu99:

Thank you for dealing with our request. First I want to clarify that in NGSIM I-80 dataset, there are at most 200-300 vehicles simultaneously appear on the road. Hijacking over 1000 vehicles is not needed for now. For detailed requirements, in general we do not need complex physical modeling. • For the observation, neighborhood vehicle detection and ego speed, position, heading is needed. Visual information from cameras is optional. The "imitation" action space is needed. • Collision detection is required. I do not know the specific details about the inertial properties of the vehicles and how they influence the control process in SMARTS, so that I am not sure of whether they are needed. Traction/friction of tires is unnecessary. • Box chassis is okay. • We want to hijack Trucks or Cycles in the (NGSIM) dataset, and they should have different size when we control them. • For envision replay, the ability to record a simulation run and watch it is required. The ability of real-time replay is preferred. I don't quite understand what conditional on simulation state means, and maybe you can explain in more detail?

sah-huawei commented 2 years ago

Note: given that they are using the Imitation action space, they are already using Box chassis (and so there won't be substantial additional improvements by bypassing pybullet -- there may be still be some, so we should experiment with it).

We will need to add the ability to hijack cycles and trucks -- we don't currently support this. Issue #1369 will track this.

Issues #1356, #1361 and #1366 track what is needed for Envision.