Steps from angle
microsteps=360θ°×200×microstepping×gear ratio
TMC2209 RMS current
IRMS=32CS+1×Rsense+0.02ΩVFS×21
VFS=0.325V(vsense=0)or0.180V(vsense=1)
StallGuard stall condition
SG_RESULT≤2×SGTHRSand only whileTSTEP≤TCOOLTHRS
DH transform
T=cosθsinθ00−sinθcosαcosθcosαsinα0sinθsinα−cosθsinαcosα0acosθasinθd1
Homogeneous transform inverse
T−1=[RT0−RTp1]
PAROL6 inverse kinematics — verified
Wrist centre:
pwc=pflange+Rflange⋅[45.250−62.80]T
Joint 1, with +π for the flipped branch:
θ1=atan2(ywc,xwc)
Planar coordinates, taking the minus sign for the flipped branch:
u=±xwc2+ywc2−a2v=a1−zwc
Constants:
L=a42+a52=181.636mmφ=atan2(a4,a5)=0.24184rad=13.856°
Joints 2 and 3 — no solution if ∣cosB∣>1; the sign of B selects elbow up or elbow down:
cosBAθ2θ3=2a3Lu2+v2−a32−L2=atan2(v,u)−atan2(LsinB,a3+LcosB)=A+π/2=π/2−φ−B
Wrist, with R36=(R03)TRtarget:
θ5θ4θ6=atan2(r132+r232,−r33)=atan2(−r23,−r13)=atan2(r32,r31)
The flipped branch is θ4+π, −θ5, θ6+π.
Verified by round trip against forward kinematics over 5,000 random poses: worst-case pose error $2.3 \times 10^{-13}$.
Generic two-link planar IK — link lengths L1, L2, target at distance D; no solution if ∣cosθ2∣>1
cosθ2θ1=2L1L2D2−L12−L22=atan2(y,x)−atan2(L2sinθ2,L1+L2cosθ2)
Jacobian column for revolute joint i
Ji=[zi×(p−oi)zi]
Damped least squares IK step
Δq=JT(JJT+λ2I)−1e
Manipulability, which goes to zero at a singularity
w=det(JJT)