Car Simulation for Radar
Posted: Mon Sep 24, 2018 3:37 pm
Hi,
I am a beginner user of Bullet Physics and have found it very useful. Currently I am working in the field of radar signal processing and would like to generate a radar signal using a car simulation. My Requirement is as follows:
-World coordinate Positions of the following:
4 points on the car (Wheel Axle ends) and 2 points fixed to the rim of the car as the car moves.
-I need high numerical precision, it needn't run real-time.
My approach:
1). I have build my code on top of the differential_car notebook example.
2). Two points are attached at a fixed distance - wheel radius r from the origin of the inertial coordinate system of the axles of my car.
3). I have scaled the car model 10 times to get the size of a real car
4). The mass of the base is set to 300 kg with the other parts of the car being scaled 10 times their original mass
5). Real time Processing is switched off, The time step of the physics engine is set to be 1/1000 of a second.
6). I apply a force to the motors of the car using TORQUE_CONTROL mode and get the car accelerating from the origin along X axis.
7). Using getLinkState(car,track,1,1)[4] I get the position of the axle ends which is also the origin of my inertial coordinate system
. Using getLinkState(car,track,1,1)[5] I get the orientation of the axle ends coordinate system.
9). I move the points on the wheel to the origin using 7). and rotate them using
. and again using 7). I translate it back. This way I get the world coordinates of the points on the wheels.
This approach however is not giving me expected plots of position and velocity. For points on the wheel rim, they should follow a cycloid (https://en.wikipedia.org/wiki/Cycloid). The speed should change from 0 to 2v m/s where v is the translational velocity of the the car as it moves. However Neither of these plots are as expected. Does anyone have a simpler approach?
thanks for your time!
I am a beginner user of Bullet Physics and have found it very useful. Currently I am working in the field of radar signal processing and would like to generate a radar signal using a car simulation. My Requirement is as follows:
-World coordinate Positions of the following:
4 points on the car (Wheel Axle ends) and 2 points fixed to the rim of the car as the car moves.
-I need high numerical precision, it needn't run real-time.
My approach:
1). I have build my code on top of the differential_car notebook example.
2). Two points are attached at a fixed distance - wheel radius r from the origin of the inertial coordinate system of the axles of my car.
3). I have scaled the car model 10 times to get the size of a real car
4). The mass of the base is set to 300 kg with the other parts of the car being scaled 10 times their original mass
5). Real time Processing is switched off, The time step of the physics engine is set to be 1/1000 of a second.
6). I apply a force to the motors of the car using TORQUE_CONTROL mode and get the car accelerating from the origin along X axis.
7). Using getLinkState(car,track,1,1)[4] I get the position of the axle ends which is also the origin of my inertial coordinate system
9). I move the points on the wheel to the origin using 7). and rotate them using
This approach however is not giving me expected plots of position and velocity. For points on the wheel rim, they should follow a cycloid (https://en.wikipedia.org/wiki/Cycloid). The speed should change from 0 to 2v m/s where v is the translational velocity of the the car as it moves. However Neither of these plots are as expected. Does anyone have a simpler approach?
thanks for your time!