Modeling a three-wheeled vehicle using Vehicle Dynamics Blockset

60 views (last 30 days)
As part of a project, I've been trying to model in simulink a complete vehicle model of a three-wheeled vehicle (like the Polaris Slingshot) but with an electric motor. I've studied and modeled some of the subsystems myself from scratch, like the body dynamical equations, steering and wheel/tire dynamics, but I've realized that continuing in this path will become very time consuming, so I've turned to simulink packages to speed up the process.
I've been trying out the Vehicle Dynamics Blockset, since it seems to be a very complete package, and studying how it all fits together. Right now I'm working with the 3DOF Vehicle Body, changing the parameters and seeing its effects. However, one major headache I've reached is that this block is seemingly locked to a four wheel vehicle with two axles. To accomodate my project I need to have two wheels in the front and one in the rear, I've read the documentation page top to bottom several times and although there are two variables that seem to vary the number of wheels (NF - Front wheel count / NR - Rear wheel count, on the longitudinal parameters section of the block), these don't actually change the dynamical equations. They seem to merely affect the weight distribution calculation on the wheels, which itself doesn't make a lot of sense because I can choose, for example, three front wheels and one rear wheel and the block will always compute two vertical loads for the front and rear axles.
Right now I'm at a crossroad: either I continue working with the Vehicle Dynamics Blockset and try to bootleg my way around this; try to make from scratch a block that implements only the dynamical equations with the required changes, and try to integrate it with the rest of the blockset; or use another simulink package.
On my research I've found that the Simscape Driveline library also seems to be capable of modeling vehicle dynamics, but since I've never worked with that one before I don't know if it's worth the time investment compared to staying with the VDB.
I would very much appreciate the opinion of more knowledgeable individuals on how I should procced with this matter!
PS: Currently I'm using matlab version R2019a but I'll soon upgrade to R2022a

Answers (2)

Steve Miller
Steve Miller on 28 Mar 2022
Hi João,
I think it depends on what effects you wish to model. The block you have identified in Vehicle Dynamics Blockset has 3 degrees of freedom - longitudinal, lateral, and yaw. This is limits what the model can actually represent. Per the documentation, "when vehicle pitch, roll, and vertical motion are not significant."
Simscape Driveline has a Vehicle Body block. It permits longitudinal and pitch motion, but no lateral motion. It is good for powertrain studies and longitudinal dynamics, but it does not cover lateral dynamics.
If you want true flexibility for your 3-wheeled vehicle model, you should consider Simscape Multibody. You can model any kind of vehicle with any number of wheels on any axle. You will need to assemble the chassis and suspension yourself, but there are plenty of examples to start from.
I think it would be worth your time to at least learn the basics of Simscape and Simscape Multibody. You can get started with the Simscape Onramp.
Some examples for vehicle modeling with Simscape Multibody:
  1. In R2021b, we provide example Vehicle Dynamics - Car with Heave and Roll (sm_car_heave_roll). Though this is a four-wheel vehicle, you could look at the model and modify one of the suspension to remove a wheel. It shows how to use the Magic Formula Tire Force and Torque.
  2. This tutorial shows how to model a four-wheeled toy car: Model Wheel Contact in a Car. It shows the basics of assembling components in Simscape Multibody. The ground contact model is not representative of tire dynamics, but it does show you how to get started with this type of modeling.
  3. This example model shows how to model multi-link suspensions in Simscape Multibody Full Vehicle on Four Post Testrig (sm_car_4post_testrig)
  4. The Simscape Vehicle Templates contains a very elaborate set of examples covering 4, 6, 10, and 18-wheeled vehicles with trailers. These models are maintained for releases R2018b through the current release. It is much more than you need, but you may find pieces in there that you can reuse, such as a sensor to model roll, pitch, and yaw, and methods for following racetracks.
--Steve
  2 Comments
Bogdan Bodnarescu
Bogdan Bodnarescu on 24 May 2022
Hello, I have a similar question so I will also attach it here.
I just discovered the example for the 3 axle Truck and Trailer.
I want to simulate a Trailer that can generate Torque on one of the Axles differently for each side, and to see the effects of these torques on the Truck Trailer assembly in different situations.
Would this be possible if I start from the Examples, and what should I basicaly modify in this case?
Thanks in advance!
Jason Rodgers
Jason Rodgers ongeveer 21 uur ago
Edited: Jason Rodgers ongeveer 21 uur ago
This can be done by changing the axle forces that are input into the trailer block from that example. These are a vectors of 0's by default for the trailer and non-zero in the tractor. Looking at the tractor axle force input should give some hints on how to structure the trailer axle inputs.

Sign in to comment.


Jason Rodgers
Jason Rodgers ongeveer 21 uur ago
The 3DOF block from Vehicle Dynamics Blockset can be used to approximate a 3 wheeled vehicle if using the dual track variant. Once this is selected the track width for the front and rear axles can be set since the input for this can be a vector. If you set the rear track width to near zero (zero might throw an error) then the 3-wheel motion can be modeled. Where this approach lacks are if the body rolls which changes the cg and suspension characteristics. Some of this can be captured by using a model generated from the virtual vehicle composer app (virtual vehicle) and updating the parameters accordingly.
As pointed out by Steve in the previous comment, Simscape Multibody is also a solution to be considered especially if you are working on designing the characteristics of the suspension.

Categories

Find more on Vehicle Scenarios in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!