Hey Guys! Our team have 4 45º Degrees Wheels.
1º - I wanna know which wheel are that? Omni or Mecanum? What’s the difference?
2º - I know that my team asked about that, but how to programming this exactly? Does anyone can help us with a little exemple or something like that? We are using labview…
3º My idea with omni is when u press the trigger you activate cartesian plan, if you don’t press you can move in his axis normally and to compensate the mistakes during teleop period we will use a gyro, and we are planning use a PID. In this post, i put 2 images that i think is correct, but i don’t have ideia how to cmpensate these mistakes in PID and send to motor again.
Could you post some pictures of the wheels? I’m assuming the wheels are mecanum given the angle. The difference between mecanum and omni wheels is that while omni’s have smaller wheels “perpendicular” to the larger wheel, Mecanum wheels have smaller wheels positioned at 45 degree angles all around the larger wheel. Mecanum wheels allow a robot with the right programming to strafe side to side or diagonally in different directions. I believe Omni wheels can move side to side but not diagonally. And, while mecanum wheels can move side to side based on the direction they are driving to eachother, omni’s need another power source to move them sideways.
Here’s a quick map of which direction the whees need to be spinning in order to move in a desired direction. I can’t remember if there is a mechanum VI in LabView or not, but I would just put each motor in as a regular old CIM in the code. How exactly do you want to drive the robot? (controller wise that is) Are you using a joystick or Xbox-type controller?
LabVIEW has a Holomic Drive VI that can be configured to “Mecanum Cartesian.” If you have a gyro wired into your roboRIO, you can connect the output into the Holonomic Drive VI to have field-centric driving.
Não to bem entendo o que vocês querem fazer com gyro e PID. Pode descrever em português? Eu nunca programei em labview então eu não posso ajudar muito aí, mais si vocês querem ajuda sobre os conceitos de usar roda mecanum e como funciona o métodos de programar/controlar um robô usando ela eu posso ajudar.
You have your mecanum drive VI currently set to Polar mode. While this does have it’s advantages, it is only useful if you have more advanced programming capability. You need to set it to Cartesian mode, where you can directly wire in an x, y, and rotation value, in addition to a gyro angle input. I will try to get you some screenshots from our last year’s code tomorrow.
EDIT: From what I understand from your original post, what you are trying to do is have your robot set up where while a button is pressed, it is driven like a standard arcade drive robot, with forward on the joystick corresponding with the robot moving forward with regards to itself, and when the button is not pressed, the robot’s direction will be compensated for with the gyro input. If this is the case, you can always leave the robot in Cartesian mode, and use a case structure to replace the gyro value with 0 when you’re not using it. I hope this helps!
If you want to use field-centric controls you must drive in cartesian.
The code that I’ve attached shows you how to do this (The gyro is optional, if you don’t connect it then the drive will be robot-centric).