#robotics Logs

May 14 2020

#robotics Calendar

06:41 AM veverak: GOT IT
06:47 AM veverak: found the error
06:47 AM veverak: I knew that "pause" is a good thing
06:47 AM veverak: math: R[i+1] = Q[i]^{-1} * W[i]^{-1} * R[i]
06:47 AM veverak: source: R[i+1] = Q[i]^{-1} * W[i]^{-1} * R[i]^{-1}
10:12 AM rue_mohr: hmm
10:12 AM rue_mohr: I'd bet my code runs faster :)
10:18 AM deshipu: I'm sure it does
10:19 AM deshipu: blinks that LED like there is no tomorrow
10:19 AM rue_mohr: led?
10:20 AM rue_mohr: I'm talking about IK math
10:24 AM rue_mohr: hmm, I need to write a display scanner that has a stall provision to make a digit brighter
10:34 AM rue_mohr: ok, this looks easy
10:34 AM rue_mohr: so, what I need to do is build the vfd
11:47 AM Rez__ is now known as L
12:41 PM veverak: rue_mohr: challenge? let's take out some 6DOF arm
12:46 PM veverak: (jkin)
12:46 PM veverak: I have generic solver, you have 3DOF specific -> it has to be faster
12:58 PM deshipu: I don't see a reason why a generic solution should necessarily be slower
01:04 PM veverak: it's pattern in it :)
01:05 PM veverak: deshipu: and I don't mean "generic" as for any dimensions, but for any configuration
01:08 PM deshipu: I understood you
01:14 PM LarchOye is now known as LarchOye1
01:16 PM veverak: ok
01:21 PM rue_mohr: do you mean multisolutional?
01:23 PM veverak: wat does that mean?
01:23 PM veverak: yay, multiple res? yeah
01:24 PM veverak: but, 3DOF also has multiple solutions potentially
01:27 PM rue_mohr: multiple solutions
01:27 PM veverak: yeah
01:27 PM veverak: in theory there are multiple solutions
01:27 PM veverak: but jacob. method finds one local
01:28 PM rue_mohr: which case, are you bringing in a system to avoid obsticles
01:28 PM veverak: yeah, there is the thing
01:28 PM veverak: if you have Jacob matrix and understand the math
01:28 PM veverak: you can devise "secondary goal" for the optimization (it is optimization problem)
01:28 PM veverak: such as ... obstacle avoidance
01:28 PM veverak: :)
01:29 PM rue_mohr: dont totally understand why it looks like your trying to map every solution for the positioning either
01:30 PM veverak: I do not
01:30 PM rue_mohr: I can understand it if your trying to figure out the work envelope of the robot
01:30 PM veverak: algo has "starting solution that is bad" and iterativelly improves
01:30 PM veverak: (no collisio ndetection here)
01:30 PM rue_mohr: right, why dont you just calculate it in one go?
01:31 PM veverak: because the method is not designed this way
01:31 PM veverak: do you know newton method?
01:31 PM rue_mohr: not by name
01:32 PM veverak: wait, this is not newton
01:32 PM rue_mohr: :) do you dont either :)
01:32 PM veverak: (I know methods, I have bad assosications name - method)
01:32 PM veverak: anyway
01:33 PM veverak: 'g' is FK function, J is jacobian of said function, wat you doing is basically: angles_{i+1} = angles_{i} + J^{-1]}( angles_{i} ) * (target - g(angles_{i}))
01:34 PM veverak: which means, that as long as you can get Jacob. of the 'g' function, this should work
01:34 PM veverak: (no matter the number of DOF's and rotation axis orientation)
01:34 PM veverak: there are caveats, but this is good enough for now
01:35 PM veverak: any other approach I found for "generic IK solveR" wokrs more or less the sime - you can't get the solution directly
01:35 PM veverak: which is the reason why I think rue_mohr's solution for 3DOF IK is faster than generic, because it works completely differently
01:36 PM rue_mohr: it works for higher orders
01:36 PM veverak: fu me
01:36 PM veverak: this is "gradient descent"
01:36 PM veverak: :)
01:37 PM rue_mohr: it gets complex if you have multiple solutions, you have to build in a rule to bound part of the answer
01:38 PM veverak: yeah
01:39 PM veverak: hmm, I've seen some math somewhere that was able to extract solution for IK as function of 'k' input parameters
01:39 PM deshipu: you always have multiple solutions
01:39 PM veverak: were for each valid input domain for I params, it returned valid IK solution
01:39 PM veverak: so, you simply optimized the I params based on other constraints
01:39 PM veverak: hmm
01:40 PM veverak: but where was it?
04:22 PM LarchOye1 is now known as LarchOye
05:58 PM veverak: ]o/
05:58 PM veverak: one gets IK and finally the unfolding sequence for the robot looks good :)
05:59 PM veverak: anyway, I have tgoto and tmove commands for moving the tip of the leg
05:59 PM veverak: (tgoto is absolute pos, tmove is relative pos)
05:59 PM veverak: but, it seems, that also need some way of mixing those commands
05:59 PM veverak: like "move x/y relative to actual pos and z to absolute"
06:00 PM veverak: anyway
06:00 PM veverak: it's 1AM and I am at my parents flat
06:00 PM veverak: I think I will leave test on real robot for tomorrow
06:44 PM rue_mohr: yea, there is like a co-ordionate translation layer that usually comes up, cause world vs robot co-ords
06:44 PM rue_mohr: along with offsets and scaling when you hit the axies
10:07 PM zhanx_ is now known as zhanx