#robotics Logs

Jan 05 2019

#robotics Calendar

03:42 AM flav0r: HEY HEY !!!
03:46 AM ldlework: HO HO !!!
03:46 AM rue_mohr: hay!
03:49 AM ldlework: THESE BROKEN BOTS HAVE GOT TO GO
03:51 AM mumptai: about open-hardware for robotics, is there any use for designs that expect someone else to go through all hassle of small scale manufacturing mechanics and electronics?
03:54 AM mumptai: e.g. droping schematics and code on a public server doesn't help a lot
04:03 AM rue_mohr: hmm
04:04 AM rue_mohr: well, it reduces the odds of the wheel being reinvented
04:05 AM mumptai: maybe
04:05 AM rue_mohr: and, not everyone has a lathe and a 3d printer
04:05 AM mumptai: but if i look at the amount of bldc-drivers out there
04:06 AM rue_mohr: what is each person trying to achive
04:06 AM rue_mohr: there will be conflicting goals
04:06 AM rue_mohr: part count, operational quality, size, thermal managment,...
04:06 AM mumptai: of course, after looking at all the drivers, i designed yet another
04:07 AM rue_mohr: that was your own balance of the compromises
04:07 AM mumptai: yes
04:08 AM mumptai: but it ain't that special in the end
04:08 AM rue_mohr: which of them are?
04:08 AM rue_mohr: so, how does your work, does it have feedback sensors? what voltage? what current? what speed can it get to? is the speed regulated?
04:08 AM rue_mohr: serial, analog control?
04:09 AM mumptai: some are, most are almost generic with little adaptions that make them hard to re-use for different applications
04:09 AM rue_mohr: so the trick would be to post the schematic so people can craft their own pcb around it
04:10 AM rue_mohr: by dragging the compnents around, clicking autoroute and getting it printed, not even being aware that 10 thou traces cant take 40A cause, hey, university.
04:11 AM mumptai: its intended to be used inside a battery powered robot. Is either CAN or UART controller, supports two encoder inputs, motor voltage can be 0-30V and current is limited to your choice of SO-8 mosfet (5A is easily possible), the controller is a stm32f072 so there is plenty room for controllers and more sophiticated things
04:12 AM rue_mohr: hmm
04:12 AM mumptai: voltage- and current-sense are also built-in
04:12 AM rue_mohr: what if the controller locks up
04:12 AM mumptai: feedback is hall-sensors
04:12 AM rue_mohr: k
04:13 AM mumptai: locks up?
04:13 AM rue_mohr: you dont knwo that sometimes power bumps cause controllers to sieze
04:13 AM rue_mohr: esp below 1.2V
04:13 AM rue_mohr: (0-30V)
04:14 AM mumptai: well, it expects supplies to be split into motor-power, gate-drv and logic
04:14 AM rue_mohr: its a general argument for not using microcontrollers for thingsl ike current limiting, if they lock up when a fet is on, things explode
04:14 AM mumptai: also the grounds are split
04:14 AM rue_mohr: avrs are pretty good, not worked with stm enough to know either way
04:15 AM rue_mohr: pic are HORRID
04:15 AM rue_mohr: they lock up all the time
04:15 AM mumptai: probably there is a brow-out detection
04:15 AM mumptai: haven't checked
04:15 AM rue_mohr: :)
04:15 AM mumptai: also logic supply is 6-7V and regulated to 3.3 locally
04:15 AM rue_mohr: sometimes its just EMI suseptability
04:16 AM mumptai: so there is plenty of room for voltage drops and bad wiring practices
04:16 AM mumptai: the CAN interface is moderately okay EMI wise, i also use it for the UART
04:16 AM rue_mohr: I'v had PICs that I isolated the hell out of, and a motor starting up would still cause the thing to lock up
04:17 AM mumptai: but dV/dt can still do that
04:17 AM rue_mohr: tho, I have an avr thats got a issue where the load kicking in pulls up the ground rail causing the avr to reset
04:18 AM mumptai: and motor-drivers can have plenty of it
04:18 AM rue_mohr: 48V robot with 100V motors
04:18 AM rue_mohr: arg, I bet all the batteries are fried again
04:19 AM mumptai: 48V with 300ns rise times is rather nasty
04:21 AM rue_mohr: ok I have to go rework my force feedback servo for its next firmware
04:21 AM rue_mohr: wait, I ahve to work out the baud rate first
04:21 AM rue_mohr: http://ruemohr.org/~ircjunk/avr/baudcalc/avrbaudcalc-1.0.8.php
04:21 AM rue_mohr: ...
04:22 AM mumptai: i could also the 2nd encoder input to do deflection sensing in a series eleastic actuator
04:22 AM mumptai: but how got time for that
04:22 AM rue_mohr: what are you using it for?
04:23 AM mumptai: standard speed and position servo stuff
04:23 AM rue_mohr: ah
04:23 AM rue_mohr: can you do torque control?
04:23 AM mumptai: and odometry in a wheeled robot, that was the primary reason for the 2nd encoder input
04:24 AM mumptai: i can do current-limiting, but it ain't very precise
04:24 AM rue_mohr: hmm, no force feedback for you
04:24 AM mumptai: though deflection of the series elastic element would alow that
04:24 AM rue_mohr: mhm
04:25 AM mumptai: which i haven't done yet
04:25 AM rue_mohr: ok, hardware
04:26 AM mumptai: anyways most motors have a strong variation in their torque/current relationship
04:27 AM mumptai: unless you bother to buy a expensive one, or deal with the anti-cogging in software it ain't very precise
04:28 AM mumptai: and the later requires an absolute position snesor of the rotor
04:29 AM rue_shop1: mmm
04:29 AM rue_shop1: I'm using inkjet printer servomotors
04:29 AM rue_shop1: not lots of cogging
04:30 AM mumptai: yeah, maybe a good choice
04:30 AM mumptai: and cheap BLDC aren't
04:30 AM rue_shop1: heh
04:31 AM rue_shop1: no, I was surprised when I got one from china
04:31 AM rue_shop1: min speed was like 8-/
04:31 AM rue_shop1: hadn't actaully thought about min. speed for them, but their sensorless too
04:31 AM mumptai: especially if it has to be used with BEMF
04:31 AM rue_shop1: hmm drat
04:32 AM rue_shop1: I recon I cant use the uno board for this servo anymore, as I need the serial port
04:32 AM mumptai: there has been work done on sw-based anti cogging stuff
04:33 AM mumptai: here for example: http://tropical-labs.com/mechaduino/
04:33 AM rue_shop1: arg, I dont want to solder pins on the pro-minis
04:34 AM rue_shop1: haha I like the bodge for the nema23
04:35 AM mumptai: yeah
04:36 AM mumptai: "industrial servo" but the only interfaces are usb, uart on 3.3V and I²C
04:36 AM rue_shop1: I like the "smart motor" Idea, with a control board on the back of the motor itself
04:36 AM rue_shop1: wait, wtf is a 14 bit encoder?
04:37 AM rue_shop1: wait, wait, wtf
04:37 AM mumptai: well in this case it can't be done without, the magnetic encoder has to be mounted to the motor
04:37 AM rue_shop1: why isn't the encoder on an edge interrupt to the uC
04:37 AM rue_shop1: oh its a resolver?
04:38 AM mumptai: and its SPI
04:38 AM rue_shop1: still reading
04:38 AM rue_shop1: hahah cute arduino pinout
04:39 AM mumptai: anyways running a few of those from a common psu, and not having a decent bus will suck
04:39 AM rue_shop1: hmm
04:40 AM mumptai: something, can, rs485, rs422 or maybe even rs-232 would help a lot
04:40 AM rue_shop1: I'v not used canbus yet, how is it?
04:40 AM mumptai: yet another message transfer thingy
04:41 AM mumptai: you might want a decent lib supporting it though, the peripherals tend to be a bit complex
04:42 AM mumptai: and you might want to ignore openCAN and similar things
04:42 AM rue_shop1: awkward
04:42 AM rue_shop1: I have
04:42 AM rue_shop1: more stm32 than pro mini
04:43 AM mumptai: we currently use a master/multi-slave configuration that uses UARTs and the CAN drivers
04:43 AM mumptai: very simple
04:43 AM rue_shop1: this needs a pro mini on a breadboard, but I dont want to solder them up, cause I drop them more or less right into things
04:44 AM mumptai: no bus contention as with rs-485
04:44 AM rue_shop1: I cant just get more pro mini
04:44 AM rue_shop1: shipping for 1 is like $16
04:45 AM rue_shop1: but, even beofre shipping the stm32 is cheaper
04:47 AM rue_shop1: yea, its like $9 now for a pro-mini
04:47 AM mumptai: still way cheaper that custom PCBs
04:47 AM rue_shop1: yes, but it is cheaper than DIP m328 from dk
04:49 AM rue_shop1: I can 3d print a DIP clip to program them
04:49 AM rue_shop1: only $3 for a DIP
04:50 AM rue_shop1: which is only $1 over the board cost of a chineese pro mini
04:50 AM mumptai: twisted price structure
04:51 AM rue_shop1: and the only diff is the lack of crystal
04:51 AM rue_shop1: and a pullup resistor
04:52 AM rue_shop1: price break at 25pcs, but thats $70 of parts
04:54 AM rue_shop1: yea, the stm32 is $8 w/ship from china now too
04:55 AM rue_shop1: at some point chineese sellers are gonna realize its not just a little dip in sales
04:56 AM mumptai: gotta go, fixing a roof
04:56 AM mumptai: bbl
04:58 AM rue_shop1: hmm
05:02 AM rue_shop1: damnit stm32 is $9ea from dk
05:41 AM rue_shop1: ok, I found two m328 with pins already on them
05:42 AM rue_shop1: and it looks like I stocked a bunch of atmega88, so I can migrate this project to those if I want
05:56 AM rue_shop1: ok, flashed
06:03 AM rue_shop1: hahahah I forgot to write in half the code
06:03 AM rue_shop1: *sigh*
07:18 AM rue_mohr: apparently I cant think, gonna sleep now
02:02 PM X-Scale: Saw yesterday on NHK World an extended program about Robocon 2018. Vietnam had some really fast and accurate robots on that competition. They end up winning it.
03:03 PM rue_mohr: cool
03:03 PM rue_mohr: my force feedback source from last night is a flop so far
03:04 PM rue_mohr: changed too much at once
03:06 PM veverak: know that feeling
03:06 PM veverak: I did a lot of feature coding
03:06 PM veverak: but I feel the code is rubbish now in a lot of part
03:06 PM veverak: s
03:06 PM veverak: should refactor
03:07 PM veverak: but I have urgent need to code more features...
04:05 PM deshipu: features are for the week
04:05 PM deshipu: when I was your age, young man, we hardly had two features to rub together
04:06 PM veverak: lol
04:12 PM deshipu: veverak: I got the logicoma model out of my drawer, hopefully I will finish it this time
04:12 PM veverak: !!!!
04:12 PM veverak: deshipu: that's awesome!
04:12 PM veverak: I was thinking about making a ... "design model" for my walkers
04:12 PM veverak: (althought for simulation)
04:13 PM deshipu: I think that rolling+walking is a pretty much unexplored territory
04:14 PM deshipu: some interesting things are possible
04:14 PM veverak: yup
04:14 PM veverak: exactly :)
04:14 PM deshipu: for example, the legs are only 2dof, so it can't turn in place by walking, but it can turn in place by rolling
04:14 PM veverak: and for some time I suspect it will be only 'switching' between two separate modes
04:14 PM veverak: the robots in movie have more than 2 dof no?
04:15 PM deshipu: in movie they have gazillions of dof, and the mechanical parts overlap each other
04:15 PM veverak: yeah
04:15 PM veverak: :)
04:15 PM deshipu: lazy animators
04:16 PM veverak: :D
04:16 PM veverak: yeah
04:16 PM veverak: I was also thinking of star wars walker
04:16 PM veverak: 6 legs
04:17 PM deshipu: 6 legs would be interesting to me only because then I could walk on 4 and use 2 as manipulators
04:19 PM veverak: exactly
04:19 PM veverak: :)
04:29 PM deshipu: there is also one more configuration for a 4-legged walker that I would like to experiment with at some point, but probably not this year
04:29 PM deshipu: a gorilla
04:29 PM veverak: yup
04:29 PM deshipu: or a humanoid with sticks
04:29 PM veverak: I was thinking of some non-symetric design in general
04:29 PM veverak: but more frog-like
04:30 PM deshipu: reading about Liu algebras now
04:30 PM deshipu: that should help a lot
04:31 PM veverak: interesting
04:34 PM deshipu: that book you recommended is about it
04:34 PM deshipu: thanks for that
04:35 PM deshipu: Lie algebras, sorry
04:35 PM veverak: I see
04:35 PM veverak: have to read it better than
04:35 PM veverak: :D
04:48 PM deshipu: I wish I paid more attention at algebraic geometry classes
04:51 PM veverak: :)
05:02 PM rue_shop1: GOT IT!
05:02 PM rue_shop1: the last bug was that I masked off the bottom 8 bits with 0x0F
05:02 PM rue_shop1: :)))
05:03 PM veverak: :D
05:04 PM deshipu: haha, the mythical "last bug"
05:07 PM rue_shop1: ;) its SO satisfying to play with
05:07 PM rue_shop1: if you unplug the serial connection, they both just hold their positions
05:07 PM rue_shop1: if you break one direction of the connection, one side follows the side your otherwise just fighting
05:08 PM rue_shop1: and its completely symmetric
05:09 PM rue_shop1: so, two things I'd like to work on, are a) a ease-in on boot, so that they dont both try to snap to each others position, but gradually ease into it
05:09 PM rue_shop1: b) a soft-limit, so you cant take either servo to the pot stop
05:10 PM rue_shop1: its a force feedback servo, I can just hold the user away from the limit
05:11 PM deshipu: sigh, wouldn't it be nice to not have to do with cheap stuff :)
05:11 PM rue_shop1: it might also be good to have a comm failure mode, turn off the output driver or something
05:11 PM rue_shop1: its sad, I cant move forward with the stm32 stuff
05:11 PM rue_shop1: they are $10ea now
05:11 PM rue_shop1: I'm back to m328 dips
05:11 PM rue_shop1: from digikey
05:12 PM rue_shop1: I have a lot of the stm32 to play with
05:12 PM rue_shop1: but its a limited supply
05:12 PM rue_shop1: this code should also be running like 4 servo loops
05:13 PM deshipu: the samd chips look like a good deal these days
05:13 PM rue_shop1: but whatever, casue I dont have that much hardware yet
05:13 PM rue_shop1: samd?
05:13 PM deshipu: atmel samd11, samd21 and samd51
05:14 PM deshipu: they have native usb and progressively more memory and speed
05:14 PM deshipu: I use samd21 in my game console
05:14 PM deshipu: cortex-m0
05:15 PM rue_mohr: what about cost tho
05:15 PM rue_mohr: I need cheap
05:16 PM rue_mohr: I dont make money on any of this
05:16 PM deshipu: I got 10 samd21 for $3 a piece
05:16 PM deshipu: at mouser
05:17 PM deshipu: which is not the cheapest distributor
05:17 PM deshipu: https://www.mouser.ch/ProductDetail/556-ATSAMD21E18A-MU
05:17 PM rue_mohr: the dip m328 is $3
05:17 PM deshipu: there is also a tqfp package
05:18 PM rue_mohr: I cant etch that good yet
05:18 PM rue_mohr: your on a different financial scale
05:18 PM deshipu: well, samd21 is 32 bit, 48MHz (with internal clock), 32kB ram, 256kB flash
05:18 PM deshipu: and a timer on every pin
05:18 PM rue_mohr: ? hmm
05:19 PM rue_mohr: I wanted to go arm because generic hardware
05:19 PM deshipu: this is arm
05:19 PM rue_mohr: erm, generic core
05:19 PM deshipu: cortex-m0
05:19 PM rue_mohr: oh
05:19 PM rue_mohr: well that fits the goals
05:19 PM rue_mohr: does it come in dip?
05:19 PM deshipu: hahaha, no
05:19 PM rue_mohr: does it come in a package with a .05" pitch?
05:19 PM deshipu: but there are those breakout boards...
05:19 PM veverak: 00:16:07 rue_mohr │ I cant etch that good yet || what, YOU?
05:19 PM veverak: YOU DO NOT HAVE PCB FACTORY?
05:20 PM rue_mohr: my resist system uses a xy plotter and a resist pen
05:20 PM rue_mohr: toner transfer has been a 0% success rate
05:20 PM veverak: we use CNC at hackerspace
05:20 PM veverak: decent results
05:20 PM Tom_itx: not true
05:20 PM deshipu: https://www.aliexpress.com/item/5PCS-QFP-TQFP-LQFP-Adapter-Board-Compatible-with-16-80-pin-DIP-Supporting-0-4-0/32858476703.html
05:20 PM rue_mohr: well I'd like you to take me thru your process
05:20 PM Tom_itx: i've had around 90% success
05:21 PM veverak: not sure about small packages thou
05:21 PM rue_mohr: Tom_itx, no, my toner trnansers never worked
05:21 PM rue_mohr: _I_ have had a 0% success rate
05:21 PM veverak: deshipu: those are awesome
05:21 PM Tom_itx: what laser printer?
05:21 PM rue_mohr: and it always takes 10x longer to toner trasnfer, I can do a direct resist in 5 mins
05:21 PM deshipu: rue_mohr: samd11 comes in soic-14
05:21 PM rue_mohr: yes
05:21 PM rue_mohr: deshipu, that I can do
05:21 PM deshipu: rue_mohr: https://www.mouser.ch/ProductDetail/Microchip-Technology-Atmel/ATSAMD11C14A-SSUT?qs=sGAEpiMZZMu0dYp3dYbBlUhUq5NCMm18sG273%252bkIfWo%3d
05:21 PM deshipu: $1.20 a piece
05:22 PM rue_mohr: kitty litter, noodles, milk....
05:22 PM rue_mohr: deshipu, oh , canadian
05:22 PM deshipu: less memory and so on, but still pretty nice
05:22 PM rue_mohr: $17/10pcs + chipping
05:23 PM rue_mohr: but I wan to know how your doing cnc boards
05:23 PM rue_mohr: later
05:23 PM rue_mohr: I have to work out this chopping trip
05:34 PM veverak: eagle is also usable
06:15 PM rue_mohr: but pcb _to_gcode, pcb isn't a generic format...
06:17 PM veverak: uses gerber I think
06:17 PM veverak: it's atool
06:17 PM veverak: https://sourceforge.net/projects/pcb2gcode/
06:18 PM rue_mohr: o
06:18 PM rue_mohr: I'll play later,
06:18 PM rue_mohr: what hours are you normally up? (relitive to now)
06:18 PM veverak: 1:17 am
06:18 PM veverak: for me
06:19 PM rue_mohr: no, relaitive to now
06:19 PM veverak: from around 8 hours from now
06:19 PM veverak: is up
06:19 PM veverak: until around time that is now
06:19 PM rue_mohr: so 0 to +8 relative to now?
06:19 PM rue_mohr: oh -8 to 0
06:19 PM veverak: sorry
06:19 PM veverak: 0 to +8 sleeping
06:19 PM veverak: +8 to +16 awake
06:20 PM rue_mohr: ok
06:20 PM veverak: meaning, gn!
06:20 PM rue_mohr: gn
06:20 PM rue_mohr: -16 to -8
06:20 PM rue_mohr: ok
06:20 PM rue_mohr: thats hard
06:20 PM rue_mohr: so look for morning intersection
06:21 PM rue_mohr: I'm so thrilled this serial force feedback system works
06:21 PM rue_mohr: right now its hardware<->hardware
06:21 PM rue_mohr: but I can replace one end with a virtual object
06:34 PM Tom_itx: $100/roll? i thought it came in blocks
06:34 PM Tom_itx: it's re'useable ya know
06:35 PM Tom_itx: https://www.machinablewax.com/
06:35 PM Tom_itx: https://www.machinablewax.com/product.php?product=52
06:35 PM Tom_itx: there. print it
06:36 PM Tom_itx: When used for lost wax casting, the burnout is extremely clean (much better than using plastic filament). This product can also be polished, machined, and carved MUCH easier than plastic filaments.
06:37 PM Tom_itx: may require a feed drive update
06:41 PM Tom_itx: https://www.matterhackers.com/store/3d-printer-filament/moldlay-filament-3.00mm
06:41 PM Tom_itx: costs more
06:41 PM rue_mohr: it comes in 3d printable rolls
06:42 PM Tom_itx: ^^
06:42 PM Tom_itx: yes
06:42 PM rue_mohr: yes, 3d printer tho
06:42 PM Tom_itx: 2 different links for rolls
06:42 PM Tom_itx: first one is 49.00
06:42 PM rue_mohr: 50 per roll
06:42 PM rue_mohr: $10 shipping
06:42 PM Tom_itx: cheaper than the 2nd link
06:42 PM rue_mohr: usd2cad(50+10) = $90+
06:43 PM Tom_itx: move.
06:43 PM Tom_itx: or step across to pick it up :)
06:43 PM rue_mohr: thats only a $15 savings
06:44 PM Tom_itx: https://filaments.ca/products/moldlay-filament-1-75mm
06:45 PM rue_mohr: loped for casting and becomes completely liquid at 270°C!
06:45 PM rue_mohr: so does pla...
06:46 PM Tom_itx: maybe it's thinner when liquid
06:47 PM rue_mohr: whats made from LDPE?
06:47 PM rue_mohr: shopping bags?
06:48 PM rue_mohr: anyhow, if I have a filament machine I can play that way too
06:48 PM rue_mohr: I womnder hpow much they want for shipping
06:50 PM rue_mohr: this is like recusion at its worst, if I limit my reporting position to 240/255, then the other side will fight at that position, and it will in turn fight me at that position, so by not reporting it, I cant pass it
06:52 PM rue_mohr: I'm trying to get the servo to keep the user off the hard-stops
06:57 PM rue_shop1: ok, that basically works
06:58 PM rue_shop1: a) a ease-in on boot, so that they dont both try to snap to each others position, but gradually ease into it
06:58 PM rue_shop1: <rue_shop1> b) a soft-limit, so you cant take either servo to the pot stop
06:58 PM rue_shop1: c) it might also be good to have a comm failure mode, turn off the output driver or something
06:58 PM rue_shop1: the ease-in wont work with the arduino bootloader
06:58 PM rue_shop1: the soft limit is not working
06:59 PM rue_shop1: how do I work out a comm failure...
07:00 PM rue_shop1: TxBuffMaint(1, PackBits(limit(AdcValues[0], 10, 1013),0));
07:00 PM rue_shop1: that is cool tho
10:16 PM Tom_itx is now known as Tom_L