-1

In one of my previous questions about WeBots I asked which vehicle model is implemented. Apparently the Ackerman vehicle dynamics is used. Could anyone give me a reference that has/explain this model?

My second question is somewhat more practical. I would like to start the simulation with the vehicle having a predefined velocity. How can I do that? I do not know any field name that allows me to do it.

Can I change the maximal acceleration and minimal deceleration? Currently I am using only setCruisingSpeed to send velocity commands, even if I have to break. I believe that the time0to100 is used to calculate the maximal acceleration (which is applied uniformly), is it the same for deceleration?

Thanks

Nelson
  • 67
  • 5

1 Answers1

1

The documentation about the Webots ackermann vehicle can be found here: https://www.cyberbotics.com/doc/automobile/ackermannvehicle Additionally, you can easily find information about the ackermann steering geometry on google, e.g.: https://en.wikipedia.org/wiki/Ackermann_steering_geometry

About the initial speed, the simplest solution is to make the vehicle drive at the desired speed and then save the simulation. However, this is not recommended, starting a simulation in Webots with non-zero speed can lead to physic instabilities.

About the maximum acceleration and deceleration, if you are only using cruising control (and not throttle/torque control) yes, the time0to100 is used to compute the maximum uniform acceleration/deceleration.

David Mansolino
  • 1,713
  • 7
  • 13
  • I'm trying to simulate how an AV should react when another user does executed an non-predicted action, thus I wanted to start the simulation in an specific time point. But I think that just changing the other road user behavior without predicting beforehand will be enough. Thanks for the help. – Nelson Sep 06 '19 at 06:59
  • Unrelated question: is there a way to recover the velocity vector from a pedestrian, like using getVelocity() with vehicles? – Nelson Sep 06 '19 at 13:20
  • 1
    The simplest solution is to use the Supervisor API, with this API you can retrieve the velocities of any node in the scene (including the Supervisor node itself): https://cyberbotics.com/doc/reference/supervisor#wb_supervisor_node_get_velocity – David Mansolino Sep 09 '19 at 06:23