Open EinfachToll opened 3 years ago
This is probably a bug but might not be able to fix. Running at 0.1 runs against logic running in fixed update for physics. We will look into it to see if we can find a solution. Curious, why are you running at such a small interval? What's the use case to check data every 0.1 seconds?
Hello, thank you for your reply.
Use Case: Creation of corner case scenarios for an perception software that creates an environmental model. That is, the sensor data and reference data are of interest for us. Those corner case scenarios require precise control over ego and NPCs.
The Python API provides that high precision controllability of the ego and the NPCs. To gather the sensor output data with a realistic update rate, the simulation is started, stopped, sensor outputs are read, simulation is re-started, ... in that small time interval.
The mentioned unexpected behavior jeopardizes the approach and we are looking for a workaround. As an alternative, we see defining the scenario - including way points for the NPCs - in the Visual Editor, control the ego via ROS2 and gather the sensor data via ROS2. The most critical known unknown is how to steer / control the ego with high precision, i.e., with pre-defined commands that are fired at defined time stamps or whether it is necessary to implement a kind of control circuit to steer the ego via ROS2.
Thanks for the clarification, this helps. Tagging @lemketron and @hadiTab to see if they have any ideas on how to best accomplish the goals.
My setup:
simulation.run(time_limit=0.1)
Observation:
simulation.run(time_limit=5)
, the speed seems to be correctfollow_closest_lane
instead of using waypoints, but I'm not 100% sureBelow is a kind-of minimal example. The bike rides past a range of traffic cones. The speeds on the waypoints are set so that the last cone should be reached at 17s. In fact, this works when
time_limit=5
, but when I dotime_limit=0.1
, the bike approaches the last cone already at around 9s.