#robotics Logs

Sep 11 2017

#robotics Calendar

12:30 AM rue_shop3: :))))
12:33 AM rue_shop3: tri1: -64.755, 113.807 218.088, 113.807 76.667, -27.614 tri2: 0.000, 100.000 0.000, 0.000 100.000, 0.000
12:33 AM rue_shop3: The offset is: -43.333, -33.333
12:33 AM rue_shop3: The scale is: 0.500000
12:33 AM rue_shop3: The rotation is: 45.000000
12:33 AM rue_shop3: YEA
12:33 AM rue_shop3: and... in the process I broke every peice of software I'v ever made with my 2d library...
12:33 AM rue_shop3: it 'corrected' the first triangle to the second one and got
12:33 AM rue_shop3: -0.000, 100.000
12:33 AM rue_shop3: 100.000, -0.000
12:33 AM rue_shop3: 0.000, -0.000
12:33 AM rue_shop3: NOW IF I EVER HAVE TO DO IT AGAIN IT'LL BE TOO SOON!
12:35 AM rue_mohr_: Tom_L tell me you can see why this is SO COOL
12:36 AM rue_mohr_: with this I can take any 3 landmarks and match maps
12:36 AM rue_mohr_: as long as the maps match
12:37 AM rue_mohr_: actaully, its doing best effort right now, if they dont match, it'll just come up with the best it can, I need to put a quality cutoff on it
12:38 AM rue_mohr_: I been thinking about this software for like 11 years now
12:38 AM rue_mohr_: and I did it!
12:38 AM rue_mohr_: now, can I get X to work on my computer?
12:39 AM rue_mohr_: I totally want to set that software up with SDL and torture it
01:30 AM rue_mohr_: I suppose the real test is setting it up with the pendant and the cnc machine, and having it try to locate all the holes on a pcb that was just randomly thrown down
01:32 AM rue_mohr_: this could mix with the AR software in an interesting way
01:33 AM rue_mohr_: god its quiet
01:33 AM rue_mohr_: this is just practise for when your 8000 years old
01:33 AM rue_mohr_: *sigh*
01:33 AM rue_mohr_: I wonder how long I could talk with another me for
01:34 AM rue_mohr_: depends what we did
01:34 AM rue_mohr_: hmm
01:34 AM rue_mohr_: I should finish that absolute location system
01:34 AM rue_mohr_: the code is there
01:34 AM rue_mohr_: and we have that laser module assembled
01:35 AM rue_mohr_: ideas on the laser pickup?
01:35 AM rue_mohr_: hmm
01:35 AM rue_mohr_: I still wonder if a solar cell would modulate ok
01:35 AM rue_mohr_: lots of dollar store calculators?
01:35 AM rue_mohr_: :)
01:38 AM rue_mohr_: any idea of whats for work tommorow?
01:38 AM rue_mohr_: no
01:38 AM rue_mohr_: I remember something painfull in the morning
01:38 AM rue_mohr_: hmm
01:39 AM rue_mohr_: we should completly rewrite that 2d library
01:39 AM rue_mohr_: and what about the pathetic 3d library?
01:39 AM rue_mohr_: mhm
01:40 AM rue_mohr_: changing those functions from rads to degs is going to break a lot of things
01:40 AM rue_mohr_: yea, I should have started a new version, how the hell did we end up mixing rads and degs in functions in teh same lib!?
01:41 AM rue_mohr_: dunno, but some of those erps you made today were pretty bold
01:41 AM rue_mohr_: figuring out the scale between two lines by using one endpoint from each of them was great, did you come up with that or me?
01:42 AM rue_mohr_: not as bad as that rotation calc...
01:42 AM rue_mohr_: and since when is fixing code a process of making a comment to say "THIS IS JUST BROKEN"?!?
01:43 AM rue_mohr_: heh
01:43 AM rue_mohr_: its 11, we gonna be awake or asleep
01:43 AM rue_mohr_: fix this computer!
01:43 AM rue_mohr_: or sleep
01:44 AM rue_mohr_: its working now, it'll make alarm noise in morning
01:44 AM rue_mohr_: I think...
01:44 AM rue_mohr_: better check that eh?
01:44 AM rue_mohr_: its good
01:45 AM rue_mohr_: bump teh volume tho
01:45 AM rue_mohr_: are we done for the night then?
01:45 AM rue_mohr_: let me finish my tea
01:45 AM rue_mohr_: ok, can I list the problems that will cause?
01:45 AM rue_mohr_: no, no, just let me finish it
01:45 AM rue_mohr_: shop lights?
01:46 AM rue_mohr_: mmm, mrmmmrmrmsmsmmm
01:46 AM rue_mohr_: yea, and the soldering iron
01:46 AM rue_mohr_: I hate sleeping
01:46 AM rue_mohr_: I thought you were indefferent?
01:47 AM rue_mohr_: na, I hate it
01:47 AM rue_mohr_: you didn't nap, we need to sleep right for work in the morning
01:47 AM rue_mohr_: I thought I told you that wasn't the point
01:47 AM rue_mohr_: I cant trust that
01:47 AM rue_mohr_: yea, the system you been using was working real good.
01:48 AM rue_mohr_: :/
01:48 AM rue_mohr_: I should get you a mechanical clock, so at times like this you can hear it tick away the seconds
01:49 AM rue_mohr_: why do old clocks have an automated bird?
01:49 AM rue_mohr_: clock makers got borred
01:49 AM rue_mohr_: what happens when we get borred
01:49 AM rue_mohr_: worry about that!
01:52 AM rue_mohr_: how can there be billions of people in the world and your the only one to talk to
01:52 AM rue_mohr_: prove either.
01:53 AM rue_mohr_: I aint counting them.
01:53 AM rue_mohr_: _either_
01:53 AM rue_mohr_: HELLO??!?! ANYONE OUT THERE!?!?!
01:53 AM rue_mohr_: see, no answer...
01:53 AM rue_mohr_: I'm not sold
01:53 AM rue_mohr_: be my guest...
01:54 AM rue_mohr_: HELLO??!?! ANYONE OUT THERE!?!?!
01:54 AM rue_mohr_: see?
01:54 AM rue_mohr_: ok, maybe your right
01:54 AM rue_mohr_: damn yea
01:54 AM rue_mohr_: we better start making ai's
01:54 AM rue_mohr_: appostrophe
01:54 AM rue_mohr_: no its not
01:54 AM rue_mohr_: no, no appostrophe
01:55 AM rue_mohr_: ah
01:56 AM rue_mohr_: how deep do you think the human macro engine is
01:56 AM rue_mohr_: maybe 4 or 5
01:57 AM rue_mohr_: wanna make usb pumpkins for haloweeen?
01:58 AM rue_mohr_: have you succeeded in selling ANYTHING yet?
01:58 AM rue_mohr_: we no
01:58 AM rue_mohr_: mhm
01:59 AM rue_mohr_: ok, so tommorow mount the relays for the pipe bender motor
01:59 AM rue_mohr_: awe you didn't take a pic...
02:00 AM rue_mohr_: oops
02:01 AM rue_mohr_: haha I need a sandy beach so I can work out how big you are for the rings
02:02 AM rue_mohr_: na, just get some help, use chalk on the road
02:02 AM rue_mohr_: ah, outline me
02:02 AM rue_mohr_: yea
02:02 AM rue_mohr_: then we can measure ya up
02:04 AM rue_mohr_: gnight
02:04 AM rue_mohr_: oh the kernel is compiled
02:04 AM rue_mohr_: yay
02:04 AM rue_mohr_: so work out the nvidia module next
02:44 AM johnflux: rue_mohr_: what are you making?
08:48 AM rue_bed: software
08:49 AM rue_bed: finally got around to something that can do posiiton correction for drilling pcb's
08:50 AM Tom_L: well it's about damn time!
09:01 AM veverak: we got such a SW in hackerspace
09:01 AM veverak: working
09:01 AM veverak: not published really
09:02 AM veverak: uses library for working with ... images
09:02 AM veverak: :)
09:02 AM veverak: probes the PCB, makes level map, uses that map to correct drilling gcode
09:14 AM rue_mohr_: this is not that
09:15 AM rue_mohr_: this is for taking an etched board, putting it into a machine without regard to postion and orientation, showing it where 3 holes are, and having it work out where the rest are by matching a drill file
09:15 AM rue_mohr_: but I suspect its usefull for other things
09:15 AM veverak: I see
09:18 AM rue_mohr_: it was an interesting problem to solve
09:18 AM rue_mohr_: with lots of gotchas
09:18 AM rue_mohr_: most of which were surprises regarding my 2d library
09:18 AM rue_mohr_: like half of it working in degrees and the other half in radians
09:19 AM veverak: :D
09:19 AM veverak: yeah
09:19 AM veverak: one of the reasons I deploy strong typedefs everywhere
09:20 AM rue_mohr_: hmm
09:20 AM rue_mohr_: didn't think to make types for angles
09:21 AM veverak: I did
09:21 AM rue_mohr_: atleast it would throw a warning
09:21 AM veverak: yep
09:21 AM veverak: but I don't know how I would approach this in 'C' you are using
09:21 AM rue_mohr_: well, it just wouldn't be auto-converting
09:22 AM veverak: struct Radian { double val; } seems troubling to use
09:22 AM veverak: i mean, operator overloading simplifies usage of this a lot
09:24 AM rue_mohr_: I'd prolly just #typedef double angleRads;
09:24 AM rue_mohr_: er wha...
09:25 AM rue_mohr_: I DO NOT use c++ because execution is runtime dynamic to data presented
09:25 AM veverak: that does not help a bit
09:25 AM rue_mohr_: veverak it would throw a warning
09:25 AM veverak: void funnyFunc( Radians angle );
09:25 AM veverak: Degrees tmp = 360;
09:25 AM veverak: funnyFunc(tmp) -> does not compile
09:26 AM veverak: (of course you can provide constructor and autoconversion)
09:26 AM veverak: #typedef double Radians;
09:26 AM veverak: #typedef double Degrees;
09:26 AM veverak: does not have the same efect
09:31 AM rue_mohr_: huh, it didn't throw the warning under default gccoptions
09:31 AM rue_mohr_: thought it would bark about that
09:38 AM rue_mohr_: wow, the stock debian kernel is a main in the ass when it comes to installing an nvidia driver of ANY KIND
09:38 AM rue_mohr_: event he stock debian ones
09:39 AM rue_mohr_: veverak a struct would be annoying tho, cause you always have to ref the internal var
09:40 AM veverak: yep
09:40 AM rue_mohr_: I can see in c++ where it always auto converts to an internal common type
09:40 AM rue_mohr_: part of the c++ overhead
09:40 AM veverak: I implemented objects for this stuff
09:40 AM veverak: behavior varies on usercase
09:41 AM rue_mohr_: I wonder what the instruction overhead is
09:41 AM veverak: anyway, it can't autoconvert into standart types anytime
09:41 AM veverak: rue_mohr_: I know what it is, 0
09:41 AM veverak: :)
09:41 AM rue_mohr_: in that library I did, I have a lot of repeated math
09:42 AM rue_mohr_: veverak if your using a function to get a value every time you read it, its a lot more overhead than just having a memory location you read
09:42 AM veverak: depends
09:42 AM veverak: just because you write the code it way
09:42 AM veverak: does not mean it's compiled that way
09:43 AM veverak: rue_mohr_: I don't usually read it
09:43 AM veverak: I defined all _relevant_ overloads for oprators like +/-/== etc etc
09:44 AM veverak: they of course access the value internally without using any func
09:44 AM rue_mohr_: I think I recalculate the centroid of each triangle about 4 times in the process of matching the points
09:44 AM veverak: with basic set of optimalization, this is _same_ performance wise as using native types
09:45 AM rue_mohr_: to the point I was considering a triangle type that would store it
09:46 AM veverak: and with templates and inheritance, I did everything only once
09:46 AM veverak: and just reuse it
09:46 AM rue_mohr_: yea, that stuff dosn't work with me
09:46 AM rue_mohr_: when there is a bug, its not always that easy to work out what code is being executed
09:47 AM veverak: cgdb works easy for me to figure out that
09:48 AM rue_mohr_: so far I'v liked python oop
09:48 AM rue_mohr_: not c++
09:48 AM * veverak enjoys C++
09:49 AM rue_mohr_: I best be off to work
09:49 AM rue_mohr_: I think
09:49 AM rue_mohr_: I'll have to recompile a kernel to be able to build the nvidia driver to get X working again
09:51 AM rue_mohr_: debain mauled the kernel version name so badly that it looks like I can use the same kernel version and have no namespace conflicts
09:51 AM rue_mohr_: tho I suspect its not the version they say it is
09:51 AM rue_mohr_: the .config files dont match
01:26 PM veverak: hmm
01:26 PM veverak: I think
01:26 PM veverak: I may have figured out ship propulsion
01:26 PM veverak: two paddle wheels ...
01:26 PM veverak: 3D printed + stepper motors + 3D printer stepper drivers
01:26 PM veverak: we have plenty of last two in hackerspace
01:29 PM deshipu: ship
01:29 PM polprog: i'll be making a water drone too
01:46 PM synja: what is a water drone?
01:46 PM alic1a: synja: Interesting
01:46 PM synja: what is a water drone?
01:46 PM alic1a: synja: It can float on water, fly in rain, land on water and surf on the water.
01:46 PM synja: sounds like a beast of a drone
01:46 PM alic1a: synja: What does a beast of a drone sound like?
01:47 PM synja: a beast
01:47 PM alic1a: synja: Thanks!
01:47 PM polprog: water drone, lemme explain
01:48 PM polprog: i want to have a self or remote controlled thing which takes soundings. to make a map of the park pond.
01:48 PM alic1a: polprog: What does that mean?
01:49 PM polprog: it's gonna be a boat/platform that, probably will use big server fans as a mean of movement - the water is full of weeds and i dont want to have a propeller tangled in them
01:49 PM alic1a: polprog: I appreciate that
01:49 PM polprog: that's why it's gonna be fans.
01:49 PM polprog: inside, a raspi probably
01:50 PM polprog: so i can associate the soundings with GPS position, or something more accurate
01:52 PM veverak: I was just thinking of autonomous boat
01:53 PM veverak: could be nice practice of GPS localization of robot
01:53 PM polprog: it may be autonomous
01:53 PM polprog: in the future
01:53 PM polprog: the problem with GPS is that it's good for navigating things like sea
01:53 PM polprog: not a park pond, where you have trees - radio reflections that can falsify the position.
01:54 PM polprog: the pond itself is 50m wide, and having a variation of +- 20m makes it useless
01:54 PM polprog: so i think i'll ssh to it and just make a small program for WASD control via tty :P
01:55 PM polprog: for the initial, throw-together version
02:30 PM SpeedEvil: 20m may be somewhat pessimistic
03:46 PM Atomsk is now known as ace4016
03:56 PM exit70_ is now known as exit70
08:56 PM rue_bed: hmm
08:58 PM robotustra: M
10:21 PM rue_shop3: solveTransform(&tf, &tri1, &tri2); // !!!???!!! please dont ignore errors
10:21 PM rue_shop3: applyTransform(&tri1, tf);
10:21 PM rue_shop3: g2dShow (&tri1);
10:21 PM rue_shop3: not bad, need to tune the error handling, but it works great
10:22 PM rue_shop3: I probably had more troubles with my acute angle fn than anything