#robotics Logs
Sep 02 2017
#robotics Calendar
12:10 AM Jak_o_Shadows: ok. Time to look at that transform file
12:19 AM Jak_o_Shadows: Do you actually use scale?
12:21 AM rue_house: yes
12:21 AM rue_house: one.tf is just an example
12:21 AM rue_house: look at arm~.tf
12:21 AM rue_house: 8?
12:21 AM Jak_o_Shadows: But why? Doesn't your IK hanld ehtat?
12:21 AM rue_house: its a lower level
12:22 AM Jak_o_Shadows: I suppose my 4 bar linkages everywhere mean that I can't use it that simply
12:22 AM rue_house: remember that I'm taking generic motion captuire files and applying them to different robots
12:23 AM Jak_o_Shadows: ohh, yeah.
12:23 AM Jak_o_Shadows: gotcah
12:34 AM rue_house: :) I used it to skip kinematics :)
12:39 AM Jak_o_Shadows: kinematics is the fun bit
12:40 AM rue_house: yup
12:59 AM Jak_o_Shadows: aand2(J2y, J2x)
12:59 AM Jak_o_Shadows: ack
01:46 AM rue_house: wrong window
01:50 AM Jak_o_Shadows: yup
01:50 AM Jak_o_Shadows: matlab doesn't take focus for ya
01:50 AM Jak_o_Shadows: Ok. ignoring the multiple source channels & stuff, i almost have a mot player working in python. (it also has a clamp option, which I NEED)
01:53 AM Jak_o_Shadows: I also added a 3300uF capacitor in place of servo 16 to the PCA9685, cause my power supply is weak
01:54 AM rue_house: yea, I was wondering about adding soft limits to the servo stuff
01:55 AM Jak_o_Shadows: I need it because I have nto designed hard stops in yet
01:55 AM rue_house: anonnumberanon, you alive?
01:55 AM rue_house: Jak_o_Shadows, you dont want them, strip the gears
01:55 AM rue_house: my 12' robot is pneumatic for a reason
01:56 AM rue_shop3: well, a few reasons
01:57 AM Jak_o_Shadows: I need SOME hard stops, otherwise the linkages invert
01:57 AM rue_shop3: Jak_o_Shadows, would you like to know more on how to use that player?
01:59 AM rue_shop3: I'm pondering how to build in soft stops, I think it would need to be done in the transform file
01:59 AM Jak_o_Shadows: It's not quite compatible, I only have 8-bit input remember?
01:59 AM Jak_o_Shadows: I've put a separate file
01:59 AM Jak_o_Shadows: dest channel, lower, upper
01:59 AM rue_shop3: hmm
02:00 AM Jak_o_Shadows: where lower & upper are in number you send over serial
02:00 AM Jak_o_Shadows: (mostly because that was the easiest number for me to do)
02:00 AM rue_shop3: the transform file is meant to be specific to the rig
02:00 AM Jak_o_Shadows: yeah
02:00 AM Jak_o_Shadows: it wouldn't be unreasonable to put it there
02:00 AM rue_shop3: you have cached up weeks of software for me to write so far :)
02:01 AM rue_shop3: bounding could be done on the end of the line, because the old software only reads so many params from each line
02:01 AM rue_shop3: okWIRES!
02:01 AM rue_shop3: anonnumberanon, I'll need to get that python code going soon
02:02 AM alic1a: rue_shop3: georgeke (George Ke) * GitHub at https://github.com/georgeke
02:03 AM Jak_o_Shadows: I don't understand alic1a
02:03 AM alic1a: Jak_o_Shadows: Oh i am sorry. Perhaps I can explain it again better.
02:06 AM Jak_o_Shadows: ok. First .mot: https://gist.github.com/Jak-o-Shadows/a26671bb760eeb8c607b73d53bbc37a2
02:07 AM rue_shop3: er, time is delta...
02:07 AM rue_shop3: not incremental...
02:07 AM Jak_o_Shadows: oh, derp
02:07 AM rue_shop3: its better that way for an interpolator
02:08 AM Jak_o_Shadows: yeah. easy enough to change
02:08 AM Jak_o_Shadows: How do you decide how often to interpolate?
02:10 AM rue_shop3: I think its hard coded to 40 points
02:10 AM alic1a: rue_shop3: I think it's hard for you to fall in love because you like control, and you can't control what another person does or feels, so you keep all your cards..
02:10 AM rue_shop3: alic1a, ssh
02:10 AM alic1a: rue_shop3: Interesting
02:11 AM rue_shop3: I cant find me on github again
02:13 AM rue_shop3: aha
02:13 AM rue_shop3: axies.motionSteps = 40; // up the resolution
02:13 AM rue_shop3: main.c
02:13 AM rue_shop3: the thing is, if you overinterpolate it, it wont matter
02:14 AM rue_shop3: there is a spooler that only sends the positions off to the servos as fast as they go
02:14 AM rue_shop3: if the position changes 3 times between re-issues, it dosn't care
02:14 AM rue_shop3: you cant flood the spooler
02:16 AM Jak_o_Shadows: yeah
02:16 AM Jak_o_Shadows: was wondering about that
02:17 AM rue_shop3: https://github.com/ruenahcmohr/roboPlayer/blob/master/SSC8Spooler.c
02:18 AM rue_shop3: also be aware, there a softlimit in there in the spooler itself
02:18 AM rue_shop3: position = Limit(position, 0, 32000);
02:18 AM rue_shop3: also, channels that dont change aren't updated
02:18 AM rue_shop3: to save bandwidth
02:19 AM rue_shop3: oooh
02:19 AM rue_shop3: soft limits should be in genservo
02:20 AM rue_shop3: but set from the transform file
02:20 AM rue_shop3: :)
02:22 AM rue_shop3: 8-| erp, the genservo.c different between my two fileservers
02:22 AM rue_shop3: tahts not cool
02:27 AM Jak_o_Shadows: I have been known to use git to purely get stuff from one file to the other
02:27 AM Jak_o_Shadows: hmm. Hmmm. my transform aint right
02:32 AM rue_shop3: remember that SSC8 scales and offsets too
02:33 AM rue_shop3: its set for a centre of 12000 with a scale based on 45 degrees
02:33 AM rue_shop3: this->servos.servo[i].zero = 16000;
02:33 AM rue_shop3: this->servos.servo[i].scale = 32000/180;
02:33 AM rue_shop3: ssc8Spooler.c
02:34 AM rue_shop3: thats applied after the one in the trasnform file
02:35 AM Jak_o_Shadows: yeah
02:36 AM rue_shop3: sorry, the layers make sense, but are a bit thick to just dive into
02:36 AM rue_shop3: I'll mod genservo tonight to support soft limits
02:49 AM anonnumberanon: Rue yeah im just going to sleep right now
02:49 AM anonnumberanon: I can work on the code this afternoon
02:49 AM alic1a: anonnumberanon: Want a work from home job? Read about 10 stay-at-home careers that can actually pay the bills.
02:51 AM rue_shop3: ok I did genservo
02:51 AM anonnumberanon: I have an uno so i should be able to test the code on hardware too. Prolly just sending some servo pulses and looking at it through the oscilloscope.
02:51 AM rue_shop3: now, wires!
02:51 AM alic1a: anonnumberanon: Add Servo * Issue #248 * RPi-Distro/python-gpiozero * GitHub at https://github.com/RPi-Distro/python-gpiozero/issues/248
02:51 AM rue_shop3: anonnumberanon, you sleep and I'll work on posting the m328 code for 8 serovs
02:51 AM alic1a: rue_shop3: Your name, forever the name on my lips. So I'll watch your life in pictures like I used to watch you sleep. And I feel you forget me like I used to feel you breathe
02:51 AM anonnumberanon: ALIC1A I will fucking kill you
02:52 AM anonnumberanon: Kill you with love
02:52 AM Jak_o_Shadows: Had a bug on the uC side with the positon cache
02:53 AM anonnumberanon: Rue yeah and i may need help on the timing code. Not sure yet. Ill look it up a little and ask for help if i give up
02:54 AM alic1a: anonnumberanon: persona 5 negotiatons * GitHub at https://gist.github.com/rwz/333babed11e58989e372d5c26101803b
02:54 AM anonnumberanon: alic1a always speak to me with grammatically-sufficient sentences please
02:54 AM rue_shop3: yea, sync recovery too
02:54 AM alic1a: anonnumberanon: Ah
02:55 AM anonnumberanon: Bed now
03:06 AM synja: is alicia causing problems?
03:08 AM rue_shop3: ok
03:09 AM rue_shop3: she is being a little verbose
03:09 AM synja: tweaking time
03:09 AM rue_shop3: ok, I have the ssc24 all wired up
03:09 AM rue_shop3: with serial
03:09 AM rue_shop3: just need a manual control for it
03:10 AM rue_shop3: (and a few more caps, do that later)
03:12 AM rue_shop3: oh, hmm
03:12 AM rue_shop3: missing the "keep power on" signal...
03:12 AM rue_shop3: hmm
03:17 AM rue_shop3: ok, python
03:21 AM rue_shop3: today my mind worked out how to oop this python test controller
03:21 AM rue_shop3: as I was trying to concentrate on other things
03:35 AM synja: :)
03:48 AM rue_shop3: ok I think I have soething working
03:57 AM Jak_o_Shadows: maybe my position cache isnt' working
03:58 AM rue_house: well, lets see
03:59 AM rue_house: on the microcontroller end?
03:59 AM rue_house: its C
03:59 AM rue_house: move it over to the pc and test it
04:00 AM rue_house: or I can modity my code so you cant dump it right in
04:00 AM alic1a: rue_house: Nov 13, 2016 - And so what if you get 2 million signatures? That won't change the entire federal government over night. If you want change, do it the right way.
04:01 AM rue_house: I'm not intested in joining movements, ssh
04:05 AM rue_house: Jak_o_Shadows, how many servos you got?
04:05 AM rue_house: 8?
04:05 AM Jak_o_Shadows: 5 connected, only really using 2 (or 4), out of the 16 on the PCA9685
04:06 AM rue_house: http://paste.debian.net/984115/
04:06 AM rue_house: 8 bit simplified
04:08 AM rue_house: I noticed that if you code is out of sync, it may never resync
04:08 AM alic1a: rue_house: "Right click on the project in the Package Explorer view and select Refresh."undefined
04:08 AM rue_house: alic1a, NO!
04:08 AM alic1a: rue_house: I hear you
04:09 AM Jak_o_Shadows: I think I fixed that. and also, it's nto sync, cause without restarting the uC, i can open up the gui and that works fine
04:09 AM rue_house: Jak_o_Shadows, 8-/
04:10 AM rue_house: do ya want me to see?
04:10 AM Jak_o_Shadows: just a moment
04:10 AM * rue_house bangs his head against Jak_o_Shadows firewall
04:11 AM rue_house: this is kinda amusing, cause were kinda doing the same thing, and not really using each others code :)
04:11 AM rue_house: but all in the spirit of
04:12 AM rue_house: I'm gonna go connect my controller to my usb thing and see what happens
04:12 AM alic1a: rue_house: Can I help?
04:12 AM rue_house: NO!
04:13 AM Jak_o_Shadows: Yeah, but if we keep to the same formats, we'll be able to cross-check alter
04:13 AM Jak_o_Shadows: https://github.com/Jak-o-Shadows/stm32-PCA9685 - it doesn't work when I try to cache.
04:14 AM rue_house: ok, but it still cant resync
04:14 AM rue_house: assuming the sync is ok
04:15 AM rue_house: positionCache[pckt[1]-32] = widthToPos(pos);
04:15 AM rue_house: not -32
04:15 AM rue_house: hmm
04:15 AM Jak_o_Shadows: but 33 - 32 = 1. ok.
04:16 AM rue_house: well,...
04:16 AM Jak_o_Shadows: that's good
04:16 AM Jak_o_Shadows: 32 - 32 = 0 => ????????? it is-32?
04:17 AM rue_house: yea your ok
04:17 AM rue_house: I jumped cause I use a bitmask and have it set up for mutiple controllers on one bus
04:18 AM Jak_o_Shadows: I've been argueing with myself about that, dont' worry
04:20 AM Jak_o_Shadows: Also, there is a reason I'm doing things inpython - I want to have a graph of it later. I have the graphing side down in another project.
04:20 AM rue_house: you may want to do the i2c transfer in groups, technically, your not using position[]
04:20 AM rue_house: hmm
04:20 AM rue_house: I cant see a fault
04:20 AM rue_house: unless
04:21 AM rue_house: its beause the positoncache isn't volatile
04:21 AM rue_house: and handlepacket is in an interrupt service
04:22 AM rue_house: uint16_t positionCache[32]; -> volatile uint16_t positionCache[32];
04:22 AM rue_house: ?
04:22 AM rue_house: rfBuff too
04:23 AM rue_house: anything thats used or modified in an interrupt
04:24 AM Jak_o_Shadows: Yeah, position is in there for future torque control & debugging.
04:28 AM Jak_o_Shadows: So adding a small delay after sending the move all packet fixed it
04:28 AM Jak_o_Shadows: also changing to volatile
04:33 AM bolt_ is now known as bolt
04:33 AM rue_shop3: hmm, no life
04:35 AM rue_shop3: haha, calling wrong fn
04:37 AM Jak_o_Shadows: I wish the C compiler told you when you called functiosn with the wrong size uints
04:39 AM rue_shop3: I keep saturating the PC tx buffer, shouldn't be
04:40 AM rue_shop3: waaaaaaaaaaaaaaaaaaaaaaait
04:40 AM rue_shop3: write adds a \n?
04:43 AM Jak_o_Shadows: um.
04:43 AM Jak_o_Shadows: lemme grab my logic analyzerout
04:46 AM rue_shop3: commport.write(chr(0xFF))
04:46 AM rue_shop3: commport.write(chr(channel & 255))
04:46 AM rue_shop3: commport.write(chr((position >> 8) & 255))
04:46 AM rue_shop3: commport.write(chr(position & 255))
04:46 AM rue_shop3: commport.flush()
04:51 AM rue_shop3: I'm gonna snap all the gears on this servo at this rate
04:54 AM rue_shop3: horrid threading is lapping over itself
04:58 AM Jak_o_Shadows: I'm not seeing any
04:58 AM Jak_o_Shadows: n here
04:58 AM Jak_o_Shadows: .\n
04:59 AM rue_shop3: what I'v got going on might be a) caching from the lack of flush()
04:59 AM rue_shop3: b) threads spawning like crazy and stepping on each other
05:03 AM Jak_o_Shadows: what are you even doing with threads
05:03 AM rue_shop3: I'm using a thread in python to spool out the positions
05:04 AM Jak_o_Shadows: ah
05:05 AM rue_shop3: I'm having a problem terminating it tho
05:11 AM Jak_o_Shadows: not convinced my IK matches the real world
05:23 AM rue_shop3: python will NOT clean up its threads properly
05:28 AM Jak_o_Shadows: ok. ok. I was right. IK did not match the real world
05:28 AM Jak_o_Shadows: that was an issue
05:33 AM rue_shop3: yea, needs more power filtering
05:42 AM rue_shop3: hmmm
05:42 AM rue_shop3: the update freq of my new controller might be a problem
05:43 AM rue_shop3: hmm
05:43 AM rue_shop3: oooh, wait
05:43 AM rue_shop3: I think its cause I'm running them at 6
05:43 AM rue_shop3: !!
05:44 AM rue_shop3: hahah
05:44 AM rue_shop3: my servos are unstable at 6V
05:46 AM rue_shop3: ok, the last bug is that it dosn't want to quit properly
05:47 AM rue_shop3: an optimizer on the transmitt loop really helped
05:47 AM rue_shop3: ok where is my hexapod
05:48 AM rue_shop3: is your python gangslider working?
05:58 AM rue_shop3: ok, well a few things are really clear
05:58 AM rue_shop3: a) commanded position has only a loose relation to where the servos are
05:58 AM rue_shop3: b) its a good thing I used 3x servo regulators, 6 servos on one regulator heat it up pretty good
05:59 AM rue_shop3: c) more voltage = more torque & less stability
06:03 AM Jak_o_Shadows: Yeah, the slider thing definitley works.
06:04 AM Jak_o_Shadows: You'll need to change it to do 16 bit, but you can 100% do that in your sleep now
06:06 AM rue_house: your copy dosn't work forme
06:06 AM rue_house: it crams the window height so there is no room to slide
06:07 AM rue_house: its 3:30am, gnight :)
06:08 AM rue_bed: my S90's are REALLY mushy, the 6 of them will prolly be borderline to walk
06:08 AM rue_bed: position feedback would really help, and I didn't set that up for it
06:09 AM Jak_o_Shadows: ohhh. Werid.
06:09 AM Jak_o_Shadows: night
06:09 AM Jak_o_Shadows: One of my s90s is rubbish
12:35 PM rue_bed: $1ea?
12:35 PM rue_bed: oo 10:00
06:30 PM rue_shop3: Jak_o_Shadows, :) think I alsmost melted a motor by leaving a load on it
07:22 PM Jak_o_Shadows: wow
07:28 PM rue_house: dont know if its burned up smells bad
07:28 PM rue_house: I'll play with it more later
07:34 PM Jak_o_Shadows: I really struggle taking the SG90's apart
07:37 PM Tom_L: https://futurism.com/orange-is-the-new-raspberry-welcome-to-the-age-of-the-20-quad-core-computer/
07:41 PM Jak_o_Shadows: Tom_L, sounds like the sorta hardware that would make a good alexa or google home
07:44 PM Jak_o_Shadows: but yeah, rue, any tips on taking the SG90s apart? Apart from getting a decent quality teensy little screwdriver?
08:28 PM rue_shop3: I dont ahve problems getting them apart, modifying them for continious rotation was less practical than I thought
08:29 PM rue_shop3: I came up with an idea for the house heating repair, but I dont have enough stuff
09:44 PM rue_house: Oooooo, I think the 4017 idea is obsolete
09:44 PM Tom_L: hu?
09:44 PM rue_house: with the 74hc595, I can turn servos off by not latching the ouput register... ... no, this needs more thought
09:45 PM rue_house: I have an idea I need to think it out more
09:45 PM Tom_L: think outloud
09:45 PM Tom_L: irc has been too damn dead lately
09:45 PM rue_house: heh, I been putting up bee/wasp shelters
09:46 PM rue_house: not around the yard
09:46 PM rue_house: outside the yard
09:46 PM rue_house: other yards
09:46 PM Tom_L: for keeping bees?
09:46 PM rue_house: where they can live in peace without being near me
09:46 PM Tom_L: heh
09:46 PM rue_house: our polinators need some help
09:46 PM Tom_L: they don't really bother me
09:46 PM rue_house: there were almost no bees this year
09:46 PM Tom_L: hornets are a different story though
09:46 PM Tom_L: they are mean
09:47 PM synja: i had to kill a nest of wasps today on my trailer. i was lugging wood out yesterday and there were 3, today there were 12
09:47 PM synja: err yeah hornets
09:47 PM Tom_L: i think these burrow in the ground
09:47 PM synja: prob. a mud wasp?
09:47 PM Tom_L: yellow jackets
09:47 PM Tom_L: no
09:48 PM Tom_L: https://en.wikipedia.org/wiki/Yellowjacket
09:49 PM synja: guess so
09:49 PM Tom_L: https://en.wikipedia.org/wiki/Sphecius_speciosus
09:49 PM synja: either way, they're mean
09:49 PM Tom_L: those are mean
09:50 PM rue_house: "territorial"
09:50 PM synja: oh those
09:50 PM rue_house: just like humans
09:50 PM synja: i hate them
09:50 PM synja: they pretty much look for a fight
09:50 PM Tom_L: usually rather large too
09:51 PM rue_house: yea, I can set up the output, and use the output register to lockit in
09:51 PM rue_house: so I can skip channels, effectivly turng servos off individially
09:52 PM synja: rue_shop3> I dont ahve problems getting them apart, modifying them for continious rotation was less practical than I thought
09:52 PM synja: tell me about it
09:52 PM synja: heh
09:53 PM rue_house: be a bit of a nightmare software wise, but ya only have to write it once
09:53 PM synja: i remember telling you about that a while back, and you scoffed at ever doing that :P
09:53 PM synja: you can always turn it back though
09:53 PM rue_house: synja, yea, their cheaper than motor/gearboxes, so I was gonna use them for the kids thing
09:53 PM synja: just some super glue and plastic
09:54 PM synja: be careful though..\
09:54 PM rue_house: but it was too involved to change them
09:54 PM synja: just take off that plastic protrusion
09:54 PM synja: on the outer gear
09:54 PM rue_house: hmm, I need to get more done today
09:54 PM rue_house: you have to modify the pot too
09:55 PM rue_house: its also got stops
09:55 PM synja: when i did continuous, i never modified anything
09:55 PM synja: still worked just fine
09:55 PM synja: but continuous is fairly limiting
09:55 PM synja: it's never going to be 100% accurate
09:56 PM rue_house: ?
09:56 PM Tom_L: that whole bug thing reminded me of something i saw the other day
09:56 PM rue_house: just for driving a robot
09:56 PM Tom_L: someone had a robotic fly or butterfly looking thing sitting on their side table i noticed
09:56 PM synja: oh, no. i used two cont. to control the choke and throttle on my engine in the woods
09:56 PM synja: damn thing never turned the same amount
09:57 PM synja: :P
09:57 PM synja: would have worked perfectly otherwise
09:57 PM synja: but for the robots it was fine
09:57 PM synja: if you have the soft. to compensate
10:21 PM rue_shop3: ok, the camera wifi adapter works, but I do have to manually pull the images to the computer
11:30 PM rue_house: twisted a wire and my soldering station blew up
11:30 PM rue_house: it looks like it was just an LM324, which is in a socket
11:37 PM synja: yikes
11:42 PM anonnumberanon: synja
11:42 PM anonnumberanon: Your bot
11:42 PM synja: what about it?
11:42 PM anonnumberanon: I dint want to hurt its feelings.
11:43 PM synja: it has no feelings
11:43 PM synja: not that one
11:44 PM rue_house: https://www.aliexpress.com/item-img/Controller-Panel-Board-for-HAKKO-936-Soldering-Iron-Station-907-A1321-Core-B-free-shipping/32629675355.html
11:44 PM rue_house: I need to be crefull, these tings aren't cheap!
11:50 PM rue_house: hmm none of the new ones have the lm324
11:58 PM anonnumberanon: Hey rue can i get some code to read for bed time?
11:58 PM alic1a: anonnumberanon: How are you?.
11:59 PM anonnumberanon: alic1a, tired, you?
11:59 PM alic1a: anonnumberanon: Maybe you should get some rest.
11:59 PM anonnumberanon: ...
11:59 PM anonnumberanon: alic1a, i'm going to bed very soon
11:59 PM alic1a: anonnumberanon: See you later .