#robotics | Logs for 2016-01-12

Back
[00:26:27] <vicarion> what other simulation options are there for robotics besides gazebo?
[00:31:54] <Hyratel> https://en.wikipedia.org/wiki/Robotics_simulator
[00:31:57] <Hyratel> vicarion,
[00:32:41] <vicarion> Hyratel: yeah, i was looking at that just before. but i was also curious as to what people actually used, if anything
[00:59:08] <RyanS> Hyratel, I mounted a 1m moment arm on my wheelchair motor, scales read 4.6kg.. so 46nm (76amp stall, but I was hoping for less than 60). that can hual 70kg up a 50° incline at 3.6km/h according to robotshops calculator. so idk 35kg robot and perhaps 30kg payload makes sense
[01:00:04] <Hyratel> Nm
[01:00:11] <Hyratel> if you mean Newtonmeters
[01:01:57] <RyanS> yeah
[01:04:34] <RyanS> nm Nm whatever
[01:36:39] <Hyratel> sorry, not 'whatever'
[01:36:47] <Hyratel> unit capitalisation is important
[01:36:52] <Hyratel> M Mega, m micro
[01:39:49] <rue_house> so the 27MM peice of glass they gave me should have been larger?
[01:40:52] <Hyratel> retailers are notoriously bad about that
[01:48:57] <RyanS> 27 Mega Megas?
[01:50:01] <RyanS> 27Mm thats a big piece of glass
[02:53:55] <RyanS> eevblog.... strueth cobber
[08:38:07] <deshipu> mega meters
[08:57:48] <jhylands> deshipu, did you see my new power board? - the PCBs arrived yesterday
[08:58:05] <deshipu> no, show me
[08:58:08] <jhylands> https://app.box.com/s/99lqhvt86c3qfzl0hbz4kr5wj288dj18
[08:58:51] <deshipu> ugh, that footprint looks fun to solder
[08:59:22] <deshipu> 1.25mm headers everywhere, too
[08:59:31] <jhylands> yep
[08:59:54] <jhylands> the chip is 0.5mm pitch
[09:00:47] <deshipu> are those jumpers on the back side?
[09:00:55] <jhylands> sort of
[09:01:15] <jhylands> they default to 3.3 volts, but you can cut the trace and solder a blob to make them 5 volts
[09:01:36] <jhylands> basically these: http://dhylands-examples.blogspot.ca/2014/06/example-of-solderable-jumperswitch.html
[09:02:41] <jhylands> So the I2C, SPI, and GPIO headers can each provide either 3.3 or 5 volts to whatever is plugged in
[09:06:24] <deshipu> cool
[09:06:49] <deshipu> I'm still waiting for the version 1 of my pcbs before I send out version 2
[09:07:04] <jhylands> heh
[09:07:26] <jhylands> I'm pretty happy with this, at least as it looks
[09:07:52] <jhylands> but I'll have to wait until later this week (when I get the stencil) to solder one up
[09:07:55] <jhylands> and test it
[09:08:10] <deshipu> though i have them panelized alrady http://paste.sheep.art.pl/9c8b581d-a828-4a55-8b3d-0da981c11bed/%2Binline
[09:08:40] <jhylands> nice
[09:08:55] <deshipu> the dense one is a servo board, for replacing insides of SG90
[09:09:33] <jhylands> you're just replacing one, or this is a test version?
[09:10:10] <deshipu> this is 2nd version, I still need to program the attiny85 properly
[09:10:26] <deshipu> maybe switch from i2c to that async serial
[09:10:31] <jhylands> so you're going to turn it into a smart servo?
[09:10:39] <deshipu> yeah, pretty much
[09:10:46] <deshipu> a smart servo for $3
[09:10:48] <jhylands> yeah, async serial works nicely
[09:10:52] <veverak> i2c not good enough why? (interested)
[09:11:06] <jhylands> does the tiny85 have a hardware uart?
[09:11:25] <deshipu> veverak: it's probably good enough, but attiny doesn't have hardware twi and rapsberry pi has a time stretching bug in its i2c hardware
[09:11:48] <deshipu> not that attiny has a hardware serial either...
[09:12:32] <jhylands> what speed are you running it at, and are you using an external crystal/resonator, or internal?
[09:12:44] <deshipu> internal, 1Mhz
[09:12:59] <jhylands> okay, so you won't be running your bus at 1 Mbps
[09:13:00] <deshipu> I guess I could do 8Mhz on it
[09:13:37] <deshipu> jhylands: that's why I choose i2c initially -- it doesn't depend on common clock
[09:14:01] <jhylands> does it have a hardware timer?
[09:14:10] <deshipu> several
[09:14:12] <deshipu> also USI
[09:14:35] <deshipu> which is kinda part of an UART/TWI
[09:14:35] <jhylands> my brother wrote a nice timer-based uart for avrs
[09:15:07] <deshipu> I will be looking for something that uses USI
[09:15:34] <jhylands> https://github.com/dhylands/projects/tree/master/common/avr
[09:16:23] <deshipu> heh, 1wire is an option too
[09:16:38] <jhylands> not really fast enough
[09:16:44] <deshipu> 50Hz
[09:16:53] <deshipu> is what I need
[09:17:00] <deshipu> 2 bytes
[09:17:05] <jhylands> right, but you need to figure the bit rate
[09:17:07] <veverak> deshipu: I see
[09:17:34] <deshipu> I will see, right now I really have enough of that particular project
[09:17:42] <jhylands> are the two bytes ID and position?
[09:17:59] <deshipu> also, I got a pocket scope for Christmas and I already want to smash it against the wall
[09:18:17] <deshipu> jhylands: just position, id is part of the protocol
[09:18:24] <jhylands> ok
[09:18:33] <rue_house> deshipu, hows the project going?
[09:18:39] <jhylands> I just ordered one of these: https://www.lab-nation.com/
[09:18:42] <deshipu> rue_house: not going
[09:18:49] <rue_house> why not?
[09:19:38] <deshipu> rue_house: because I got frustrated with it, also I'm sick, also busy at day job, also I want to kill all humans
[09:19:54] * deshipu stomps his geet
[09:19:56] <deshipu> feet
[09:20:00] <rue_house> I think there is a pill you can take for that
[09:20:10] <rue_house> not being sick, unfortunatly
[09:20:23] <deshipu> there are no pills for curing sickness
[09:20:26] <rue_house> your working on a servo controller?
[09:20:33] <deshipu> but we have one that makes you not care ;)
[09:20:38] <veverak> :D
[09:20:51] <deshipu> rue_house: among other things
[09:21:01] <deshipu> I have a whole bunch of half-done stuff
[09:21:05] <rue_house> I take it, its not better than mine yet?
[09:21:34] <deshipu> right, you had some pwm code out there
[09:22:02] <deshipu> but only a couple of servos at once, right?
[09:22:08] <deshipu> I want 18
[09:22:31] <veverak> 8 servos
[09:22:37] <veverak> which is not enough at all
[09:22:50] <deshipu> enough for a simple quadruped :P
[09:23:18] <deshipu> now i'm using the code from Stubby
[09:23:23] <deshipu> which is pretty neat
[09:23:33] <deshipu> except it doesn't seem to like 328p's timers
[09:24:03] <deshipu> after work I'm going to dive in the datasheet
[09:25:18] <rue_house> its servo controler code
[09:25:31] <rue_house> 8 servos per board, 4 boards gangable
[09:25:42] <rue_house> so, up to 32 servos on one serial line
[09:26:42] <deshipu> right now I have I2C servo controller based on 328p that has 12 servos per board, 127 boards possible on one bus
[09:26:56] <rue_house> and the timing and resolution suck
[09:27:04] <rue_house> dosn't it?
[09:27:12] <rue_house> or you havn't scoped it
[09:27:18] <deshipu> 4us resolution, 50Hz timing
[09:27:28] <deshipu> enough for my needs
[09:27:50] <deshipu> right now I'm working on making it 18 servos per board, by using a custom library for the pwm
[09:28:07] <rue_house> mhm
[09:28:11] <deshipu> just need to figure what's wrong with setting the prescalers
[09:28:35] <deshipu> https://github.com/thebiguno/stubby/tree/master/avr/lib/pwm
[09:28:46] <deshipu> this is the code I'm basing this on, btw
[09:29:17] <rue_house> so its way worse than mine for resolution
[09:29:36] <deshipu> this new one? not sure
[09:29:47] <deshipu> also, for a servo that has 1ms dead band...
[09:31:32] <rue_house> I should make one with .25ms resolution that runs like, oh what could I do with that.... hah 96000 servos
[09:31:39] <rue_house> 1ms deadband? hehe
[09:32:41] <deshipu> 250us resolution?
[09:33:14] <rue_house> yea:) for people who care more about one controller operating lots of servos than they do about the quality of the control
[09:33:27] <deshipu> so it would have, like, 7 different positions?
[09:33:33] <rue_house> 8, yea
[09:33:56] <deshipu> could work for some use cases
[09:34:04] <rue_house> most apparently
[09:34:50] <deshipu> you probably don't want to have more than ~20 servos per board, though
[09:34:53] <veverak> rue_house: scalability would be the best
[09:35:08] <deshipu> like the esp8266 servo driver, that supports up to 24 servos at once
[09:35:08] <rue_house> I can fit 16 servos on one pro mini
[09:35:15] <deshipu> but the board onlu has 10 usable gpio pins...
[09:35:15] * veverak would prefer +- 16 servos now
[09:35:27] <deshipu> rue_house: more
[09:35:31] <rue_house> oh but I could use 4017
[09:35:38] <rue_house> so thats 160 servos per
[09:35:58] <deshipu> rue_house: you have 20 usable digital pins on a pro mini :P
[09:36:05] <rue_house> 4017
[09:36:09] <deshipu> rue_house: just do software serial on the analog pins ;)
[09:36:11] <veverak> nah
[09:36:17] <veverak> deshipu: was thinking about adding second pro mini on tote
[09:36:20] <veverak> but fu
[09:36:29] <deshipu> fu too
[09:36:29] <veverak> last two servos will be controlled directly froms raspberry
[09:36:34] <rue_house> I thik I'll do it
[09:37:03] <rue_house> deshipu, how many position counts do you get with the esp code?
[09:37:06] * deshipu holds rue_house's beer
[09:37:08] <rue_house> prolly less than 256
[09:37:37] <rue_house> if your happy with 4us, I'll make it 8us
[09:37:48] <deshipu> rue_house: https://github.com/esp8266/Arduino/blob/master/libraries/Servo/src/esp8266/Servo.cpp
[09:38:54] <rue_house> ugh, what awefull code
[09:39:28] <deshipu> they use timer's "usToTicks"
[09:39:45] <deshipu> so no idea
[09:39:54] <rue_house> so at 16Mhz, 8us is 128 cycles...
[09:39:58] <deshipu> I would need to see what resolution that timer is...
[09:39:59] <rue_house> 7 bit
[09:40:47] <rue_house> but everyone is buying those baords from ebay that aren't even 7 bit
[09:40:55] <rue_house> so I cant go and make it that good
[09:41:08] <rue_house> 6 bits...
[09:41:46] <deshipu> 1 bit
[09:42:06] <deshipu> for all those who use servos to flip a light switch
[09:42:13] <rue_house> 16us
[09:42:19] <rue_house> ok
[09:43:08] <rue_house> you know, its easy to write that, just use the libavr
[09:43:23] <rue_house> get your low rez, jittery controller instantly
[09:43:42] <deshipu> where's the fun in that
[09:44:13] <rue_house> why do you think I made such a good 8 channel controller
[09:44:27] <deshipu> not because you needed it?
[09:44:38] <rue_house> nobody else could do it
[09:45:09] <rue_house> I'm the first and only person to do hobby controller code that does 24000 counts resolution thats stable
[09:45:12] <deshipu> nobody else can put their fist in their mouth either
[09:46:17] <deshipu> (don't try it, you won't be able to get it out)
[09:46:27] <rue_house> yea I'll put the delay in the main loop and make the serial handler an interrupt, so it jitters when you send data...
[09:46:55] <rue_house> I'll put an 8 nop delay in the interrupt just cause
[09:49:04] <rue_house> I can operate 2 or 3 channels at a time at those speeds
[09:50:08] <rue_house> this will be fun, I'll see if had will take the post
[09:50:30] <veverak> well
[09:50:37] <veverak> it's still controller sw without enough servos
[10:00:00] <veverak> but
[10:00:14] * veverak got in todo to robotize 4x4 car
[10:00:18] <veverak> 2 pwm outputs
[10:00:33] <veverak> 8 servo controller could be nice
[10:00:47] <veverak> also got spare channels for some other stuff :)
[10:18:33] <deshipu> a pro mini is a 12-servo controller
[10:18:36] <deshipu> for $1.5
[10:19:27] * veverak thought rue_house thing is just SW that can be used in pro mini
[10:20:19] <deshipu> hmm, so it seems this thing goes crazy at prescalers 1 and 8, but works fine at 64+
[10:20:58] <veverak> wait a sec
[10:21:04] * veverak got arduino nano for taht device
[10:21:13] <veverak> (mainly because I've got my hands on this nice servo shield)
[10:21:22] <veverak> (and also because robot got enough space)
[10:23:53] <deshipu> yay, figured it out \o/
[10:24:04] <deshipu> the prescaller flags were not cleared
[10:29:39] <deshipu> hmm, duty fluctuates by 0.04%
[10:30:07] <deshipu> 8µs
[10:30:44] <deshipu> acceptable
[10:34:40] <deshipu> veverak: want some of those? http://dirtypcbs.com/view.php?share=9057&accesskey=027af08a451f5d346ff2f5219749f7c4
[10:35:02] <deshipu> veverak: fir nano, micro and pro mini, also teensy, trinket, etc.
[10:35:07] <deshipu> fit*
[10:35:28] <deshipu> I have a bunch I'm not using
[10:35:39] <veverak> awesome
[10:35:41] <veverak> :D
[10:36:05] <veverak> whcih reminds me that esp8266 should've arrived
[10:41:14] <veverak> nah
[10:41:17] <veverak> robots have to wait
[10:41:23] * veverak still learns a lot with ros and stuff
[10:54:47] <veverak> but
[10:55:19] <veverak> it's ony a way that one launches a script and it prepares everything for it :)
[16:00:02] <tutorialreader> what cheap ARM-based board is good for beginners? i have uC experience but i need something a little faster for what i'm doing
[16:02:46] <DagoRed> Teensy 3.1
[16:03:03] <DagoRed> Mbed boards as well tutorialreader.
[16:03:28] <tutorialreader> teensy is ARM?
[16:11:46] <deshipu> yes
[16:11:48] <deshipu> no
[16:11:52] <deshipu> depends which version
[16:12:04] <deshipu> teensy 2.0 is avr
[16:12:21] <deshipu> teensy 3.x is arm cortex-m4
[16:12:27] <deshipu> teensy-lc is arm cortex-m3
[16:13:10] <deshipu> there are also those cheap-ass chinese stm32 boards that you can program over serial with the arduino ide
[16:13:26] <deshipu> those are also cortex-m3
[16:16:00] <tutorialreader> i love my teensy
[16:16:47] <tutorialreader> i keep realizing more and more that it's not a toy
[16:18:35] <deshipu> it has a real DAC
[16:22:47] <tutorialreader> heheh, amazing
[16:23:10] <tutorialreader> alright, i'll stick with my teensy ^u^
[16:46:44] <deshipu> you can tell it's arm, because char is unsigned ;)
[16:50:31] <Snert_> http://i.imgur.com/SicQpWl.gifv
[16:52:46] <deshipu> movie props :)
[16:52:52] <ace4016> creepy? that's not creepy...
[16:58:15] <robotustra_> got http://www.ebay.com/itm/161757302117
[16:58:23] <robotustra_> assert
[17:07:21] <deshipu> that's lots of pins
[17:12:08] <Snert_> looks pretty tasty.
[17:13:42] <Snert_> they dropped the prototyping area which I like.
[17:14:53] <robotustra_> I think it's the same as arduino atmega 2560
[17:15:00] <robotustra_> but smaller
[17:51:05] <robotustra_> https://www.youtube.com/watch?v=mZ02alEkbLw
[20:24:14] <mrdata-> https://www.facebook.com/vocativculture/videos/1534460670213969/?fref=nf
[20:54:07] <robotustra_> looks like guy from breaking bad
[22:48:43] <rue_shop3> Jak_o_Shadows, http://jak-o-shadows.github.io/picturedump/3dp/sg/7.jpg
[22:48:53] <rue_shop3> is it supposed to be a stewart platform?
[22:49:23] <rue_shop3> how accurate did the ik come out?
[22:54:37] <Jak_o_Shadows> Yeah, stewart platform
[22:54:45] <Jak_o_Shadows> It's not IK: that's much easier
[22:54:54] <Jak_o_Shadows> It's the FK. It's sorta working.
[22:55:14] <Jak_o_Shadows> Doing it similar to how I did the theoretical model of a stewart platform where you could measure the changes in length exactly.
[22:55:20] <Jak_o_Shadows> (with slide pots)
[22:55:37] <Jak_o_Shadows> Thing is, the jacobian (for newton-raphson iteration) is much nastier to type out
[23:02:23] <rue_shop3> sorta?
[23:02:48] <rue_shop3> but the points are laid out differently in a stewart, thats why I ask
[23:16:26] <Jak_o_Shadows> Well, sorta in thatI think it's going to work
[23:16:43] <Jak_o_Shadows> What, the arrangement as in points clustered together and stuff?
[23:16:52] <Jak_o_Shadows> I don't think that doesn't make it a stewart platform
[23:17:18] <Jak_o_Shadows> I think that the points clustered together is probably just convention. Albeit one that probably exists for a good reason.
[23:41:38] <rue_shop3> I happened upon a steward platform and had some thoughts about the ik
[23:41:43] <rue_shop3> fk, whatever
[23:42:04] <rue_shop3> that aside, my power supply is comming along great
[23:51:34] <Jak_o_Shadows> What were your thoughts?
[23:51:52] <Jak_o_Shadows> I'm not expecting very good results with mine because pf all the slop