You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We assume that each segment is actuated by num_segment_tendons that are routed at a distance of d from the segment's backbone,
71
73
respectively, and attached to the segment's distal end. We assume that the motor is located at the base of the robot and that the
72
74
tendons are routed through all proximal segments.
73
-
The control inputs u1 and u2 are the tensions (i.e., forces) applied by the two tendons.
75
+
The positive control inputs u1 and u2 are the tensions (i.e., forces) applied by the two tendons.
76
+
At a straight configuration with a positive d1, a positive u1 and zero u2 should cause the bend negatively (to the right) and contract its length.
74
77
75
78
Args:
76
79
segment_idx: index of the segment
77
80
d_sm: distance of the tendons from the segment's backbone (shape: (num_segment_tendons,))
78
81
Returns:
79
82
A_sm: actuation matrix of shape (n_xi, num_segment_tendons)
80
83
"""
81
-
num_segment_tendons=d_sm.shape[0]
82
-
83
-
A_sm= []
84
-
forjinrange(num_segment_tendons):
85
-
d=d_sm[j]
86
-
84
+
defcompute_A_d(d: Array) ->Array:
87
85
"""
88
-
A_d = []
89
-
for i in range(0, segment_idx + 1):
90
-
# length of the i-th segment
91
-
l_i = l[i]
92
-
# strain of the i-th segment
93
-
xi_i = xi[3 * i:3 * (i + 1)]
94
-
A_d.append(jnp.array([
95
-
d * l_i * jnp.sqrt(xi_i[1]**2 + xi_i[2]**2), # the derivative of the tendon length with respect to the bending strain of the i-th segment
96
-
l_i * xi_i[1] * (1 + d * xi_i[0]) / jnp.sqrt(xi_i[1]**2 + xi_i[2]**2), # the derivative of the tendon length with respect to the shear strain of the i-th segment
97
-
l_i * xi_i[2] * (1 + d * xi_i[0]) / jnp.sqrt(xi_i[1]**2 + xi_i[2]**2), # the derivative of the tendon length with respect to the axial strain of the i-th segment
98
-
]))
86
+
Compute the actuation matrix for a single actuator/tendon with respect to the soft robot's strains.
87
+
Args:
88
+
d: distance of the tendon from the centerline
89
+
Returns:
90
+
A_d: actuation matrix of shape (n_xi, ) where n_xi is the number of strains
0 commit comments