diff --git a/src/ui/initialize.jl b/src/ui/initialize.jl index 6b2f9a4f..948880d1 100644 --- a/src/ui/initialize.jl +++ b/src/ui/initialize.jl @@ -78,9 +78,9 @@ end function setForce!(body::Body; F::AbstractVector = SA[0;0;0], τ::AbstractVector = SA[0;0;0], p::AbstractVector = SA[0;0;0] ) - - τ += vrotate(torqueFromForce(F, p),inv(body.state.qc)) # in local coordinates - setForce!(body.state, F, τ) + # F and p in local coordinates + τ += torqueFromForce(F, p) # in local coordinates + setForce!(body.state, vrotate(F,body.state.qc), τ) return end diff --git a/test/examples/axes.jl b/test/examples/axes.jl index 9dfb2bf2..01bc5a91 100644 --- a/test/examples/axes.jl +++ b/test/examples/axes.jl @@ -32,9 +32,3 @@ mech = Mechanism(origin, links, constraints, g = 0.) setPosition!(origin,link1,Δq = UnitQuaternion(RotZ(0.)),p2=v1) setPosition!(origin,link2,Δq = UnitQuaternion(RotX(0.)),p2=v2) setPosition!(origin,link3,Δq = UnitQuaternion(RotX(0.)),p2=v3) -# setVelocity!(origin,link1,Δω = [0.;1;1],p2=v1) -# setVelocity!(origin,link2,Δω = [0.;1;1],p2=v2) -# setVelocity!(origin,link3,Δω = [0.;1;1],p2=v3) -# setVelocity!(link2,v = [-2.5;2.5;5],ω = [2;4;10.]) -# setForce!(link1,τ=[0.1;0;0]) - diff --git a/test/examples/joint_force.jl b/test/examples/joint_force.jl index 5529a8e9..da325f44 100644 --- a/test/examples/joint_force.jl +++ b/test/examples/joint_force.jl @@ -40,7 +40,3 @@ end mech = Mechanism(origin, links, constraints, g = 0.) setPosition!(link1,q = UnitQuaternion(RotX(pi / 2))) setPosition!(link1,link2,p1 = vert12,p2 = vert21) -# setVelocity!(link1,ω=[2.;0;0]) -# setVelocity!(link1,link2,p1=vert12,p2=vert21) - -# setForce!([[0.1];nothing],joint1to2,mech) diff --git a/test/examples/joint_torque.jl b/test/examples/joint_torque.jl index 369b6e83..76da7438 100644 --- a/test/examples/joint_torque.jl +++ b/test/examples/joint_torque.jl @@ -35,5 +35,3 @@ end mech = Mechanism(origin, links, constraints, g = 0.) setPosition!(link1,link2,p1 = vert12,p2 = vert11) - -# setForce!(mech, joint1to2e, [0.05]) diff --git a/test/examples/slider_crank.jl b/test/examples/slider_crank.jl index 8a8bfeab..82bc41b5 100644 --- a/test/examples/slider_crank.jl +++ b/test/examples/slider_crank.jl @@ -45,8 +45,3 @@ end mech = Mechanism(origin, links, constraints) setPosition!(link1,x = -p0) setPosition!(link2,x = p3 + p1) - -# a = [0;0;0;0;0.3] - -# setForce!(mech,joint0to12,a) -# setForce!(link2,τ=[0;0;0.3]) diff --git a/test/initialization/body_initialization_test.jl b/test/initialization/body_initialization_test.jl index 2b55a89e..5a824e67 100644 --- a/test/initialization/body_initialization_test.jl +++ b/test/initialization/body_initialization_test.jl @@ -120,8 +120,8 @@ for i=1:3 truex10 = zeros(3) trueq10 = q1 - trueF0 = F - trueτ0 = τ + vrotate(cross(p, F),inv(q1)) + trueF0 = vrotate(F,q1) + trueτ0 = τ + cross(p, F) truev1 = trueF0*Δt trueω1 = vrotate(trueτ0*Δt,q1) diff --git a/test/initialization/prismatic_joint_test.jl b/test/initialization/prismatic_joint_test.jl index 1006161d..18f194e4 100644 --- a/test/initialization/prismatic_joint_test.jl +++ b/test/initialization/prismatic_joint_test.jl @@ -39,11 +39,10 @@ for i=1:10 setVelocity!(mech,joint1,vω) function control!(mechanism, k) if k==1 - setForce!(mech,joint1,Fτ) + setForce!(mechanism,joint1,Fτ) end return end - # setForce!(mech,joint1,Fτ) storage = simulate!(mech, 10., control!, record = true) diff --git a/test/initialization/revolute_joint_test.jl b/test/initialization/revolute_joint_test.jl index b1a1cb16..cdf474df 100644 --- a/test/initialization/revolute_joint_test.jl +++ b/test/initialization/revolute_joint_test.jl @@ -37,11 +37,10 @@ for i=1:10 setVelocity!(mech,joint1,vω) function control!(mechanism, k) if k==1 - setForce!(mech,joint1,Fτ) + setForce!(mechanism,joint1,Fτ) end return end - # setForce!(mech,joint1,Fτ) storage = simulate!(mech, 10., control!, record = true)