trick/trick_sims/SIM_wheelbot
2017-07-28 20:49:42 -05:00
..
images Update README and various other tweaks to SIM_wheelbot 2016-03-03 13:22:37 -06:00
models Remove deprecated dynamic exception specifiers. 2017-07-28 20:49:42 -05:00
Modified_data Update README and various other tweaks to SIM_wheelbot 2016-03-03 13:22:37 -06:00
RUN_test Update README and various other tweaks to SIM_wheelbot 2016-03-03 13:22:37 -06:00
README.md Fix minor typo in SIM_wheelbot README.md 2017-05-11 17:24:45 -05:00
S_define Fixes #185 Add SIM_wheelbot 2016-02-18 16:14:44 -06:00
S_overrides.mk Move the Wheelbot models to the SIM_wheelbot directory 2016-02-22 11:59:11 -06:00

SIM_wheelbot


SIM_wheelbot is a simulation of a two-wheeled electric vehicle that follows a set of waypoints.

Picture of Vehicle

Building the Simulation

In the SIM_wheelbot directory, type trick-CP to build the simulation executable. When it's complete, you should see:

=== Simulation make complete ===

Now cd into models/Graphics/ and type make. This builds the display client for the simulation.

Running the Simulation

In the SIM_wheelbot directory:

% S_main_*.exe RUN_test/input.py

Inputs

Variable Type Units Default Value
veh.vehicle.distanceBetweenWheels double m 0.183
veh.vehicle.wheelRadius double m 0.045
veh.vehicle.wheelSpeedLimit double r/s 8.880
veh.vehicle.headingRateLimit double r/s 𝛑/4
veh.vehicle.wheelDragConstant double -- 1.875
veh.vehicle.corningStiffness double -- 10.0
veh.vehicle.slowDownDistance double -- 0.5
veh.vehicle.arrivalDistance double -- 0.1

Picture of Vehicle

Adding Waypoints

Waypoints, for the vehicle to follow, are added with a call to

veh.vehicle.add_waypoint( double N, double W )

Input/Output

Variable Type Units
veh.vehicle.position double[2] m
veh.vehicle.velocity double[2] m
veh.vehicle.heading double r
veh.vehicle.headingRate double r

Outputs

Variable Type Units
veh.vehicle.acceleration double[2] m
veh.vehicle.headingAccel double r
veh.vehicle.driveForce double[2] N
veh.vehicle.lateralTireForce double[2] N
veh.vehicle.rollingResistForce double[2] N
veh.vehicle.forceTotal double[2] N
veh.vehicle.vehicleZTorque double N*m