First, thanks very much for reading this message. This is the first post in this forum.
I respect this great work of Bullet. It is very happy to know this kind of work. I'm new at Bullet. And I'm newbie at computational dynamics.
I've posted similar question on ODE forum. And I hope I can get other opinions here.
I want to make a program that can analyze human motions in machines, for instance, with sport equipments. The purpose of this program is to design those equipments very well.
But as you know, most of current CAD systems do not support the function that I want to have.
The example of What I want to do is listed here.
http://lifemodeler.com/LM_Manual/T_rehab.shtml
I suppose that there should be three stages in my application.
Step1) Kinematics analysis of human-machine combined mechanism with motion data
Step2) Inverse dynamics analysis to calculate torques which are required to generate the motion referenced above
Step3) Forward dynamics analysis to validate whether the actuators(motors with torques calculated above) can generate the desired motion
So, because I don't know Bullet well, I'd like to make some questions in this forum.
Q1) Can 'Bullet' handle general, user-defined constraints, not only joint constraints? For instance, 'CAM-FOLLWER' joint can be one of them. And, a constraint which defines the trajectory of a point in a body can be also one. The trajectory can be defined as a function of time analytically. Finally, let's assume that two vectors of two bodies are parallel but those bodies are apart. This can be a constraint which can be called 'two parallel vectors'.
Q2) Can 'Bullet users' access some internal information? For instance, system of equation, jacobian matrix and constraints information which includes motion and joint constraints. Especially does 'Bullet' include those information in symbolic form?
Q3) If there are some redundant constraints, how does 'Bullet' solve those problems?
What I want to ask is whether Bullet can be used in kinematic analysis or not.
In fact, I started to study computational kinematics & dynamics by Nikravesh's book. From experts like you my theoretical level may seem very low.
According to his book, for kinematic analysis, number of DOF of all bodies(6*number of bodies) should be same as the sum of DOF which are removed by constraints. Constraints are composed of joint constraints, driving(motion) constraints and user-defined constraints those are referenced above.
And for proper kinematic analysis, I think I should try to avoid making redundant constraints because that can cause the singularity of the system matrix. This is the reason of quesion Q2.
I don't know how 'Bullet' solve this problem. But I think that for proper kinematic anlaysis, the function which shows some warnings for redundant constraints can be helpful.
Of course this is the responsiblity of Bullet users who build models badly. But if this function can be implemented, it can help users to perform the kinematic anaysis very well.
I think that in very complex model, it is difficult to know what constraints should be removed for eliminating singularity in system matrix. Because human structure with those equipments may
include many closed-loops. Because these closed-loops may remove DOFs in model, the number of joint motion input for kinematic analysis should be restricted. So the selection of input motion
may be another problem.
Thanks for reading this question again. I hope I can get some advices from experts like you
