Model of cycling: closed loop with automatic adjustment of knee and pedal angles

5 views (last 30 days)
I abused the Four Bar demo ( http://www.mathworks.de/help/toolbox/physmod/mech/gs/f5-6075.html) to create a cyclist-like geometry.
My problem is:
I don't get how I can change the variable segment/joint.
At the moment the "crank" adjusts its length according to the length and orientation of thigh and shank, but I need to adjust the angle of knee and pedal GIVEN the lengths of thigh, shank and crank!
Can anyone help me out? It's a blocker :(
br

Answers (3)

Guy Rouleau
Guy Rouleau on 10 Feb 2012
I am not sure I understand what you are looking for.
It looks like you did a very good job at computing the knee and hip torque based on the crank angle.
If you need to adjust the length of a body, you should split the inertia and mass of the body into 2 bodies and connect the 2 parts using a prismatic joint.
If you could include a schematic of what you are looking for, or a model showing what you tried, this could help.

ZeuZ
ZeuZ on 15 Feb 2012
hello guy,
thanks a lot for your reply. sorry I didn't answer so far, had to earn some money...
and thanks for the comment on the torques :D my professor showed me mathlab two weeks ago and I sat in front of the montor like ... :O (????). he told me few things and I was really proud to have the leg make a full rotation (at least in the old version) by this angle-torque thing ;)
the "old" version: - no properties set for the crank (position of CS1 is 0 0 0) http://imageshack.us/photo/my-images/96/paramscrank.png/
- orientation of LOWER leg (shank) given in hard numbers in properties of the segment http://imageshack.us/photo/my-images/210/paramslowerlegold.png/
- orientation of UPPER leg (thigh) given in hard numbers in properties of the segment (similar to lower leg)
My Intention was to predefine the crank length of 0.1725 (vector [0.1725 0 0]) and upper leg length and lower leg length should be both 0.5 (or later take measures of a real athlete) and simulink should calculated the vectors automatically.
I have been working on another solution, manually calculating the (former hard numbered) vectors of thigh and shank and setting them by mathlab like this: http://imageshack.us/photo/my-images/526/paramslowerlegnew.png/ (sx = shank_x ; sy = shank_y ; msx = mass center shank_x ; msy = ...). I did the same for the upper leg (I'll skipp those screenies).
you can adjust the range_crank and play time. the model is not capable of doing a full rotation yet, but I will work on that with an evolutionay algorithm. important thing was to be able to influence the crank length ;)
thanks a lot, again. I'll probably return severeal times during the next 6 month ;)
best regards, stefan

ZeuZ
ZeuZ on 15 Feb 2012
aaaah, forgot...
open the model and go to file -> model properties -> callback -> initfcn to see the rest of the maths things
gotta find my clothes... swimming ;)

Categories

Find more on General Applications 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!