JohnDTill / ContinuumRobotExamples

An incremental guide to continuum robot mathematical modeling and numerical implementation. The examples are divided into chapters within the folder structure, and each chapter contains a PDF and code examples.
MIT License
148 stars 47 forks source link

Concern about the initial value of the internal forces in RodIVP.m #17

Closed Sameen-Peng closed 3 months ago

Sameen-Peng commented 3 months ago

Hi I'm new to continuum robot and I find this repo is quite helpful for a beginner. Here are two issues I would like to discuss with you.

RodIVP

RodShape

Thanks!

JohnDTill commented 3 months ago

Hi Sameen-Peng, the force balance on a section of the rod is given by n(s + δ) - n(s) + ∫_s^{s + δ} f(s) ds = 0, see Figure 2.3 in the included dissertation. For the whole rod and considering the distributed force to be entirely due to gravity, this force balance is n(L) - n(0) + LρAg = 0. Your intuition is correct that no tip load in the x-direction, nₓ(L) = 0 would imply that nₓ(0) = LρAgₓ. The choice of nₓ(0) = 0 implies a tip load nₓ(y) = -LρAgₓ, which is okay mathematically since the tip load is arbitrary (we never said this was a cantilever beam without a tip load in the problem setup).

Regarding the second point:

the internal force along y axis is positive so I assume the rod would bend towards the positive direction along y axis but the result is inverse

I'll admit this one took me quite a while to figure out what is going on! Absent any distributed loading, n(0) = [0; 1; 0] implies that n(L) = [0; 1; 0], which implies an external tip load of F = [0; 1; 0]. So we would expect the rod to bend in the positive y-direction, right? Not quite! The subtle trick is that lack of a proximal moment, m(0) = 0, implies there must be a tip moment. This would be m(L) = [L; 0; 0] for a cantilever beam, although that approximation ignores large deflection. If we set the initial condition m(0) = [-L; 0; 0] which is more indicative of cantilever rod BCs, indeed the rod does bend in the positive y direction like we would expect for a cantilever rod.

So while the choice of ICs is arbitrary to form a correct problem, they could be chosen better to conform with our intuition for cantilever rod behaviour, especially since the plot at the end of the script has a tendency to suggest a cantilever rod even though the actual BCs are not a cantilever problem. I'm glad I resisted the urge to give a hand-wavy explanation while I was initially confounded :)

I'm glad you're finding the repo helpful. Let me know if any part of the answer is not clear, or you have more questions. Enjoy your research! -John

Sameen-Peng commented 3 months ago

Cheers Dr. Till. Your explanation is clear and useful. I wanna say a THANK YOU sincerely cause this repo greatly helps and guides many beginners in this field by showing how to build models and implement them in programs specifically. Well done!