Comments (4)
Hello Jiefeng,
Thanks! I still remember most of my PhD research. We're actually at the proof stage of publishing my last paper!
This is a brain teaser. You have an explicit formula for the arclength s(θ)
. Perhaps you could parameterize all your equations by θ. For example ∂p/∂θ = ∂p/∂s * ∂s/∂θ = Rv * ∂s/∂θ
. You would need to solve ∂s/∂θ. The arclength in polar coordinates is defined by ds = sqrt(r² + (dr/dθ)²) * dθ
, where (dr/dθ)² = a²
, so ∂s/∂θ = sqrt(r² + a²) = sqrt(a²(1 + θ²))
.
Then you have the curvature with respect to theta, κ(θ), and can build u₀ = [κ 0 0]
. The local frame derivative is defined by v₀ ≔ R₀ᵀṗ₀
, where ṗ₀ = ∂p₀/∂s = ∂p₀/∂θ * ∂θ/∂s
. Depending on how you define your frames, you could have R₀= Rz(θ)
, and the Cartesian coordinates from polar coordinates could be p = r [cθ sθ 0] = aθ[cθ sθ 0]
, which you could find an analytical derivative for.
It's a little rough, but I think parameterizing by θ is probably the best approach.
from continuumrobotexamples.
Hello John,
Thanks for the response!
It is a brain teaser. I thought about reparameterizing by θ
and it should work well. The only thing is that I have to make sure that the constitutive equations are still valid since the distributed force previously is defined by force in a unit length
and now I need to exam what is the unit when I applied a distributed force.
However, I am thinking whether there is a general way to do it because we will need to parameterize it differently for a different problem. For example, a parabola y = x²
, at any point x
, the arc length is
Then, I need to reparameterize the equation by x
instead of s
. I feel it is a way to go. But just not very convenient. I need reformulated the whole model when I have a curve that might be explicitly written as s(θ)
or s(x)
.
Do you think if there is a numerical way to still parameterize a curve by s
so that I can still keep the original formulation?
Best,
Jiefeng
from continuumrobotexamples.
That is a good point- it's a lot of work for one specific problem. You could build a table of values u₀(sᵢ)
and v₀(sᵢ)
and interpolate to find u₀(s)
and v₀(s)
. If you wanted that table to be linspaced, you'd have to also do some numerical work to find θᵢ
values such that sᵢ(θᵢ)
values are approximately linspaced.
from continuumrobotexamples.
Thanks!
I will try to see if it is possible to build a table of values u₀(sᵢ)
and v₀(sᵢ)
. Yet I don't have a concrete idea of how to implement it. It needs a table of p(sᵢ)
from p(θ)
. And then, it might be difficult to do partial differentiation on a table to get ṗ₀(sᵢ)
from p(sᵢ)
, and eventually, arrive at v₀(sᵢ) ≔ R₀(sᵢ)ᵀṗ₀(sᵢ)
.
Some guys use the discrete elastic rod theory (Bergou et, al). I can look into it and see if they have a convenient way to represent a curve that cannot be explicitly parameterized by s
.
Anyway, I will try hard. Thank you again for your help!
Jiefeng
from continuumrobotexamples.
Related Issues (12)
- Do you have a matlab code for Tendon Static Case HOT 3
- typos in the documentation CosseratRodIvpSolution.pdf HOT 2
- Question about TendonRobotStatics.m HOT 3
- about the fsolve() function in TendonRobotStatics.m HOT 1
- Questions regarding the formulation of the static equation in 01_Statics/02_CSG_Inverse_Kinematics/CSG_Inverse_Kinematics.pdf HOT 7
- External force on an arbitry point. HOT 7
- Non-crucial Derivation Error HOT 1
- When tension of tendon is larger, such as tau=20, the solver stopped prematurely. HOT 5
- Frictional model for tendon driven continuum robot HOT 4
- New Blender versions break compatability HOT 1
- Build error of project “01_Statics\06_Tendon_Robot_Variants\Cpp_3\Tendon_Displacement_Control” HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from continuumrobotexamples.