#emc-devel | Logs for 2009-08-06

[12:43:22] <gezar> how have you guys been?
[14:06:20] <skunkworks_> http://www.linuxcnc.org/index.php
[14:06:25] <skunkworks_> heh
[14:06:27] <skunkworks_> that is funny
[14:06:35] <skunkworks_> http://www.cnczone.com/forums/showthread.php?t=87047&page=2
[14:11:02] <jepler> skunkworks_: the guy doesn't find a trajectory period in his inifile because all the samples had it removed; they all use the same value for servo and traj. This doesn't seem to have made it into the release notes, but it was in 2.3.0.
[14:14:44] <skunkworks_> I think he figured that out.
[14:15:28] <skunkworks_> 'I searched through the code and it looks like it defaults to the servo period if left unspecified'
[14:21:42] <skunkworks_> how is the zenbot coming? I have 2 sides of the garage sided. :) (putting in access doors and windows slow me down) (and angle cuts on the gable ends)
[14:22:08] <jepler> untouched. but I helped Chris with JR last night. While I was there we got the spindle running.
[14:23:07] <skunkworks_> nice! what ended up being the problem?
[14:23:36] <jepler> with the spindle? no problem, just working out the wiring.
[14:24:04] <skunkworks_> oh - I thought there was some error on it - like over-speed or something
[14:26:04] <jepler> I dunno what cradek might have worked out about the spindle before I got there
[14:26:35] <jepler> there are a bunch of indicators on the spindle drive that we eventually figured out the meaning of
[14:28:07] <SWPadnos> wasn't it a servo drive (Y axis) that had the various error codes?
[14:28:39] <skunkworks_> that also :)
[14:29:26] <skunkworks_> when ever I see JR - I think of sean conery saying jr in indiana jones..
[14:35:17] <jepler> SWPadnos: yeah, I think chris is planning to re-mount that amp horizontally and use a bobbing bird to reset it when it errors.. at least, that was my suggestion.
[14:35:35] <SWPadnos> heh
[14:35:45] <SWPadnos> tuning the bob frequency could be a fun task
[17:01:50] <skunkworks_> we had a solinoid setup on the 'input' button on the laser controller... The computer was far enough away that it was an annoyance to get up and set the controller to receive. So there was a little button ot the desk so the solinoid would push the button on the controller.
[17:02:04] <alex_joni> skunkworks_: how's your puma?
[17:03:41] <skunkworks_> sitting in the corner.
[17:04:27] <skunkworks_> I was planning on making a 2 axis board (smaller version of the big amp) 10a maybe 80v for the puma.
[17:04:40] <skunkworks_> but other things have gotten in the way - garage
[17:05:10] <skunkworks_> how is your model?
[17:06:05] <alex_joni> well.. the model is fine
[17:06:11] <alex_joni> the kins are a bit problematic :D
[17:06:18] <skunkworks_> yeck
[17:06:41] <alex_joni> slowly starting to get a grasp on things
[17:07:09] <alex_joni> like what a Jacobian is ;)
[17:22:18] <gezar> jacobian matrix :)
[17:23:31] <alex_joni> gezar: right
[17:24:02] <gezar> made some solver programs that run on the ps3 under linux last semester, but they were gauss-jacobi
[17:28:46] <alex_joni> gauss-seidel?
[17:30:40] <gezar> just a different type, we mixed the two
[17:31:59] <gezar> maybe im too tired, it may have been jacobi, and then a gauss-seidel, ide have to look
[17:42:38] <gezar> alex_joni : what are you working on?
[18:16:46] <alex_joni> gezar: some robot simulation
[18:20:25] <skunkworks_> alex_joni: do you teach a class of have pull with an instructor?
[18:21:50] <skunkworks_> /s/of/or
[18:22:08] <alex_joni> skunkworks_: come again?
[18:22:52] <skunkworks_> do you teach a class that you have access to students for help?
[18:23:02] <alex_joni> nope.. had an intern
[18:23:09] <skunkworks_> oh - nice
[18:23:11] <alex_joni> he struggled.. but didn't quite make it
[18:25:59] <alex_joni> he did write a lot of code though ;)
[18:26:06] <alex_joni> and ok'ed to GPL it
[18:26:15] <skunkworks_> cool
[18:26:20] <alex_joni> I'll have to see if I can get it to usefull status, and commit it
[18:26:35] <alex_joni> basicly it's a library like posemath, but for DH stuff
[18:28:09] <SWPadnos> DH?
[18:28:18] <alex_joni> Denavit Hartenberg
[18:28:24] <SWPadnos> oh. of course
[18:28:44] <alex_joni> it's basicly quite simple
[18:29:08] <alex_joni> but obviously there are a ton of pages describing the same thing with slight differences out there
[18:29:25] <alex_joni> so getting the "right" one is hard ;)
[18:30:03] <SWPadnos> oh right - that was the general pivoting arm robot solution
[18:30:08] <alex_joni> right
[18:30:19] <skunkworks_> so you could enter all the dimensions of the arm?
[18:30:29] <alex_joni> it's basicly only a way of defining the coordinate systems for each joint/link
[18:30:32] <alex_joni> skunkworks_: yeah
[18:30:37] <skunkworks_> wow - very cool
[18:30:39] <alex_joni> forward kins is trivial
[18:30:53] <alex_joni> you set up one coordinate system for each joint
[18:31:10] <alex_joni> DH says that Z points up at each joint, and the joint rotates around that Z
[18:31:37] <alex_joni> you define X (in a way hard to describe on IRC)
[18:31:40] <alex_joni> then you also get Y
[18:32:01] <alex_joni> the distance in X from the previous coordinate system (i-1) to this one (i) is called Di
[18:32:10] <alex_joni> and the distance in Z from the ... is called Ai
[18:32:24] <alex_joni> you also have a rotation between the previous and the current, called Alphai
[18:32:27] <SWPadnos> http://prt.fernuni-hagen.de/lehre/KURSE/PRT001/course_main/node15.html
[18:33:02] <alex_joni> picture 3.2 is what I'm talking about
[18:33:33] <alex_joni> so you have 4 "variables" for each joint
[18:33:50] <alex_joni> Ai, Di, Alphai and Thetai
[18:34:10] <SWPadnos> A and D are constants though, aren't they?
[18:34:14] <alex_joni> right
[18:34:15] <SWPadnos> (the pivot length and Z offset)
[18:34:17] <SWPadnos> ok
[18:34:19] <alex_joni> and alpha is constant
[18:34:43] <SWPadnos> oh right - if it would change, it would be on the previous link
[18:34:49] <alex_joni> theta is the rotation of the joint (e.g. joint rotation)
[18:35:05] <alex_joni> alpha only changes if the robot has a serious problem :D
[18:35:12] <SWPadnos> rubber elbows
[18:35:16] <alex_joni> right :D
[18:35:50] <alex_joni> then you construct 4 matrices for each link
[18:35:56] <alex_joni> 2 rotation (alpha and theta)
[18:36:02] <alex_joni> and 2 translations (ai, di)
[18:36:36] <alex_joni> the 4 multiplied generate the transformation matrix for this joint
[18:36:48] <alex_joni> that way you can generate all 6 transf. matrixes
[18:36:55] <SWPadnos> yay!
[18:37:00] <alex_joni> and multiplied together you get the forwards kins ;)
[18:37:13] <alex_joni> it's basicly about 6 + 5 lines of C code
[18:38:13] <alex_joni> (using the lib obviously ;)
[18:38:22] <SWPadnos> should be one line :)
[18:38:28] <SWPadnos> (in C++ anyway)
[18:38:40] <alex_joni> well.. you need to pass 6 x 4 params
[18:38:46] <alex_joni> hard to do in one line ;)
[18:38:54] <SWPadnos> is it C or C++?
[18:39:10] <alex_joni> C
[18:39:20] <alex_joni> kinematics run in kernel space ;)
[18:39:21] <SWPadnos> ok. that would make a lot of this kind of thing more complex
[18:39:28] <SWPadnos> but not the part about putting it in the kernel
[18:40:00] <SWPadnos> oh great. now I have to reboot again.
[18:40:11] <SWPadnos> well, maybe it'll let the mouse work for more than 30 seconds at a time
[18:40:16] <SWPadnos> bbiab
[18:42:24] <alex_joni> skunkworks_: http://prt.fernuni-hagen.de/lehre/KURSE/PRT001/course_main/node17.html
[18:59:16] <skunkworks_> neat
[19:13:22] <skunkworks_> I would really like to make a hexapod also. Buy 6 small ballscrews - spin the nut and one of the yokes. Too many projects.
[19:13:41] <alex_joni> heh
[20:01:52] <alex_joni> good night all
[20:02:07] <micges> good night alex