#robotics | Logs for 2016-03-08

Back
[00:15:45] <MarkX> rue_house: have you thought about doing the s-curve
[00:16:12] <MarkX> it looks like the math is pretty similar. instead of the acceleration being a constant max, the jerk is, which ramps the acceleration
[00:16:26] <MarkX> which gives the accel/decel part of the velocity an S shape
[00:18:55] <Anniepoo> hey MarkX
[00:19:35] <MarkX> hi Anniepoo how is it going
[00:19:44] <Anniepoo> I ordered connectors. When they arrived they didn't match, but they sent both ends of the connectors they sent
[00:19:54] <Anniepoo> so I just swapped the male on the board
[00:20:01] <MarkX> which ones did you end up ordering?
[00:20:03] <MarkX> the JST?
[00:20:10] <MarkX> or the weird custom ones they had?
[00:20:20] <Anniepoo> yes, but apparently it's not a JST ph on the board
[00:20:34] <Anniepoo> so, I swapped the board side connector with a JST
[00:20:39] <MarkX> ah i see
[00:20:43] <MarkX> sorry for the bad advice then
[00:20:46] <Anniepoo> and now have that end of the problem solved
[00:20:53] <Anniepoo> that's OK - you put me on the right track
[00:21:18] <Anniepoo> anyway, I have a kit for making up female dupont connectors
[00:22:07] <Anniepoo> I made up a 4 pin dupont connector on the other end, to made with a 4 pin header on a piece of breadboard to hold a few interface components
[00:22:32] <Anniepoo> but the 4 pin dupont connector is so loose it falls off when I invert the board
[00:22:41] <Anniepoo> so probably I misassembled this connector
[00:23:00] <Anniepoo> it came as a plastic casting and 4 inditivudual contacts
[00:23:17] <Anniepoo> any advice on how to assemble those?
[00:23:29] <Anniepoo> I'd ordered a whole kit - I have hundreds of these things
[00:24:12] <Anniepoo> (and I have a second question behind this one)
[00:25:55] <MarkX> hmm
[00:25:58] <MarkX> one sec
[00:26:14] <MarkX> (btw my pc might restart at any point but i will be back pretty quick after it does)
[00:27:24] <Anniepoo> ok
[00:27:55] <MarkX> so when you plug the dupont onto the header that you have on your breadboard
[00:27:58] <MarkX> it's very loose?
[00:28:02] <Anniepoo> yes
[00:28:16] <Anniepoo> I tried several headers, so it's def. the connector
[00:28:22] <MarkX> the dupont isn't coming apart right? like the plastic isn't sliding off the metal or anything?
[00:28:30] <Anniepoo> no
[00:28:50] <MarkX> and it was the standard 0.1"
[00:28:51] <MarkX> ?
[00:28:59] <Anniepoo> yes
[00:29:02] <MarkX> hmmm
[00:29:10] <MarkX> that's strange
[00:29:23] <Anniepoo> hmm... I'm going to try an experiment
[00:29:27] <MarkX> the duponts i've worked with have been fairly fool proof as long as the size is correct
[00:29:36] <Anniepoo> I have more contacts from the same strip
[00:29:44] <Anniepoo> I'll try mating one with a header
[00:29:52] <Anniepoo> maybe I just got sold bad connectors
[00:29:54] <Anniepoo> 1 min
[00:29:57] <MarkX> k
[00:30:12] <MarkX> when you get back, where did you buy them?
[00:31:07] <Anniepoo> no name seller on amazon
[00:35:21] <MarkX> Anniepoo: sorry
[00:35:27] <Anniepoo> hey
[00:35:30] <MarkX> i just rebooted i think as soon as you replied
[00:36:04] <Anniepoo> so, they're from a no name seller on amazon. case they came in says Hilitchi
[00:36:13] <MarkX> hmmm
[00:36:20] <MarkX> so the experiment failed?
[00:36:32] <Anniepoo> they physically look ok - the stampings are crisp, the plastic casings are reasonable durometer
[00:36:52] <Anniepoo> I inserted a header pin into one of the contacts still on the strip
[00:37:07] <Anniepoo> It gripped the pin with reasonable force
[00:37:38] <MarkX> are you crimping? or soldering? or both?
[00:37:50] <MarkX> onto the contact i mean
[00:37:52] <Anniepoo> soldering
[00:38:08] <Anniepoo> also, holding a contact up against the case -
[00:38:26] <Anniepoo> I can see that the rear of the contacts inside are flush with the bottom end of the case
[00:38:51] <Anniepoo> holding an extra contact up, I see that the contacts are only going up as far as the 'window'
[00:39:09] <Anniepoo> the top end of the contact is flush with the top end of the window
[00:39:41] <Anniepoo> hang on, I'll sned some pix to instagram
[00:40:06] <MarkX> i can suggest heating up the bottom of the connector with the iron and heat it up a bit and melt a small bit of solder on there. i've had to do that before so that the space inside the connector is reduced
[00:40:21] <MarkX> that was when we got shoddy ones though that weren't 0.1"
[00:40:41] <MarkX> and it took some finesse and a few attempts to know how much solder to melt in
[00:42:21] <Anniepoo> https://www.instagram.com/p/BCroEhOMzCV/?taken-by=anneogborn
[00:43:00] <Anniepoo> looking at the instagram, you can see how far up the contacts extend?
[00:43:10] <Anniepoo> looking at the instagram, you can see how far up the contacts extend. Is this correct amount?
[00:43:28] <MarkX> one sec
[00:44:14] <MarkX> i honestly believe they should be going in deeper
[00:44:19] <MarkX> let me see if i can find a reference pic
[00:44:37] <Anniepoo> ok, I agree -
[00:44:47] <MarkX> https://i.ytimg.com/vi/GkbOJSvhCgU/maxresdefault.jpg
[00:45:37] <Anniepoo> ah - probably what's going on is that my wire-contact connection is too big
[00:46:03] <MarkX> try crimping one on
[00:46:14] <MarkX> do you have a crimper?
[00:46:20] <Anniepoo> returning to my instagram photo, looking from the bottom there's a pair of pointed teech
[00:46:24] <Anniepoo> returning to my instagram photo, looking from the bottom there's a pair of pointed teetj
[00:46:27] <Anniepoo> returning to my instagram photo, looking from the bottom there's a pair of pointed teeth
[00:46:52] <MarkX> the teeth on the very left in that pic?
[00:46:57] <MarkX> the 2 things pointing up?
[00:47:07] <Anniepoo> then a U shaped place, then a square box that's the actual contact
[00:47:15] <Anniepoo> yes, the things on v ery left
[00:47:25] <Anniepoo> (other than the carrier strip that gets cut off)
[00:47:29] <MarkX> yep
[00:47:33] <MarkX> those should be folded down
[00:47:43] <MarkX> https://www.youtube.com/watch?v=Y1KTZrt5wSU
[00:47:47] <Anniepoo> does that go around the insulation, or should the insulation be behind that?
[00:48:21] <Anniepoo> that is, should I grip the insulation, or the wire?
[00:48:43] <MarkX> depends on the thickness of the wire
[00:48:57] <MarkX> with thin wires i've had those grip the wire no problem
[00:49:07] <MarkX> the key is the top of the connector should be fairly flush and level
[00:49:17] <Anniepoo> is he crimping the U channel, or the pointy tangs?
[00:49:44] <MarkX> if (because of gripping the insulation) there is a big lump that causes the end to be super thick, it wont fit all the way into the plastic
[00:49:57] <Anniepoo> https://www.youtube.com/watch?v=c-pTsccCizA&ebc=ANyPxKqcPLx1nKRkGKOOSW_lL4mCZ0lEochLI0NTHJ2_Kvieuq33jroSfEMKyjUkXbCVkzCJ4gXQm7nBxbQN7wOHNHZBSYfQdQ
[00:50:07] <Anniepoo> yah, I think this is my problem
[00:50:17] <MarkX> both
[00:50:32] <MarkX> IIRC it crimps the U shape as well
[00:50:34] <Anniepoo> ok, got it
[00:50:44] <MarkX> we've used pliers rather than crimpers
[00:50:55] <MarkX> https://www.youtube.com/watch?v=c-pTsccCizA
[00:50:57] <MarkX> this one is better
[00:51:13] <MarkX> i'll brb, reboot
[00:51:14] <Anniepoo> yes, watching that now
[00:55:30] <MarkX> back :)
[00:55:32] <Anniepoo> hey
[00:55:44] <Anniepoo> waching a useful video
[00:55:49] <MarkX> i'm not at work right now, i could have sent full pics of the process
[00:55:50] <Anniepoo> https://www.youtube.com/watch?v=eI3fxTH6f6I&ebc=ANyPxKqcPLx1nKRkGKOOSW_lL4mCZ0lEochLI0NTHJ2_Kvieuq33jroSfEMKyjUkXbCVkzCJ4gXQm7nBxbQN7wOHNHZBSYfQdQ
[00:56:20] <Anniepoo> well, I'm in no hurry
[00:56:37] <MarkX> i love the pre assembled ones, cost next to nothing now days
[00:56:44] <Anniepoo> I'm annie@theelginworks.com
[00:57:33] <Anniepoo> yes, but I expect to assemble this connection a lot, wanted the cable to be one connection, individual wires would have been risky, too easy to make a mistake plugging in
[00:57:59] <MarkX> see if you can order a cheap crimper
[00:58:05] <MarkX> or a local hobby shop might have one
[00:58:17] <MarkX> it's a pretty generic one so even a no name one will probably do
[00:58:27] <MarkX> or just use needle nose pliers like i do
[00:58:40] <Anniepoo> hang on - we have a few crimpers of various sorts
[01:01:20] <Anniepoo> sweet - turns out we DO have a crimper
[01:02:43] <MarkX> excellent!
[01:04:45] <Anniepoo> ok, I strip tangs + U length of wire
[01:05:00] <Anniepoo> (I'm going to just make up one for practice)
[01:05:20] <Anniepoo> twist the strands back together
[01:06:12] <Anniepoo> fold tangs over wire (not insulation) and crimp a bit with pliers, so it stays together enough to get it in the crimper
[01:06:37] <Anniepoo> (also, I tried crimping without folding, and the punch side goes in between and opens it instead)
[01:08:12] <Anniepoo> folded tangs in, folded u in - wire fell off, gonna try again
[01:11:49] <MarkX> with the crimper, try folding the V shaped parts over the insulation
[01:12:57] <Anniepoo> ok
[01:13:59] <Anniepoo> nice
[01:14:17] <Anniepoo> I used some slightly smaller wire, practiced with your guidance
[01:14:26] <Anniepoo> and have a good solid connector
[01:14:47] <MarkX> try jamming it into the plastic now hahha
[01:14:54] <Anniepoo> no, I mean
[01:15:05] <Anniepoo> I took some other 2 conductor cable I had
[01:15:19] <Anniepoo> slightly smaller than the real wires I'm working with
[01:15:57] <Anniepoo> I criped contacts on ends of both conductors of that and assembled in a 2 position plastic case
[01:15:59] <Anniepoo> 8cD
[01:16:04] <MarkX> nice
[01:16:08] <MarkX> and the header stays in place?
[01:16:36] <Anniepoo> yes
[01:16:39] <MarkX> awesome!
[01:16:59] <Anniepoo> so the problem was def. with the nut that held the tool
[01:17:11] <MarkX> heh
[01:17:13] <MarkX> glad i could help
[01:17:16] <MarkX> brb reboot again >_>
[01:22:36] <Anniepoo> doing the real one now
[01:24:18] <MarkX> good luck!
[01:25:52] <Anniepoo> just figured out I've been putting it in the crimper wrong side up
[01:26:37] <MarkX> hehe
[01:28:40] <Anniepoo> oh, that's too easy! tyhat's cheating!
[01:29:27] <Anniepoo> Am now leaving them on the carrier strip til after crimping, and cripming with the tangs down into the 'valley'
[01:37:44] <Anniepoo> Thanks!
[01:40:01] <MarkX> all works?
[01:40:55] <Anniepoo> haven't electrically tested, but I'm sure it's fine
[01:41:14] <Anniepoo> each contact grips
[01:41:15] <Anniepoo> 8cD
[01:41:45] <MarkX> awesome!
[01:41:48] <MarkX> glad i could help
[01:42:01] <Anniepoo> now, second question
[01:42:14] <Anniepoo> I have an L9447 optointerruptor
[01:42:23] <Anniepoo> (I'm makiing my own servo on this project)
[01:42:49] <MarkX> according to google, this is an L9447
[01:42:49] <MarkX> http://g02.a.alicdn.com/kf/HTB1UVW9JXXXXXcuXpXXq6xXFXXXp/Phantom-Ninja-series-minifigure-L9447-Lasha-s-Bite-Cycle-with-weapons-Bela-9774-250pcs-Bricks-Building.jpg
[01:43:02] <MarkX> :P
[01:43:04] <Anniepoo> LOL
[01:43:11] <Anniepoo> mine's not that fancy!
[01:43:13] <MarkX> hahaha
[01:44:55] <Anniepoo> http://www.jameco.com/1/1/981-irla075-slotted-opto-interrupter-photo-interrupter.html
[01:45:02] <MarkX> go on
[01:45:42] <Anniepoo> any idea what's a reasonable value for a pull up resistor for 5V, so I can read it?
[01:46:21] <MarkX> wooof
[01:46:26] <MarkX> i wouldn't know about that
[01:46:27] <MarkX> but
[01:46:29] <Anniepoo> I'm guessing the LED side is pretty normal LED, so using a 330 ohm resistor
[01:46:35] <MarkX> a lot of smart people are active in #hackvana
[01:46:44] <MarkX> i'm sure they will be able to help
[01:47:59] <Anniepoo> not good - octopart is trying to sell me a different part as that
[01:48:01] <Anniepoo> 8cP
[01:54:49] <Anniepoo> ok, this part is euqivilent http://www.mpja.com/Opto-Interrupter/productinfo/18028+OP/
[01:54:55] <Anniepoo> and has values
[01:55:07] <Anniepoo> 8c9 handy Ohms law gets me the resistors
[02:12:31] <z64555> anonnumberanon: yeah, but it means I'd have to make a custom made GUI for it. And that means learning Qt or trying to fight with wxWidgets
[02:13:44] <z64555> also means fussing with a USB library, for both the uC and the computer. which is quite a bit of work
[02:13:50] * z64555 is the lazy
[02:14:22] <z64555> I guess once I stop complaining about it I'll get around to making the GUI. lol
[04:54:22] <z64555> ah, shoot...
[04:55:51] <z64555> I'm beginning to doubt my earlier assertion where I could apply the kalman filter to the quaternion components seperately
[04:58:34] <z64555> Since, operating on one component of the unit vector requires operation on the others, otherwise you run the risk of making it not a unit vector anymore
[04:58:53] <z64555> "just normalize it after the filter"
[04:59:10] <z64555> that... I don't know if it valid/safe
[05:02:21] * z64555 grumbles as he gets out another notepad
[05:10:47] <veverak> afaik normalization should be safe
[05:10:49] <veverak> :)
[05:10:58] <veverak> z64555: you mean normalazing quaternion?
[05:11:45] <z64555> possibly
[05:12:46] <z64555> hm.
[05:13:13] <z64555> so that's what it is
[05:13:18] <veverak> that should be normalizable
[05:13:20] <veverak> :)
[05:13:38] <veverak> code for quaternions that I used did that
[05:13:42] <z64555> well, no, the normalization isn't the issue
[05:13:56] <z64555> it's the interpolation done by the kalman filter
[05:15:26] <veverak> hmm
[05:15:35] <z64555> The predicted vector/quaternion is linearly interpolated towards the sensed vector
[05:15:46] <z64555> with a weight of the filter gain
[05:17:43] <z64555> so, I need to tweak the kalman gain somehow so that the interpolation is done on an arc, instead of the line
[05:20:05] <z64555> or
[05:20:17] <z64555> convert the y_k term into an arc length
[05:21:06] <z64555> or maybe not
[05:21:10] * z64555 ponders
[05:26:51] <veverak> hmm
[05:26:58] <veverak> I see
[05:27:17] <veverak> z64555: well, smartly applicate several steps?
[05:27:23] <veverak> I mean, you now have one linear step
[05:27:41] <veverak> make instead of that 1, let's say 10 that were linear, but looks like arc practically
[05:29:13] <z64555> which would involve converting to euler angles and plotting a line along the sphere
[05:29:52] <z64555> I could perhaps take the cross product between the predicted and sensed
[05:30:08] <z64555> have the gain apply to the result
[05:30:22] <veverak> :)
[05:30:24] <z64555> then rotate the predicted to that result
[05:48:05] <z64555> need a bit more work, but I believe that's the right path
[05:48:11] * z64555 passes out
[06:51:54] <z64555> guess I'll pass out later
[06:52:03] <z64555> need to get my sleep cycle back in order ._.
[06:52:38] <z64555> uh, the obvious drawback of using a quaternion rotation to do the interpolation is the added mathmatical complexity
[06:53:30] <z64555> I could perhaps compare a rotation vs. a lerp to see how well a lerp does
[06:54:11] <z64555> ...and maybe even add that as a covariance. lol
[06:54:19] <z64555> covariance all the things.
[07:13:02] <z64555> argh blub blub blub. caffeine levels are too low for me to cognate
[07:29:41] <mrdata> mm.. coffee
[07:54:00] <z64555> normalizing after the lerp should be fine
[07:55:01] <z64555> provided that the difference between the predicted state and sensed state is low
[07:55:59] * z64555 writes a TODO in the notes to help determine max rotational velocity
[08:00:35] <mrdata> test and adjust
[08:02:02] <z64555> well, there's nothing in the kalman filter's equations that could be adjusted to account for that
[08:03:16] <z64555> by adjustment, I mean like changing some values here and there
[08:03:33] <z64555> in particular the R and Q covariance matrices
[08:04:20] <z64555> perhaps the extended kalman filter has something to address this
[08:04:27] * z64555 writes note to read up on those
[08:05:11] <mrdata> by test and adjust i mean building an actual mechanism and testing it
[08:06:21] <mrdata> because you can run calculations until you lose sleep over something but what does any of it matter
[08:07:14] <mrdata> the calculations are meant to tell you something about reality. but they're just math unless reality agrees
[08:14:48] <z64555> :)
[08:15:24] <z64555> right, which is one of the reasons I'm not bothering with deriving the proof at the moment
[08:16:11] <z64555> other reason, is that the proof requires some knowledge of trigonometry that I haven't memorized yet, and I don't remember where my reference tables are
[08:16:16] <z64555> also I'm lazy
[08:16:45] <z64555> But the good thing is that I have an excuse other than "uh I dunno" when somebody asks me about it :)
[08:19:56] * z64555 wonders how the heck the holes on a protoboard can get so wobbly during manufacturing
[08:24:04] <z64555> gear backlash, obviously, but there's rows of 3 and 4 that are perfectly aligned
[08:24:20] <z64555> meh, radioshack goods
[08:38:29] <mrdata> sounds bad
[09:15:08] <anonnumberanon> z64555, that wouldn't hurt you to know how to do..
[09:22:16] <rue_house> zlog
[09:27:28] <rue_house> Qt is great, they change the order/count of the paramiters to all the functions between versions, so no version is backwards compatible
[09:45:32] <anonnumberanon> Heh
[09:48:34] <rue_house> they have done it in ncurses a few times too
[09:48:57] <rue_house> anything written with QT is quite unlikley to compile tho
[09:49:03] <deshipu> bah, statically typed languages
[09:49:45] <rue_house> typedef struct arbShape_s {
[09:49:45] <rue_house> char shapeSpec;
[09:49:45] <rue_house> union arbshpae_u {
[09:49:45] <rue_house> line_t line;
[09:49:45] <rue_house> arc_t arc;
[09:49:45] <rue_house> point2d_t point;
[09:49:47] <rue_house> } shape ;
[09:49:49] <rue_house> } arbshape_t;
[09:49:52] <rue_house> I can, but SHOULD I...
[09:51:37] <rue_house> I really disagree with the practise of respec'ing a function without changing its name
[09:52:07] <rue_house> and if your going to do that to a whole library, change the name of the damn library
[09:52:22] <rue_house> put a 2 on the end or something
[09:53:51] <rue_house> mmm then I can make up a shapelist and I'm getting closer to making my CAM program
[09:54:05] <deshipu> someone should really learn to use a pastebin
[09:54:22] <rue_house> :P
[09:54:39] <deshipu> well, in C++ you can keep both signatures
[09:54:40] <rue_house> I have manners, I'd not paste that if the channel were busy
[09:54:46] <deshipu> have the old one call the new one
[09:55:06] <deshipu> yeah, I never spit on the floor when someone is looking too
[09:55:07] <rue_house> but c++ DOES suck...
[09:55:19] <deshipu> everything sucks, to a degree
[10:23:44] <veverak> lolz
[10:23:48] <veverak> <3 keyword arguments
[10:24:24] <veverak> deshipu: yeah, sometimes I feel like it's only about what shit you are able to work with without too much pain
[10:24:53] * veverak never realized how much things in python are horrible just because he is too familiar with using python
[10:25:04] <veverak> and I sort of found out how to deal with that things
[10:25:10] <veverak> and stoped realizing them
[19:24:20] <z64555> sheesh, only took 12 hours
[19:26:09] <z64555> maybe that won't happen again now that I've registered on freenode
[19:34:15] <DagoRed> What happened?
[19:46:07] <z64555> letsee... sometime around 8AM I lost connection, possibly to a netsplit
[19:46:24] <z64555> only regained connection at 6:58pm
[19:46:37] <z64555> but just on freenode, esper connected just fine
[20:42:38] <z64555> "Region FLASH overflowed by 56KBytes"
[20:42:41] <z64555> welp.
[21:08:36] <z64555> it shouldn't be greater than 256KB already
[22:33:23] <anonnumberanon> I think anyone would be content with the results obtained with the gait on that blue robot.
[22:33:43] <anonnumberanon> It struggles a bit at the actual fighting though..
[22:33:45] <anonnumberanon> https://www.youtube.com/watch?v=NTZsFKYyMZU
[22:34:37] <anonnumberanon> z64555, yeah you need the lag counter on hexchat to know when you're no longer connected