#robotics Logs
Feb 27 2014
#robotics Calendar
07:50 Zaaarin The nema 34's have an 8mm thread, so the pinions would need an 8mm bore
11:26 SlaveToTheSauce oh boy
11:26 SlaveToTheSauce was fucking with my hexapod software in preparation for a demo for a video promoting the CS department here at the uni
11:26 SlaveToTheSauce left a pointer dangling and it resulted in magic smoke
11:26 SlaveToTheSauce servo ruined
11:27 SlaveToTheSauce was watching my terminal and not the current draw and didn't notice that it was pegged against an endstop
11:27 SlaveToTheSauce drawing like...8A
16:20 GuShH_ SlaveToTheSauce: I guess that will be the promotional video "we fuck up, join us!"
16:56 GuShH_ Nooooo
16:56 ShH_ shakes
21:37 Curious drops a M10
21:50 rue_more GargantuaSauce, thats why I ahve current limiters for each servo
21:57 GargantuaSauce http://www.diyouware.com/
21:57 GargantuaSauce man it drives me up the wall to see a project with so much design and engineering go with it...and then note that it's arduino-based
22:00 Curious chuc
22:00 MrCurious clearly meant to put it within reach of the clueless masses
22:00 GargantuaSauce like they're literally designing a pcb printer
22:00 GargantuaSauce and it's an arduino shield
22:00 GargantuaSauce it just baffles me
22:01 GargantuaSauce a prototype? sure that kind of makes sense, architectural concerns aside
22:06 MrCurious why cant you be more like them
22:09 GargantuaSauce because i can't in my right mind fathom making the conscious choice of using a strictly, pervasively, avoidably inferior option
22:10 MrCurious you cant give it dual control options??
22:10 MrCurious beginner and grown up
22:11 GargantuaSauce the former would take an order of magnitude more effort to produce an acceptable implementation
22:11 GargantuaSauce or the same effort to produce an awful one
22:12 MrCurious but how else will the 9 year olds learn
22:13 GargantuaSauce by working with systems that don't actively work to shield from them the details they need to learn
22:13 MrCurious unless they just want it to work so they can focus on the high level interfaces?
22:14 MrCurious think of it as a gateway drug to electronics..
22:14 MrCurious blink blink whir whir hooked
22:14 GargantuaSauce but the "just working" is awful
22:14 GargantuaSauce have you tried toggling a gpio using the arduino library?
22:14 GargantuaSauce do it in a busyloop
22:15 GargantuaSauce watch the output on a scope
22:15 GargantuaSauce compare the frequency to the clock
22:15 GargantuaSauce then consider that a majority of the libraries bitbang their interfaces
22:15 MrCurious yup
22:15 GargantuaSauce you can't do realtime behaviour remotely well using the arduino architecture
22:15 MrCurious yup
22:16 GargantuaSauce and it shows up to a major degree pervasively in open projects based on it
22:16 GargantuaSauce marlin is a shining example
22:16 MrCurious yup
22:16 MrCurious reprap another?
22:16 GargantuaSauce this is why the arduino architecture is so abhorrent to me
22:16 GargantuaSauce i mean sure if it was STRICTLY for the first week's learning
22:17 MrCurious have i enabled you to vent enough, do you feel better, or should i enable more? :)
22:17 GargantuaSauce little more than an inspiration
22:17 GargantuaSauce but people embrace that shit
22:17 GargantuaSauce one could call that trolling you know
22:17 GargantuaSauce and i could rant all night about any topic of choice
22:18 MrCurious i have a probllem with that sometimes, i am seeing a therapist about it
22:18 MrCurious ever troll a therapist?
22:19 GargantuaSauce no but i would argue with one about neurophilosophy to no end
22:20 GargantuaSauce i am just feeling particularly ranty tonight, spent the day failing to enunciate why i love computer science to a general audience
22:20 MrCurious its magic
22:20 MrCurious it enables you to solve amazing problems
22:20 GargantuaSauce and create them
22:20 GargantuaSauce but yeah that is basically what i ended up saying
22:20 MrCurious it allows ones will to become manifest in the physical world
22:21 GargantuaSauce that is almost precisely what i went to actually
22:21 GargantuaSauce but of course the lack of depth in my explanation necessitated by the target audience was bugging me
22:21 MrCurious use the word "magic" nest time
22:21 GargantuaSauce oh i did
22:21 MrCurious and show flappy bird
22:21 GargantuaSauce lol
22:21 MrCurious and the movie monsters
22:21 MrCurious talk about what goes into making the hair
22:22 GargantuaSauce i showed some of my dumb fractals and my pretend-robot-on-a-computer-screen-not-destroyed-by-stupidity
22:22 MrCurious then wave a punch caard and pronounce the dark ages of computers to be forever over
22:22 MrCurious you could have waevd the real one at them
22:22 MrCurious talked about fail-learn-fail cycle :)
22:22 GargantuaSauce i did but it was lifeless and smelled like burning
22:23 GargantuaSauce gonna fix it and shoot another clip next week i guess
22:23 GargantuaSauce if i can stomach touching the damn thing again
22:25 MrCurious oh yes. video demos always go better than live
22:28 MrCurious this show vikings is good
22:37 MrCurious watching people use nano in demos annoys me
22:40 mgojol I'm building a 5-axis robot arm using an arduino uno and avoiding using a servo shield or motor controllers. Has anyone coded for something like this? I'm doing it right now and 'seems' like it should work (moving one servo at a time).
22:41 Triffid_Hunter mgojol: can easily drive 10 servos all at once from a 4017 using one of the timer1 PWM outputs
22:42 Triffid_Hunter I've made a servo shield with a 4514 that can drive up to 16 servos, although they start losing torque and getting jerky if you set too many to max
22:43 MrCurious sounds like a question for GargantuaSauce....
22:44 GargantuaSauce hobby servos are very not awesome for serial manipulators
22:45 mgojol Triffid_Hunter: Okay, i'll do a little research on these (suppose I could have googled a bit more). I'm ultimately going to use controllers and a larger arm, but for now I'm broke and *think I can code around the hardware reqs.
22:45 Triffid_Hunter mgojol: https://github.com/triffid/AVR-Servo might get you started, that's set up for my 4514-based board
22:46 GargantuaSauce i have a different approach, shift registers and the spi peripheral
22:46 rue_more guys
22:46 GargantuaSauce 16mhz avr might have trouble achieving decent resolution with that technique though
22:47 rue_more http://eds.dyndns.org/~ircjunk/tutorials/elex/hobbyservo/servo101.html
22:47 GargantuaSauce decade counter definitely sounds like a decent way to do it, as long as you don't accidentally switch outputs in the middle of a pulse
22:48 Triffid_Hunter GargantuaSauce: actually at 16MHz the resolution far outstrips what the servos themselves are capable of
22:49 Triffid_Hunter that's 16000 counts per microsecond, or a timer value of 24000 for 1.5ms (center)
22:49 GargantuaSauce i am not talking about using a timer and pulsing a single servo at a time
22:49 rue_more did you scroll to the end?
22:49 Triffid_Hunter GargantuaSauce: well that's the best way to do it
22:49 GargantuaSauce my application required updating them all at once
22:49 GargantuaSauce there is no "best"
22:50 Triffid_Hunter what possible difference could simutaneous update give you, apart from annihilating your precision?
22:51 GargantuaSauce when there's 24 of them and theyre all locomoting together...
22:52 GargantuaSauce and the precision is still there because i am not using a ridiculously slow micro!
22:53 Triffid_Hunter with 24 I'd use both timer compare outputs instead of just one.. the rate at which they can usefully track the target position should amply swamp any effects from non-simultaneous update
22:58 GargantuaSauce like i'd use a mcu that has a grand total of two channels on a single timer peripheral
22:58 GargantuaSauce http://xn--d-bga.su/psh.gif
22:59 GargantuaSauce anyway i wanted a solution for an arbitrary number of servos and it's fast enough so that precision is still not a concern
22:59 GargantuaSauce for mgojol a counter will do
22:59 MrCurious arent there 16 channel led controlers that would be ideal for servo control, and are chainable up to like 256 total
22:59 Triffid_Hunter GargantuaSauce: even the small avr8s have 3 timers with 2 output compares each. the bigger ones have more
22:59 Triffid_Hunter but if your thing works, great
23:00 rue_more I have a buynch
23:00 rue_more you use an external clock source
23:00 rue_more 59...
23:00 rue_more 34?
23:01 rue_more 5940
23:07 GargantuaSauce this is true
23:07 GargantuaSauce i want to try making bldc servos
23:07 Triffid_Hunter the high end servos use BLDCs as far as I know
23:07 Triffid_Hunter those crazy dynamixel ones have an arm controller of some sort, probably cortex-m0 or similar
23:07 GargantuaSauce nope m3
23:07 Triffid_Hunter m3 is it? neat
23:08 Triffid_Hunter I got a fair bit of experience with lpc17xx, which is m3 family
23:08 GargantuaSauce i was touching myself to the trossen site again, i really really want a set of mx-64
23:08 rue_more shoudl I make a servo from a winshield wiper motor just to break the mental limit people have?
23:08 GargantuaSauce just not enough to spend 250 each
23:08 MrCurious the servo's that are i2c addressable?
23:08 Triffid_Hunter rue_more: those are just dc gearhead + some cam switches aren't they?
23:09 MrCurious and daisy chainable
23:09 GargantuaSauce for the love of god what is your boner for i2c
23:09 MrCurious i2c is the one true 2 wire protocol
23:09 Triffid_Hunter MrCurious: i2c would be a total disaster, but they do use *something*
23:09 GargantuaSauce they're async serial
23:09 MrCurious and the only one other than serial i grock
23:09 GargantuaSauce it's like rs482 but with normal ttl signalling
23:10 Triffid_Hunter MrCurious: i2c is horrendous - it falls over and dies if 1) the runs are longer than a couple dozen centimeters or 2) there's the tiniest bit of noise floating around or 3) you want it to go fast
23:10 GargantuaSauce you can get rs482 also i guess but it's a paid option and probably increases lead time
23:10 MrCurious am i trolling again?
23:10 MrCurious crap
23:10 GargantuaSauce yeah you can push data over these serial links at megabits per second
23:10 GargantuaSauce i2c? not so much
23:10 Triffid_Hunter GargantuaSauce: 482? do you mean 422 or 485 ?
23:10 GargantuaSauce yes
23:11 Triffid_Hunter 422 is basically 485 without the fancy extras- ie regular rs232 but with the differential signalling taken from 485
23:11 Triffid_Hunter well, from what I've read anyway
23:12 GargantuaSauce isnt rs232 strictly point to point?
23:12 GargantuaSauce you can daisy chain 422
23:12 Triffid_Hunter MrCurious: even SPI is preferable to I2C if you want to push it across a cable- at least SPI can be buffered sensibly, or converted to different electrical layers as long as your RTT is nowhere near the clock rate
23:12 GargantuaSauce and multislave works fine with nss lines
23:12 Triffid_Hunter GargantuaSauce: not sure
23:13 GargantuaSauce yeah whatever, in any case those servos can all be addressed on one bus
23:18 GargantuaSauce no i have been very meticulously ignoring its existence since i joined this channel
23:19 rue_more you know about its servos right?
23:20 GargantuaSauce yes and i am strongly contemplating a similar approach
23:20 GargantuaSauce with less ridiculously bulky electronics hopefully
23:20 rue_more Its modular
23:20 rue_more and its modularity is already being reused in other projects
23:21 GargantuaSauce i couldnt deal with the spider web of jumpers
23:21 rue_more yea, I'm amazing
23:22 rue_more there is only like a hundred and something
23:23 GargantuaSauce are you really going to be able to tie them all down effectively so that none wear or break or get pulled out in normal and abnormal modes of locomotion?
23:25 Triffid_Hunter they're also continuous rotation from what I've seen
23:25 Triffid_Hunter probably got a magnetic encoder or two in there somewhere, austria microsystems makes some nice ones
23:25 GargantuaSauce or like, get snagged on obstacles
23:25 GargantuaSauce just strikes me as a ridiculous number of points of failure
23:26 GargantuaSauce yes they are
23:26 rue_more there is a feedabck potentiometer
23:27 rue_more its only got 300 degrees on it
23:28 GargantuaSauce he's talking about the dynamixels, which yeah use fancy encoders
23:31 GargantuaSauce http://www.trossenrobotics.com/p/mx-64T-dynamixel-actuator-6-pack.aspx
23:31 GargantuaSauce seriously i need a rich uncle
23:31 rue_more you can make servos
23:31 rue_more make blooming servos
23:31 GargantuaSauce i know
23:31 rue_more make it sinlg epurpose if you want
23:32 GargantuaSauce as i've said it's something i am very strongly considering at this point
23:32 rue_more I made mine modular cause i have a bigger picture that I'm working on
23:32 rue_more the limit isn't a hexapod
23:33 GargantuaSauce unlike you i am more hesitant to have a project on the go over a decade
23:33 GargantuaSauce which is probably simply a function of age
23:33 rue_more this isn't just one project
23:33 GargantuaSauce yeah i know
23:33 rue_more that peices that I made for that project are for dozens of projects
23:34 GargantuaSauce anyway if i manage to find a decent source of gear motors i will likely do it
23:34 rue_more make them
23:34 rue_more geez people
23:34 rue_more http://eds.dyndns.org/~ircjunk/tutorials/mech/gearbox/gearbox.html
23:34 GargantuaSauce i do not have a huge box of motors
23:35 GargantuaSauce i have like...maybe 15 and they're all very different
23:35 rue_more see that you dont need one
23:35 rue_more yes, everything in the world is different
23:35 GargantuaSauce if i am building servos for a hexapod i feel the need for there to be a degree of uniformity
23:35 GargantuaSauce because i am a tightass like that
23:35 rue_more uniformity comes in firmware
23:36 GargantuaSauce i honestly will be astounded if your results reflect that notion
23:36 GargantuaSauce certainly looking forward to it though
23:36 GargantuaSauce not like your work hasn't been a big chunk of my inspiration already
23:38 rue_more each servo has offset and scale
23:38 GargantuaSauce well it'd make for significant differences in the control loop parameters, and also torque limits
23:38 GargantuaSauce maximum speed
23:39 GargantuaSauce variations in the correlation between torque and current
23:39 rue_more if your designeding to runt eh servos at the limit of their capability, your verry in the wrong
23:40 GargantuaSauce i definitely am not comfortable using that sort of cobbled together set of hardware
23:41 GargantuaSauce if i am as lucky as you to come across a dead vending machine? sure
23:41 rue_more your design should fall well within the limits of the hardware
23:41 GargantuaSauce when the limits of the hardware are all over the place that predicate becomes much more difficult to fulfill
23:42 GargantuaSauce especially i think when it comes to the actual control and dynamics!
23:42 rue_more sissy
23:42 rue_more cant deal with a few minor real world variances
23:42 GargantuaSauce we're talking a full software characterization of each individual servo
23:43 rue_more pff
23:43 GargantuaSauce which is certainly something i want to be able to approach
23:43 GargantuaSauce AFTER i figure out how the fuck to do it when they're all the same
23:43 rue_more if its modular you simply adjust each one into proper operation
23:44 rue_more you think the grass is greener
23:44 rue_more its funny
23:44 rue_more what you dont know is that even when they are all 'the same' their really not
23:44 GargantuaSauce i am well awar
23:44 GargantuaSauce it's a question of degrees
23:44 rue_more you might as well ahve devices that are radically different for the amount of compensation you need
23:44 GargantuaSauce when they're close enough assumptions can be made and reasonable results achieved
23:45 rue_more thats why feedback loops exist
23:45 GargantuaSauce also you are mischaracterizing my attitude
23:45 rue_more to make things like transistors beheve the same even tho they aren't
23:45 rue_more to make fixed gain devices out of things with gain all over the map
23:45 GargantuaSauce i am digging in my heels because this project has already ballooned in scope and i know i have to stop that before i spend years half-building something
23:46 GargantuaSauce i come from the software field
23:46 rue_more yea, mine balooned too
23:46 GargantuaSauce that is where millions of man hours go to die
23:46 rue_more RESISTANCE IS FUTILE, I SHALL BE VICTORIOUS
23:46 rgantuaSauce lowers rue_more's Vgs t
23:46 rue_more SO much has changed since i started that project
23:47 rue_more but the stuff I'v designed for it has been reused in more than a dozen different other projects
23:47 rue_more its starting to become lego for me
23:47 GargantuaSauce yeah i won't be there for some time
23:47 rue_more right now, I can turn almost anything into a digital servo without any effort
23:47 GargantuaSauce both in tools and mindset
23:47 Triffid_Hunter GargantuaSauce: how many motors on your hexapod?
23:47 GargantuaSauce 24
23:48 rue_more 4 axis legs? cool
23:50 GargantuaSauce 24 locomotive ones that is, i am going to have a smattering more little 9g servos on there for camera gimbals and whatever else
23:51 GargantuaSauce assuming i can tolerate their wonderful jitter
23:57 GargantuaSauce wow international rectifier's ecommerce system is so bad
23:57 GargantuaSauce their part selection bit is great but the cart and stuff? awful