MATLAB Answers

Simscape Multibody Contact Forces Mecanum Wheels

11 views (last 30 days)
Hi.
I' m trying to develop a simulation model of a 4-wheel omnidirectional vehicle.
I'm using the torque actuation in the revolute joints connecting the wheels with the chassis. A feedback loop with a PI controller in each joint keeps the angular velocity constant. The control works fine with the wheels in the air (no contact with the floor).
But when I let the wheels get in contact with the floor, the angular velocity neasured in the revolute joints shows a lot of 'noise':
The movent of the vehicle on the floor is correct. it moves forward-backward, left-right and CW-CCW as expected but the mesured angular velocity of the wheels is awfull. I'm sure that these disturbances are due to the spatial contact forces. I've tried changing the contact and friction parameters but I can not get rid of the noise.
Find attached the file solids and the simulation model if you want to try it.
Any help will be very appreciated.
Best regards

Accepted Answer

Juan Sagarduy
Juan Sagarduy on 26 May 2021
Hi there
When look at the wheels, it looks like they are made of transversal cylinders on the perimeter. Rolling would be disrupted and discontinuous on the floor. But i can have a quick look if any correction can be made.
Br Juan
  7 Comments
Vicente Casanova
Vicente Casanova on 1 Jun 2021
Hola Juan
Otra vez, gracias por tu ayuda.
He simulado lo que me envias pero no acabo de verlo. En el Nexus05_Discreto.slx va bastante bien pero la lectura de velocidad sigue sin ser como la que se obtiene en el vehiculo real. La velocidad de giro del motor real no puede hacer esos cambios tan bruscos y aunque pudiera el encoder no podria medirlos. Asi que he pensado que lo mejor es filtrar la lectura de los sensores de velocidad y con esto me sale una señal muy parecida a la real. Es un poco hacer trampas pero de lo que se trata es de que el modelo de simulación refleje la realidad. Lo hemos comparado con los resultados reales, y encaja bastante bien. Tanto en la lectura de los encoders que miden la velocidad de las ruedas como en los desplazamientos XY y la orientación. Te adjunto todo el modelo en un .zip por si quieres probarlo.
El Nexus05_Golden_Ref.slx me va muy lento. Queremos hacer un simulador interativo que funcione a tiempo real y la simulación a paso variable no es muy buena para esto. Si le activo el pacing me tarda como un minuto en simular los 8 segundos. Supongo que depende mucho de la máquina.
Por cierto, no he entendido lo de "El modelo de referencia (ode23t) ejecuta con run/sim aprox. 9.5-10. "
En cualquier caso te agradezco mucho tu ayuda.
Para cualquier cosa que necesites mi correo aquí en la Universidad Politécnica de Valencia es vcasanov@isa.upv.es.
Un saludo

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by