#robotics Logs

Jan 01 2021

#robotics Calendar

12:09 AM rue_shop2: so, it looks like I need a filter that boosts by about 6db/decade from about 2.5Hz
12:16 AM rue_shop2: but my math is really rusty
12:16 AM rue_shop2: no not 6db
12:16 AM rue_shop2: 3db is doubling
12:16 AM rue_shop2: we need to double it about 6 times
12:16 AM rue_shop2: thats 18db
01:08 AM rue_shop1: happy new year!
01:15 AM rue_shop1: I am alone, aren't I?
01:21 AM Jak_o_Shadows: not entirely
01:21 AM Jak_o_Shadows: but i thought it was new year for you a couple of hours ago?
01:37 AM rue_shop1: I'm at 11:24pm
02:08 AM rue_shop1: happy new year!!!
02:10 AM Jak_o_Shadows: happy new year
03:22 AM rue_mohr: is it still newyears for anyone here?
03:22 AM rue_mohr: not up yet?
08:39 AM mrdata-: all done
08:39 AM mrdata-: bye bye 2020
03:42 PM rue_mohr: so then, how do I sweep this servo response
03:42 PM veverak: so, mine rpi4 installed and working
03:43 PM rue_mohr: I found the 45 degree phase offset, but I'm not sure of the attenuation rate
03:43 PM rue_mohr: and its got a pole
03:44 PM rue_mohr: I dont remember how to set poles and zeros in s-plane to map a time-domain profile
03:47 PM rue_mohr: I think I need more time-domain data
03:48 PM rue_mohr: https://microchip.wdfiles.com/local--files/dcdt%3A3p3z-compensator/3P3Z-Compensator-Phase-and-Gain-Characteristics.PNG
03:48 PM rue_mohr: actually, that helps a lot
03:49 PM rue_mohr: so I need more gain data
07:02 PM ferdna: how is this mechanism done?
07:02 PM ferdna: https://www.youtube.com/watch?v=uG0O7TGtM1g
07:02 PM ferdna: the rotating part
07:11 PM rue_shop1: generally gears
07:13 PM ferdna: rue_shop1, do you have any examples?
07:14 PM rue_shop1: sure
07:14 PM rue_shop1: give me some time tho, I'm bode plotting a servo
07:14 PM rue_shop1: unless you would like to help?
08:04 PM Jak_o_Shadows: ferdna, gears, bearings. I don't even think it has any fancy way of avoiding wind-up - it just has enough slack in the wire to cope
08:07 PM veverak: btw
08:07 PM veverak: got a name for robot: 2051jr
08:21 PM ferdna: Jak_o_Shadows, cool
09:36 PM rue_mohr: http://ruemohr.org/~ircjunk/tempimage/p1180389.jpg
09:36 PM rue_mohr: http://ruemohr.org/~ircjunk/tempimage/p1180392.jpg
09:36 PM rue_mohr: http://ruemohr.org/~ircjunk/tempimage/p1180393.jpg
09:36 PM rue_mohr: ok, there is my servo, the gain and phase plots
09:36 PM rue_mohr: I have NO IDEA WTF with the phase plot
09:36 PM rue_mohr: but the gain clearly shows a pole at about 1.8Hz
09:37 PM rue_mohr: I missed a zero down below 0.4Hz
09:37 PM rue_mohr: so, using that, I need to make an EQ to fix the curve
09:38 PM rue_mohr: that amplitude is falling off at about 31db/decade, so I'm not sure how to do that
09:38 PM rue_mohr: thats a snot-tonne of gain
09:38 PM Jak_o_Shadows: Having an EQ will give you better xxxx?
09:38 PM rue_mohr: PID is a 3 band EQ
09:39 PM rue_mohr: a cheap one
09:39 PM rue_mohr: the middle band is just a pass-thru
09:39 PM rue_mohr: I is your low-pass
09:39 PM rue_mohr: D is your high-pass
09:39 PM rue_mohr: the goal is to flatten out that curve as much as you can
09:40 PM Jak_o_Shadows: Which does?
09:41 PM rue_mohr: so, from something below 0.4Hz, I need to attenuate at about 4.2db/decade, then at 1.8Hz, I need to pick it up by 31db/decade
09:42 PM rue_mohr: Jak_o_Shadows, PID is like an EQ. When you make a PID controller, it compensates for the freq characteristics of the system
09:42 PM Jak_o_Shadows: Is this going to give you better speed control? More predictable? Less overshoot?
09:42 PM rue_mohr: you want the servo to hold 0db to the highest freq you can
09:43 PM rue_mohr: I'm doing position
09:43 PM rue_mohr: so this will take the load to the target as fast as can be.
09:43 PM Jak_o_Shadows: ah
09:43 PM Jak_o_Shadows: yeah, ok
09:44 PM rue_mohr: I is a low pass, so, I need to set that to counter that bit below 1.8Hz
09:44 PM rue_mohr: which means I'll also need to tone down the gain, so they level out at 0db
09:46 PM rue_mohr: 31db is crazy
09:47 PM Jak_o_Shadows: Yeah, it's starting to get pretty up there.
09:48 PM Jak_o_Shadows: but especially because you want it from a single correction
09:49 PM rue_mohr: well, yes and no
09:49 PM rue_mohr: so, in the gain plot, see how it climbs slowly at the start?
09:50 PM Jak_o_Shadows: aye
09:50 PM rue_mohr: you use a high-pass filter to level that out
09:51 PM rue_mohr: er wait
09:51 PM rue_mohr: suddenly something doesn't add up
09:51 PM rue_mohr: you use a high pass for that, which is the D of PID
09:52 PM rue_mohr: and you set the corner freq to work with the corner in that chart
09:52 PM rue_mohr: so, past the knee, it does not add anymore gain
09:52 PM rue_mohr: nope
09:52 PM rue_mohr: I'm crossed up
09:53 PM rue_mohr: yea
09:53 PM rue_mohr: thats backwards
09:53 PM rue_mohr: ok, for that first segment, you use a low-pass, which is the I in PID
09:53 PM rue_mohr: the corner freq you use is way off the right side of the chart tho
09:54 PM rue_mohr: then you need a high pass with a corner way off the right side to fix the bit after the knee
09:54 PM rue_mohr: I'm just getting the swing of this
09:54 PM rue_mohr: it wasn't long ago I realized that I and D were low and high pass filters
09:55 PM rue_mohr: which made me realize that instead of PID, a person can just use a FIR filter
09:55 PM rue_mohr: but I havn't had the chance to prove that yet
10:05 PM Jak_o_Shadows: People tend to think in whatever hte first thing they learn is
10:05 PM Jak_o_Shadows: If you get taught FIR filters first, that's all you think of prbolems in
10:09 PM rue_mohr: I think I can do FIR easier than IIR
10:10 PM rue_mohr: do you know how to make constants for either?
10:10 PM Jak_o_Shadows: Ask the computer to do it for me
10:10 PM rue_mohr: matlab?
10:10 PM Jak_o_Shadows: Probably
10:21 PM rue_mohr: ok, I'm having an issue here
10:21 PM rue_mohr: I dont really want a high or low pass
10:21 PM rue_mohr: so, a high pass goes like /----
10:21 PM rue_mohr: and a low pass like ---\
10:21 PM rue_mohr: what I want is \____