Vehicle Limits and Simulation
This page summarizes what a muCar can physically do and how the simulation differs from a real vehicle. Use these values to design paths and trajectories the vehicles can follow.
Note
The values in the first table belong to the vehicle model that the vehicle controller and the simulation use. The dimensions of the current muCar 2.1 hardware are listed in muCar; its body of 0.25 m x 0.125 m is the footprint the evaluation uses.
Vehicle
Property |
Value |
|---|---|
Body length x width |
0.22 m x 0.107 m |
Reference point of the pose |
Center of the vehicle |
Steering |
Ackermann steering, four-wheel drive |
Minimum turning radius |
about 0.24 m (curvature about 4.1 1/m) |
Top speed |
about 4 m/s with full battery, see below |
Battery |
2S LiPo, 8.2 V full, 7.4 V at 50 %, 7.3 V at 12 % (warning below 50 %, error below 12 %) |
The evaluation uses a slightly larger footprint of 0.25 m x 0.125 m to include a safety margin, and the central routing planner plans with 0.30 m x 0.11 m.
Recommended Limits for Planners
The vehicles can drive much faster than is sensible on the small lab track. The built-in planners use the following limits, which are a good starting point:
Limit |
Central routing |
SFB planner |
|---|---|---|
Maximum speed |
1.5 m/s |
1.5 m/s |
Acceleration |
0.8 m/s² |
0.5 m/s² |
Deceleration |
0.8 m/s² |
1.0 m/s² |
Lateral acceleration |
3.0 m/s² |
– |
Safety distance between vehicles |
– |
0.8 m |
For your first experiments with real vehicles, stay below 1 m/s. The lateral acceleration limit determines the
maximum speed in a curve: v_max = sqrt(a_lat / curvature), e.g. about 1.2 m/s in a curve with 0.5 m radius at
3 m/s².
Speed limits in the maps are real-world km/h values; divide them by 18 * 3.6 to get lab m/s, see
Lanelet2 Maps.
Vehicle Model
Both the simulation and the trajectory controller use a vehicle model identified from measurements of the muCars. It is a kinematic bicycle model with empirical corrections:
with position \(x, y\), yaw \(\psi\), speed \(v\), battery voltage \(U\), motor throttle \(f\) and
steering \(\delta = \text{steering\_servo} + p_9\). The parameters are defined in vehicle_model.cpp of
cpm_lab_mid_level_controller.
Consequences for planning:
The steady-state speed depends on the throttle and the battery voltage, e.g. about 0.9 m/s at throttle 0.3 and 1.8 m/s at throttle 0.5 with a full battery. The speed controllers compensate this, but a low battery reduces the maximum speed and acceleration.
Without throttle the vehicle slows down by itself; there is no separate brake model.
The steering responds with a delay of about 80 ms.
Simulation
A simulated vehicle runs the same vehicle controller as a real muCar, so commands, timing and stop behavior are identical. The simulation adds:
an input delay of 80 ms on throttle and steering,
a simulated IPS with ±2 mm position noise, about 60 ms latency and 5 % dropped measurements,
a small drift of the simulated IMU yaw.
The simulation does not model:
collisions between vehicles or with the track boundaries,
tire slip and dynamics beyond the vehicle model,
battery discharge (the battery stays at 7.8 V),
network latency and message loss between planner, bridge and vehicles,
loss of the IPS, e.g. when a vehicle leaves the camera view or is misidentified,
the throttle dead band of the real motor.
Expect a planner that works in simulation to behave differently on the real track, and plan with margins. See Experiments with Real Vehicles.