Skip to content

Commit c918a36

Browse files
committed
unit tests for spatial vectors
1 parent 8fa7677 commit c918a36

File tree

4 files changed

+17
-3
lines changed

4 files changed

+17
-3
lines changed

unit_test/featherstone_test/ID.m

+7
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,14 @@
55

66
for i = 1:model.NB
77
[ XJ, S(:,i) ] = jcalc( model.pitch(i), q(i) );
8+
XJ
9+
S(:,i)
810
vJ = SpatialVelocity(S(:,i)*qd(i));
911
Xup(i) = XJ*model.Xtree(i);
1012
if model.parent(i) == 0
1113
v(i) = vJ;
1214
a(i) = Xup(i)*(-a_grav) + SpatialAcceleration(S(:,i)*qdd(i));
15+
a
1316
else
1417
v(i) = Xup(i)*v(model.parent(i)) + vJ;
1518
a(i) = Xup(i)*a(model.parent(i)) ...
@@ -18,6 +21,10 @@
1821
end
1922
f(i) = model.I(i)*a(i) + cross( v(i), model.I(i)*v(i) );
2023
end
24+
25+
v
26+
a
27+
f
2128

2229
for i = model.NB:-1:1
2330
tau(i,1) = S(:,i)' * double(f(i));

unit_test/featherstone_test/compare.m

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
q = [0 0]
1+
q = [90 -90] * pi/180
22
qd = [2 -3]
3-
qdd = [3 4];
3+
qdd = [3 4]
44

55
[idyn_rtb(q, qd, qdd); idyn_roy(q, qd, qdd)]

unit_test/featherstone_test/idyn_roy.m

+5
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@
1313
robot.I(1) = SpatialInertia( 1, [0.5 0 0], diag([0 0 0]) );
1414
robot.I(2) = SpatialInertia( 1, [0.5 0 0], diag([0 0 0]) );
1515

16+
robot.Xtree(1)
17+
%robot.I(1)
18+
robot.Xtree(2)
19+
%robot.I(2)
20+
1621
%% compute inverse dynamics
1722
tau = ID( robot, q, qd, qdd)' %, f_ext, grav_accn )
1823
end
+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
function tau = idyn_rtb(q, qd, qdd)
22
twolink = [];
33
mdl_twolink
4+
5+
twolink.fast = false
46

5-
tau = twolink.rne(q, qd, qdd)
7+
tau = twolink.rne(q, qd, qdd)
68
end

0 commit comments

Comments
 (0)