Page 1 of 1

Gearbox

Posted: Thu Jul 07, 2011 11:49 am
by BortMechanic
Hello guys.

(I'm sorry for my bad English)

Is it possible to somehow simulate a gearbox in BEPUphysics?
I know that I can change settings of a motor (reduce speed and increase torque proportionally) but I want to have a gearbox as a separate unit.
Is it possible?

Thank You
Pavel Melnikov

Re: Gearbox

Posted: Thu Jul 07, 2011 4:41 pm
by Norbo
The answer should be 'yes,' though I'm unsure of the exact behaviors and goals you have in mind. The most likely implementation would involve creating a logical wrapper that simulates the behavior of a gearbox outside of the physics engine by tuning the motor settings on the fly.

Re: Gearbox

Posted: Thu Jul 07, 2011 9:28 pm
by BortMechanic
Thank you for your fast reply Norbo.

I will try to explain what I have in mind.
I'm implementing a mobile robots simulator where a user can create a robot by combining predefined units together.
The units are:
- Motors
- Servos
- Gearboxes
- Wheels
- Electronic controllers
etc...
At the first phase of my development I plan to implement a Motor and a GearBox as a single unit. So a gearbox will be simulated by just tuning the motor settings. But in future I plan to have a gearbox and a motor as a separate units. It will make design of a robot more modular (each unit will carry out its own function).
A gearbox as a single unit can be usefull in many situations. For example, when there is no motor at all (ex: watermill where the wheel is driven by the force of the falling water or some another external force. this example is not related to robotics but It clearly describes what I mean) or when two or more gearboxes connected to the same motor (in this case the output shafts have proportinal angular velocities and I'm not shure that I will be able to implement the simulation of such combination using two motors precisely synchronized by tuning the motors' settings).

So my question is - Can I simulate a gearbox (that has an input shaft and an output shaft, output shaft has a velocity and torque proportional to the input shaft's velocity and torque at any time) that can work without a motor using the current classes in the BEPUphysics? Or the best way for me is to start thinking about writing a new element (integrated into the engine) that will carry out a gearbox function that I need?

By the way, BEPUphysics is awesome! Everything looks very simple, straightforward and performs very well. I used JigLibX (ported to C# from JigLib) before and it's a terrible library: no documentation, constraints allways fail, there is only a hinge joint and there are no other joints, etc.., etc....

Thank You
Pavel Melnikov

Re: Gearbox

Posted: Thu Jul 07, 2011 11:00 pm
by Norbo
an I simulate a gearbox (that has an input shaft and an output shaft, output shaft has a velocity and torque proportional to the input shaft's velocity and torque at any time) that can work without a motor using the current classes in the BEPUphysics?
It sounds like what you're looking for is a UniversalJoint, which is one of the built in constraint types. It's composed of a BallSocketJoint and TwistJoint. A picture can be found in the documentation (section 5.F): http://bepuphysics.codeplex.com/wikipag ... umentation

The non-motorized Joints offer various restrictions on the degrees of freedom of a system, which can be used for other kinds of 'gearboxes' as well. It just depends on what degrees of freedom are being transferred.

The advice about gearboxes that I provided earlier related more to a vehicle's gearbox, since I thought you were talking about something like switching gears for extra torque and such :)
By the way, BEPUphysics is awesome! Everything looks very simple, straightforward and performs very well.
Thanks! :)