Open JotaroS opened 6 years ago
The new position based controller in lib/controller/position.js
is still based on inverseKinematics. The algorithm is just ported from the firmware. (But the changed formula in panto.h Line 31 did not work for me, but the comment above worked like a charm)
OK, then we need to think about the issue. Let us discuss first
(BTW...but the formula didn't work?
I and @Lichtso checked that the commented out code was somehow wrong but sure we need to check this out. This calculates innerangle
using Kosinussatz.... (@Lichtso thoughts?)) (・_・;)
@JotaroS whats the status on this ?
Current status
At least before #97, the mechanism behind
movePanto
was based on heuristic pseudo inverse kinematics, which is made by @Lichtso and works very well. This works like this:It's on
panto.h
for current code.Problem
If you want to drag panto after doing
movePantoTo
, you get asymmetric force feedback along angle direction and radius direction, since it's not Force controlled. In the other words pseudo inverse kinematics does not control force. (@oschneid )Proposal
We keep
movePantoTo
functionality but change background mechanism as force based control, eliminating pseudo-inverse kinematics from that operation (we keep code for usual IK calculation i guess....) We just render forceF=-ke
according to the error to the position send bymovePantoTo
ase
.@mgjm Is current position-based control based on pseudo-inverse kinematics as before? This might come after once you refactor the code.