#robotics | Logs for 2016-03-06

Back
[00:00:01] <z64555> lol, yes
[00:01:25] <z64555> hm, letsee
[00:01:31] * z64555 looks up some geometry
[00:04:10] <Anniepoo> it's frightening that "how to make tentacles" seems to produce a lot of hits
[00:04:36] <z64555> its... uh. a common fascination of certain Asian teenagers
[00:05:16] <Anniepoo> yes, I'm not quite that naive
[00:05:34] <z64555> oh you poor soul
[00:06:37] <z64555> anyway. I'm not seeing anything in particular that says a 3-cable system wouldn't work
[00:07:08] <Anniepoo> festo has demonstrated a soft robot based on using 3 bellows
[00:08:39] <z64555> hm? the elephant nose?
[00:08:58] <z64555> http://imgur.com/gallery/G85xJaF
[00:09:04] <z64555> significantly more complex, tho
[00:10:14] <Anniepoo> http://makezine.com/2010/04/20/tentacle-robot/
[00:13:18] <z64555> yes, that's the same one
[00:15:37] <z64555> seems to have 6 cables
[00:17:06] <Anniepoo> the stan winston video's interesting
[00:17:18] <Anniepoo> the Festo one says they 3D printed the bellows sections
[00:17:20] <z64555> heh, that's a nice kite flyer
[00:17:30] <Anniepoo> yes, the kit flyer's itneresting
[00:17:47] <Anniepoo> I love Festo. I love what they do, I love the style they bring to everything they build
[00:22:56] <Anniepoo> 6 cables - two stages, 3 cables each stage
[00:24:45] <Anniepoo> The COSA finger reacts to contact with the surface it's gripping by increasing the angle of the distal joint, which seems a useful property
[00:36:01] <Anniepoo> Shapeways will print in an elastomer
[00:38:25] <Anniepoo> might be simplest to make an extruder for some cheap silicone, eg caulk, and attach to existing motion control system
[00:46:56] <SpeedEvil> you can take caulk, (acetoxy cure) mix with damp alkali, and it will cure in several minutes
[00:47:52] <Anniepoo> ah, the 'alkali' part I did not know. I do know the corn starch thing
[00:48:13] <Anniepoo> so thanks for that
[00:48:34] <SpeedEvil> I used tin oxide abrasive
[00:48:42] <Anniepoo> making an extruder should be easy. Wiring it into the motion control might be easy or hard
[00:48:51] <Anniepoo> Ooh, that's a good idea
[00:49:06] <SpeedEvil> Acetoxy cure (the stuff that smells like vinegar) cures by absorbtion of water and evaporation of the acetic acid
[00:49:22] <SpeedEvil> if you neutralise the acetic acid and supply the water, it doesn't need to do that.
[00:49:37] <SpeedEvil> Of course - proper two-part is also available though not cheaply
[00:49:54] <SpeedEvil> I used this to make concrete molds - worked well
[00:54:24] <Anniepoo> nice
[00:54:34] <Anniepoo> yes, caulk's a lot cheaper than molding rubber
[00:54:48] <Anniepoo> and it's always a lot easier to contreol a process if you know the chemistry
[00:58:16] <Anniepoo> chemistry is the one thing I know the theory, but haven't the knowledge to translate it to practice
[01:07:03] <Anniepoo> tin oxide is a lewis base?
[03:37:28] <z64555> grah, I wish I knew how to make an R matrix
[03:38:46] <z64555> I've so far deduced that it is a square matrix, whose size is based on the number of sensor inputs you have, which is represented by a vector of same size
[03:38:58] <MarkX> found this awesome resource
[03:38:59] <MarkX> http://engineeronadisk.com/book_modeling/motiona3.html
[03:39:10] <z64555> so you have you 3 inputs, you have a z(3) vector and a R(3,3) matrix
[03:40:36] <z64555> MarkX: hey, it even gives you sample code
[03:41:07] <MarkX> z64555: yep
[03:41:12] <MarkX> i'm avoiding that like the plague
[03:41:28] <MarkX> trying to do it in excel first based on the equations
[03:41:36] <MarkX> mine just doesn't come out right haha
[03:44:43] <MarkX> http://i.imgur.com/ysDy9yk.png
[03:44:55] <MarkX> mine compared to example
[03:46:17] <z64555> err, lol
[03:46:39] <MarkX> hehe
[03:46:52] <MarkX> so close :)
[04:01:00] <z64555> http://store.43oh.com/index.php?route=product/product&path=64&product_id=68
[04:01:01] <z64555> hmm.
[04:02:30] <z64555> even though they're out of stock, it does give me an idea
[04:03:17] <z64555> I could grab a blank protoboard and check if it fits, and if it does I can make that into a shield/booster pack to have everything attach to
[04:05:08] <z64555> he says, somewhat optimistically
[04:12:17] <z64555> hehe, i just so happen to have a board that fits it
[04:16:31] <z64555> oh this does look promising, the IMU board I have is also the same pitch
[04:24:06] <z64555> or I could buy a new one with a gyro and baro on it
[04:24:08] <z64555> :/
[04:24:28] <z64555> for like, $20
[04:27:03] <MarkX> http://i.imgur.com/rOFAvAy.png
[04:27:07] <MarkX> getting closer
[04:27:18] <MarkX> thats based on provided numbers
[04:28:45] <z64555> woo
[11:35:46] <rue_bed> thats position then, right?
[11:35:59] <rue_bed> whats the velocity look like?
[11:36:56] <rue_bed> MarkX, what are you coding this in?
[11:53:00] <veverak> hmm
[11:54:30] <veverak> http://rpishop.cz/797-thickbox_default/breakout-pi-plus.jpg
[11:54:42] <veverak> breakout boards such as these should be pretty available no? :)
[12:10:07] <rue_house> MarkX, your code is generating positions to match your profile that are to be clocked out at regular time intervals, right?
[12:10:24] <rue_house> maybe I should write both ways
[12:10:42] <rue_house> I could use one that generates the time intervals to have regular positions clocked out
[13:49:38] <rue_house> ugh, I ahve to repair my mouse again
[13:49:58] <rue_house> that last fix only lasted about 9 years, geez
[13:52:09] <veverak> :D
[13:52:41] <rue_house> MarkX, I see why you screwed up, you used the accleration for the deacceleration
[13:56:32] <z64555> veverak: yeah, ever since shields went mainstream, these kinds of breakout boards have become more popular
[13:57:17] <z64555> although, the one you linked I'm not too fond of, it's got a breadboard layout
[13:59:10] <veverak> well
[13:59:24] <veverak> I need to mount esp8266 and mount for cam tilt on top of raspberry
[13:59:55] <veverak> and after a while of thinking I though that it would be easier to get one of these, drill-modify it and be ahppy than try to make something custom
[14:02:57] <z64555> sounds good, I'd use headers instead of trying to solder the boards on top of each other
[14:03:13] * veverak got esp with 2.54mm breakout
[14:03:16] <veverak> should be doable
[14:03:18] <veverak> :)
[15:02:31] <myself> Okay, so balancing only matters during charging (since most balancers just bleed off the cells that reach highest voltages soonest), and a pack with an integrated BMS does that internally, doesn't need a balance connector.
[15:03:11] <myself> Flight packs don't have a BMS to save weight, relying on external balancing during charging, and no protection circuit (the other thing a BMS would do).
[15:03:38] <myself> Right? I'm new to lithium and trying to make sure my understanding is consistent.
[15:26:00] <z64555> sounds about right. In use, a battery doesn't need a BMS because all of the cells are connected in series
[15:26:22] <z64555> so it takes charge out of each of the cells fairly evenly
[15:27:02] <z64555> unless you intend to do some regenerative braking
[15:27:34] <z64555> or other in-use charging of the battery
[15:27:48] <z64555> s/in-use/in-circuit
[15:32:59] <veverak> :)
[15:34:38] <z64555> meh... I've got to start wearing vinyl gloves when I mess with superglue
[15:37:11] <veverak> http://i.imgur.com/pym72Vy.gifv what kind of sorcery is this?
[15:42:05] <z64555> the rollers have a key part on that, although I'm amazed at how well it prevents the cases from turning
[15:43:17] <z64555> Yeah, the conveyor belt(s) have cylindrical rollers going left/right
[15:43:57] <z64555> presumably they slide on top of some larger cylindrical rollers underneath that are motor driven
[15:44:59] <z64555> there might also be sensors underneath the belt, or a camera above to track each case
[15:45:06] <veverak> great
[15:45:10] <veverak> now my mouse disappeared
[15:45:12] <veverak> fu you linux
[15:50:19] <deshipu> https://cdn.hackaday.io/files/9927424716768/tote.gif
[15:52:30] <veverak> cool :)
[15:53:07] <z64555> exploding servos!
[15:56:34] * veverak tried to make shape for customized pcb
[15:56:35] <veverak> http://veverak.org/~squirrel/laptop/scad/beta.png
[15:56:47] <veverak> beta version
[15:59:49] <deshipu> looks like a pi
[16:00:27] <veverak> yep, it's pi
[16:03:27] <z64555> ah, making a layout sketch?
[16:03:43] <veverak> yep
[16:14:07] <veverak> so far going wild
[16:14:14] <veverak> be want to make it smaller during time though
[16:14:17] <veverak> *but
[16:19:01] <Anniepoo> I have a big piece of hot pink long haired fake fur
[16:19:04] <Anniepoo> 8cD
[16:27:32] <z64555> fake fur? what
[16:27:54] <z64555> oh, one of those fluffy thingies girls wear around their necks
[16:28:22] <z64555> I think
[16:28:27] * z64555 abandons thread
[16:33:29] * The_Jester pokes Rue
[16:33:52] <The_Jester> Rue's pbx is dead
[16:37:26] <The_Jester> greets to all humans!
[16:51:57] <z64555> what's a human
[16:52:11] <z64555> I keep seeing that token around here
[16:52:19] <z64555> there's nothing in my dictionary
[17:01:50] <MarkX> rue_house: so sorry, was asleep all day and awake all night
[17:02:30] <MarkX> in regards to your question, that pic shows an excel implementation of the equations provided on this site >> http://engineeronadisk.com/book_modeling/motiona3.html#62210
[17:03:26] <MarkX> i didn't make a velocity one yet because i was trying to get my position correct first, but i can do that in a bit
[17:03:45] <MarkX> and yes it's generating positions to match a profile every 1ms
[17:05:40] <z64555> DagoRed: What does the R matrix usually look like?
[17:31:55] <Anniepoo> hey z - yes, think muppets
[17:32:33] <Anniepoo> I'm making a puppet. Puppetry strikes me as a great skill for doing social robotics
[17:48:57] <z64555> basically the same thing :P
[17:57:16] <rue_house> MarkX, the reason its wrong at the end is because the accel profile is upside down
[17:57:36] <rue_house> there is a ^(-1) missing somewhere
[17:58:56] <MarkX> rue_house: i'm just about to head out to do groceries. i'll check it out when i get back. thanks for the suggestion!
[18:00:30] <rue_house> if thats the code they used in marlin, it would explain a lot of things
[18:01:01] <rue_house> I need groceries too, but I'll procrastinate more
[18:09:29] <BitEvil> if I'm feeling especially lazy, I can get groceries in about 6 clicks
[18:10:16] <BitEvil> actually no - I also need to type in the three digit check code
[18:10:18] <rue_house> I think their open till 7 today, its 3:45, I have 3 hours and 14 mins to get there
[18:11:07] <rue_house> or 3 hours, 14 mins, and 59 seconds depending on how you look at it
[18:19:32] <DagoRed> z64555: I have to look it up. Right now I'm deep in taxes.
[18:20:39] <myself> " I simply did the math to come to the specs I needed, lubed up my bank account, and searched online for a vendor." -- http://www.willsjunk.com/WillChair4
[18:22:08] <rue_house> wow, he NEEDED 1/4" solid plate for the footrest?
[18:23:36] <rue_house> that could have lost about half the steel to help the batteries
[18:24:48] <rue_house> I'm really into skelatonization
[18:25:05] <BitEvil> yeah
[18:25:09] <BitEvil> shape is magic
[18:25:47] <SpeedEvil> I am pondering a moderately large extension, and have been wondering about structural cupboards.
[18:26:05] <orlock> rue: hows your printer going?
[18:26:15] <rue_house> the new one?
[18:26:20] <SpeedEvil> Take a 60cm inverted T, segment it into cupboards, and it's a really, really rigid beam
[18:26:36] <rue_house> the old one is fine
[18:26:45] <rue_house> I have to get the old one a bit more portable
[18:27:05] <rue_house> its become moderatly dependent on its environment
[18:27:47] <orlock> SpeedEvil: actually thinking of adding some of what you describe in, split level house, under the upper level between the support studs
[18:28:35] <orlock> rue_house: so theres stuff bolted to things? mines a bit like that.. filament holder, ramps fan mount mount, PSU, are all dependant on being bolted to a 19" rack
[18:29:21] <rue_house> ah, right now a cooling fan, power switch, and power supply are dependent on the profile of the desk its all sitting on
[18:29:44] <orlock> oh
[18:29:47] <orlock> power switch
[18:29:51] <orlock> i should add one of them
[18:29:52] <orlock> :)
[18:29:59] <rue_house> :)
[18:30:08] <rue_house> I cant work out how to mount it to the frame properly
[18:30:28] <orlock> have you boxed it?
[18:30:29] <rue_house> there are no easy corners I can put a properly anchored switch
[18:30:31] <rue_house> no
[18:30:32] <orlock> mines in cardboard
[18:30:36] <rue_house> hehe
[18:30:38] <orlock> tapes to the 19" rack frame
[18:30:48] <orlock> can print ABS now :)
[18:30:51] <rue_house> hehe, how many U is your printer?
[18:31:16] <orlock> unsure.. 12 or 14 maybe?
[18:31:39] <rue_house> got rid of that pesky, spacehog of a monitor?
[18:32:42] <orlock> 11, with box about 13
[18:32:51] <orlock> http://en.crypt.net.au/Prusai3/20141231_184542.jpg
[18:32:54] <orlock> that was when "new"
[18:33:44] <rue_house> its probably not good on the bearings to have everything sideways like that
[18:35:04] <orlock> heh
[18:35:20] <orlock> its the cameras auto-positioning stuff, phone knows how its oriented
[18:35:26] <orlock> some browsers will use the data, others wont
[18:35:37] <orlock> but its fine - its all actually upside down
[18:35:40] <rue_house> we have an image on the company webpage like that
[18:35:40] <orlock> australia, remember
[18:35:48] <rue_house> indeed
[18:35:54] <rue_house> you and your left-spinning drains
[18:36:22] <orlock> i might have an opportunity to change employers
[18:36:34] <rue_house> your getting fired?
[18:36:34] <veverak> damn it
[18:36:40] <veverak> just can't get proper mini pro footprint for kicad
[18:36:42] <rue_house> damn your optomistic
[18:36:43] <orlock> from the medical robot specialists to a more general engineers-that-make-anything company
[18:36:44] <veverak> nah, manual override
[18:36:46] <veverak> :)
[18:37:05] <orlock> rue_house: big company splitting into two big companies
[18:37:41] <orlock> rue_house: one for medical/life sciences/etc, the other for industrial/engineering/test/measurement gear
[18:38:27] <orlock> including Tek/Fluke, etc
[18:38:35] <orlock> while where i work now is medical gear
[18:39:35] <rue_house> can you slip out with a prosthetic brain for me?
[18:39:49] <orlock> hmm
[18:39:50] <rue_house> I'm worried I cant get my own togethor in time
[18:39:55] <orlock> i wonder which section would make that
[18:41:38] <rue_house> // how much ground is covered by the accel time?
[18:41:38] <rue_house> x = accel * t1 * t1;
[18:41:39] <rue_house> printf("during acceleration, travel is %f\n", x);
[18:41:39] <rue_house>
[18:41:39] <rue_house> // how much distance do we have a constant velocity?
[18:41:39] <rue_house> jogd = (target-start) - (2*x);
[18:41:41] <rue_house> jogt = jogd / vTop;
[18:41:43] <rue_house> t2 = t1 + jogt;
[18:41:46] <rue_house> I think this can be boiled down a lot
[18:41:57] <rue_house> t2 is the only needed result
[18:43:20] <rue_house> brain rest, time for getting groceries
[18:43:30] <rue_house> arg, and I have to change outa my play clothes
[18:55:30] <SpeedEvil> orlock: I mean the cupboards are actually structural - a beam with 60cm depth has a great advantage
[19:47:10] <rue_house> oh good, I think I can get this trapazoidal velocity profiler to be time independent, you can run forwards or backwards in time
[19:52:39] <flyback> BMCC
[19:52:45] * flyback pokes rue_house gently
[19:54:06] <myself> "tire circumference by putting a dab of grease on the tire, driving straight forward, then measuring between the two marks left on the floor. It's a bit shorter result than the mathematical way or wrapping a string around the tire" <--- sure, because part of the tire compresses against the ground, fascinating! from http://www.wheelchairdriver.com/board/viewtopic.php?f=2&t=3824&start=220
[21:13:10] <MarkX> whew
[21:13:16] <MarkX> 3 hours later, finally finished everythign
[21:14:07] <DagoRed> congrats?
[21:15:49] <MarkX> thanks?
[21:17:02] <Tom_itx> time to start a new 'everything' list
[21:17:32] <DagoRed> I'm actually about to start one of those.
[21:20:03] <MarkX> Tom_itx: hehe nah, gotta get back to the prior list that rue was assisting me with
[21:56:52] <SpeedEvil> myself: also - grease destroys tyres
[22:02:17] <myself> SpeedEvil: interesting point, given that there's a smear of petroleum-based muck all over the ground at gas stations..
[22:33:55] <MarkX> rue_house: hmm i can't find any equations where a ^ (-1) is implemented
[22:35:55] <MarkX> let me try the s-curve math instead and see how it ends up looking
[22:57:33] <z64555> a^-1
[22:57:41] <z64555> shouldn't that, uh, be -a
[23:04:23] <MarkX> i don't know how i would implement that into my existing equations
[23:04:35] <MarkX> http://engineeronadisk.com/book_modeling/motiona3.html
[23:04:38] <MarkX> reference equations
[23:10:33] <z64555> they might be talking about t_acc
[23:11:13] <MarkX> thats the acceleration time
[23:11:25] <MarkX> how long the accel period lasts
[23:11:37] <MarkX> might be the max accel though
[23:12:38] <MarkX> nope that isnt it either
[23:12:39] <MarkX> hmm
[23:12:51] <z64555> what's your code look like
[23:13:32] <MarkX> there is no code, i took their equations and put the into an excel file
[23:15:39] <z64555> yeah. i can possibly see why
[23:16:12] <MarkX> by equations i mean figure 16.7
[23:16:27] <z64555> yeah, that's the one I'm looking at
[23:16:48] <z64555> there's nothing in there to "shut off" the accelerations
[23:17:15] <z64555> the function theta(t) is a nonlinear, tri-state function
[23:17:38] <MarkX> there is also a difference between that equation and the code provided below
[23:18:04] <z64555> now, if you slap in some careful unit step functions in there, it'll be good
[23:18:04] <MarkX> but trying either way doesn't result in a proper wave
[23:20:46] <MarkX> whew it's getting late
[23:20:53] <MarkX> i read "unit" as "un-it"
[23:20:56] <MarkX> >_>
[23:21:05] <z64555> close enough XD
[23:23:06] <MarkX> let's see how the one with polynomials works out
[23:23:11] <MarkX> if i can figure out wtf i'm doing with it hahah
[23:34:44] <z64555> theta(t) = (0.5 * a_max * t^2) * U[t_acc - t] + (w_max * (t - t_acc)) * U[t - t_acc] * U[t_max + t_acc - t] + (w_max - 0.5 * a_max * (t - t_max - t_acc))(t - t_max - t_acc) * U[t - t_max - t_acc] * U[t_total - t]
[23:34:47] <z64555> phew.
[23:34:50] <z64555> a bit busy there
[23:34:58] <DagoRed> Very
[23:37:18] <z64555> so, this segments the equation for theta into 3 parts
[23:37:30] <z64555> accleration, coast, and braking
[23:37:46] <z64555> the function U[n] is the Heaviside function, also known as the Unit step function
[23:38:03] <z64555> when n >= 0, its value is 1, all other values are 0
[23:38:20] <z64555> this is what turns on/off portions of the equation
[23:39:02] <DagoRed> Oh nice.
[23:39:32] <z64555> so, U[t_acc - t] turns /off/ the acceleration portion when t >= t_acc
[23:39:52] <MarkX> oh i see
[23:39:56] <z64555> U[t - t_acc] turns it /on/ when t >= t_acc
[23:42:56] <MarkX> when its <= t_acc you mean
[23:42:57] <MarkX> ?
[23:43:15] <z64555> :)
[23:43:42] <z64555> If t < t_acc, then U[t - t_acc] = 0
[23:43:54] <z64555> since it would be negative
[23:44:04] <MarkX> ah i see
[23:45:00] <MarkX> let me try implementing this
[23:45:02] <MarkX> into excel
[23:45:05] <MarkX> and see how it goes
[23:45:14] <MarkX> well done by the way in splitting it.
[23:47:47] <z64555> you're welcome :)
[23:51:14] <z64555> similarly, you can use any of the S functions to smooth that out, if you're concered about jerk values being too high
[23:53:54] <MarkX> the weird thing with all these profiles is
[23:54:07] <MarkX> they use physics to determine position
[23:54:49] <MarkX> i can provide exact positioning because i have the potentiometer
[23:56:38] <MarkX> maybe i'm going about this the wrong way
[23:58:32] <z64555> Well, you can refactor the equation a bit so that it is more dependant on theta rather than time
[23:58:49] <z64555> but remember that velocity, acceleration, are functions of time, not theta
[23:58:57] <z64555> at least, not in their native kinematic form
[23:59:00] <MarkX> right right
[23:59:16] <MarkX> but in that regard it feels like motion profiles are wrong for this application
[23:59:38] <MarkX> because like i said, i have the actual positioning