#robotics | Logs for 2016-11-05

Back
[02:03:50] <rue_house> it was written in 2014, why the hell is he avoiding floating point math!?
[02:07:34] <rue_house> oooo it was for a mac that disn't have a proper fpu
[02:41:01] <Jak_o_Shadows> I don't really have a clue what this joystick circuit is doing
[02:42:19] <Jak_o_Shadows> I THINK it's multiplexing the button inputs - except there's 2 eight channel multiplexers, and only 8 buttons in the first plac.
[02:42:26] <Jak_o_Shadows> Maybe it's something to do with gameport
[02:42:54] <rue_house> nintendo?
[02:43:44] <Jak_o_Shadows> genius flight2000 f-23
[02:44:27] <rue_house> qdrat, I implemented a line as containing a set of points instead of holding a poiter to them
[02:44:48] <rue_house> which means my current code cant share points between lines
[02:45:15] <Jak_o_Shadows> TBH, There's only 16 inputs for the whole thing. So I'll probably just dumb 2 of them, and break out all the rest just through the entire cable.
[02:45:30] <Jak_o_Shadows> Or i'll get fancy and use i2c or SPI or something, and make my own slave.
[02:45:54] <rue_house> but my 3d group library is just opint groups
[02:45:54] <Jak_o_Shadows> The buttons have diodes near them, so they aren't as easy as I was hoping
[02:46:46] <rue_house> typedef struct c3dline_s {
[02:46:47] <rue_house> point3d_t *p0, *p1;
[02:46:47] <rue_house> colour_t *c;
[02:46:47] <rue_house> } c3dline_t;
[02:47:12] <rue_house> zippo:/files/programming/c/DAlib# IncludeMap linelist3d.c
[02:47:13] <rue_house> linelist3d.c
[02:47:13] <rue_house> linelist3d.h
[02:47:13] <rue_house> 3d.h
[02:47:13] <rue_house> returnValues.h
[02:47:13] <rue_house> c3dline.h
[02:47:15] <rue_house> 3d.h
[02:47:17] <rue_house> returnValues.h
[02:47:19] <rue_house> colour.h
[02:47:23] <rue_house> 3d.h
[02:47:25] <rue_house> returnValues.h
[02:47:27] <rue_house> hmmm
[02:47:51] <rue_house> so a 3d line list is a type of colour 3d lines which is a type of 3d points
[02:48:41] <rue_house> so, if I wanted to a 2d version, I'd need to create a c2dline
[02:49:43] <rue_house> if I'm not carefull, this'll result in a polygon csg library
[02:51:04] <rue_house> so I want a c2dline library, a linelist2d libary, then a poly library on that
[02:51:27] <rue_house> colour comes along for the ride
[02:53:13] <rue_house> or are the goals different
[02:54:39] <rue_house> yea, I want to go from ...
[02:54:46] <rue_house> does a polygon have to be closed?
[02:54:52] <rue_house> if it wasn't it would just be a path
[02:55:03] <rue_house> so, maybe I want a 2d path library
[02:55:13] <rue_house> a path shares points between lines
[02:55:51] <rue_house> and, if I stretch the definition, a path dosn't have to be a chain, it can be a tree
[02:57:14] <rue_house> what do you do if a user tells you to offset a path thats a tree?
[02:57:25] <rue_house> I suppose you trace it
[02:57:45] <rue_house> same as you do a closed object
[02:58:17] <rue_house> yea
[02:58:48] <rue_house> if its like a cherry, and your tracing the right, you go around the stem both ways, but if your tracing the left, you just go around the inside
[02:59:45] <rue_house> qa path dosn't have a line, it has a segment... hah, ok
[03:00:47] <Jak_o_Shadows> ha. The other joystick doesn't even have a uC
[03:01:11] <rue_house> what are you doing to them?
[03:01:52] <Jak_o_Shadows> There's both gameport - which is reasonably uselss to me.
[03:02:01] <Jak_o_Shadows> I am going to have them connecting up to my game input panel
[03:02:09] <Jak_o_Shadows> So basically slave joysticks
[03:02:36] <rue_house> ?
[03:02:53] <rue_house> the ole 15 pin gameport?
[03:03:02] <Jak_o_Shadows> yep
[03:03:38] <rue_house> yea, there are two ports, each with 2 digital inputs
[03:04:03] <rue_house> x, y, a, b for each
[03:04:09] <rue_house> iirc
[03:04:41] <Jak_o_Shadows> TBH, I was going to keep the physical port, but just use it as a connection.
[03:04:48] <Jak_o_Shadows> Like, why bother reading gameport especially.
[03:04:57] <rue_house> theyw ere slow
[03:05:09] <rue_house> cause they used rc timeing
[03:05:22] <rue_house> maybe tonight is a bad night to be coding
[03:06:03] <Jak_o_Shadows> The general plan is to use a stm32f103 as the controller, and have it usb
[03:06:19] <Jak_o_Shadows> If i run out of A/D channels, have a slave device read the rest
[03:06:44] <rue_house> you need to add 1 more wire to each pot on the joystick
[03:07:03] <Jak_o_Shadows> ?
[03:07:13] <rue_house> they were rc
[03:07:27] <rue_house> two wires on the R and the C was on the card in the computer
[03:07:35] <Jak_o_Shadows> ah. Gotcha I think.
[03:07:37] <rue_house> monostable that the computer could control the reset on
[03:08:00] <rue_house> it would reset them all(4 LM558) and then count how long they took to go high
[03:08:10] <rue_house> or two lm556
[03:08:25] <rue_house> which is why they were so slow
[03:09:46] <Jak_o_Shadows> Good thing i'll be replacing that then.
[03:10:58] <rue_house> video games would use the verticle refresh to check if the timer was high yet
[03:11:05] <rue_house> er, horiz
[03:11:16] <rue_house> sweep return
[03:12:32] <rue_house> oooh
[03:12:54] <rue_house> I had one object with a group of points, and another with pointers to them
[03:13:09] <rue_house> so I could transform everything and not worry about the relations
[03:14:01] <rue_house> aaaah
[03:15:50] <rue_house> so I should have a cluster of points and a list of segments
[03:16:00] <rue_house> segments having pointers to the points
[04:06:34] <rue_house> ok that appears to be a new function I'll need, it tells me if two line segments intersect
[04:06:55] <rue_house> and if so, where
[06:16:21] <rue_shop3> aha, re bamcam, if the profile is a polyline, then it always cuts the right edges
[06:16:32] <rue_shop3> so, do I keep writing a cam processor?
[06:16:38] <rue_shop3> I suppose I still want one for linux
[06:42:26] <malcom2073_> rue_shop3: Do it!
[06:42:55] <malcom2073_> Make it open source so others can contribute :)
[06:55:15] <anonnumberanon> rue_shop3, define "cam processor"
[11:21:35] <z64555> hm, I wonder if I've got an 18V wall wort somewhere
[11:22:56] <JT-Shop> rue_shop3: what type of stuff are you CAMing
[12:34:25] <rue_house> 2d outlines
[12:37:57] <z64555> so, a stencil?
[12:38:20] <rue_house> sure4
[13:54:29] <JT-Shop> I wrote a golang program to extract a single level of a DXF file and turn that into a G code path
[14:14:07] <rue_shop3> I can get the lines/etc out, I dont have code to order or offset them yet
[14:14:15] <rue_shop3> did you use the polygon library?
[14:14:23] <rue_shop3> clipper?
[14:14:31] <rue_shop3> do it all as line segments?
[14:14:33] <rue_shop3> JT-Shop, ?
[14:26:16] <JT-Shop> what I did first organizes all the lines/arcs by start and end point so it makes one complete line
[14:26:34] <JT-Shop> no, it outputs lines and arcs
[14:27:45] <JT-Shop> rue_shop3: https://github.com/jethornton/DXFtoGcode
[14:27:55] <JT-Shop> it's crazy fast
[14:28:07] <JT-Shop> back to splitting firewood
[15:35:08] <justanotheruser> ehllo
[15:36:27] <justanotheruser> I'm modeling a robot arm design
[15:37:02] <justanotheruser> I think I will use two beams of t-slotted aluminium as the upper arm, and another two as the lower arm.
[15:37:31] <justanotheruser> I am thinking about how to make sure the motor gear doesn't slip from the shoulder gear
[15:37:34] <rue_shop3> JT-Shop, did you use the clipper library to offset the paths?
[15:38:12] <justanotheruser> It seems some people mount the motor directly to the shoulder pivot, but I will need to reduce the gear ratio
[15:38:40] <justanotheruser> maybe I can use a planetary gear
[15:41:00] <justanotheruser> but geeze, $1k for a planetary gear box
[15:44:22] <robopal> hi
[15:44:26] <justanotheruser> hi
[15:44:43] <justanotheruser> robopal: so if it rests at horizontal you're saying it will always be deforming?
[15:44:57] <robopal> no
[15:45:11] <justanotheruser> but the net torque is greater than 0
[15:45:20] <robopal> about motors and gears, they always specify their torque
[15:45:34] <justanotheruser> right
[15:46:52] <robopal> they tell you for example it can lift 1kg with an arm 1m
[15:47:09] <justanotheruser> mhm, I've got that, just trying to avoid deforming the actual arm
[15:47:56] <justanotheruser> They seem strong, I may just go ahead and see how well it does and buy a steel arm if it can't handle the weight
[15:48:05] <robopal> you can simply test
[15:49:02] <robopal> unless you know the properties of the material, there are modeling software for stress on objects
[15:49:17] <robopal> I am thinking solidworks
[15:52:10] <JT-Shop> rue_shop3: no, I used libracad in linux
[15:57:29] <robopal> justanotheruser, I wouldn't worry about that anyway, you can always make more rigid the arm later/change the material/structure, more important is the problem of finding a motor/gear that can do the job
[15:57:50] <justanotheruser> I have a motor that has sufficient torque, now I'm working on changing the gear ratio
[15:58:09] <justanotheruser> problem is the gearboxes are more expensive than the motor itself
[15:58:35] <robopal> do you have access to machines to make your own?
[15:58:48] <justanotheruser> I'd rather not
[15:59:02] <justanotheruser> making a planetary gearbox sounds like something an ameteur can fuck up and waste time on
[16:01:02] <justanotheruser> I have a nema23 motor with about 1.4HP
[16:01:11] <justanotheruser> 2Nm of torque, 5000rpm
[16:02:46] <justanotheruser> I need a ratio of at least 1:50
[16:02:51] <justanotheruser> 50:1*
[16:03:23] <justanotheruser> http://www.ebay.com/itm/Parker-Bayside-PV40FB-050-50-1-precision-planetary-gearbox-low-backlash-/141297009098?hash=item20e5f541ca:g:6HMAAOxyx0JTf7a-
[16:04:46] <robopal> why planetary btw?
[16:08:02] <justanotheruser> most compact solution I suppose
[16:08:34] <justanotheruser> also don't have to worry about diying that part and slippage
[16:08:38] <justanotheruser> you have a suggestion?
[16:10:01] <robopal> no
[16:12:34] <justan0theruser> woops, laptop died
[16:14:01] <robopal> I have doubts about the specific motor for this task
[16:14:06] <justan0theruser> why?
[16:14:19] <robopal> usualy they use servos
[16:14:52] <robopal> hey, who else here has made a robot arm?
[16:15:20] <deshipu> I assembled a MeArm, does that count?
[16:15:51] <robopal> justan0theruser, you will have other problems also, as to how to control it's position, feedback loop
[16:16:16] <robopal> deshipu, sure
[16:16:31] <robopal> justan0theruser, what type of arm are you aiming for?
[16:17:21] <robopal> like the mearm for example or the inmoov, I was looking at erlier
[16:18:07] <robopal> earlier*, I knew I wrote it funny, but hey, wtf is up with that word? ear+lier?
[16:18:20] <justan0theruser> robopal: it is a servo motor
[16:18:34] <robopal> not a stepper?
[16:18:36] <justan0theruser> I don't know what mearm and inmoov are
[16:18:38] <justan0theruser> no
[16:19:12] <robopal> google for mearm and inmoov
[16:19:57] <justan0theruser> so what features are you exactly asking about?
[16:20:06] <justan0theruser> the mearm is dinky
[16:20:15] <justan0theruser> I want it to be similar to a human arm in strength
[16:20:27] <deshipu> hahaha, good luck
[16:20:30] <justan0theruser> so I guess since the inmoov seems to fit that criteria maybe that answers your question?
[16:20:42] <justan0theruser> deshipu: you say that like it's not possible?
[16:20:53] <robopal> yes ok
[16:20:55] <deshipu> justan0theruser: everything is possible, given enough budget and time
[16:21:10] <deshipu> justan0theruser: some things are just hard and expensive
[16:21:15] <justan0theruser> you can buy a motor than has more torque than a human arm for like $400 on ebay
[16:21:28] <deshipu> sure, sure
[16:21:40] <deshipu> how amout speed?
[16:21:44] <deshipu> about*
[16:21:54] <deshipu> and weight?
[16:21:54] <justan0theruser> more
[16:21:58] <justan0theruser> weight? No clue
[16:22:05] <robopal> the control is the tricky part, range of movement, precision
[16:22:07] <deshipu> you know, human muscles have pretty high energy density
[16:22:09] <justan0theruser> The motor I'm looking at has more HP than a human arm
[16:22:33] <justan0theruser> funny enough, last time I was here I was criticized for my motor being too strong :p
[16:22:44] <robopal> see for example the shoulder joint in inmoov how it is made, very complicated
[16:22:50] <justan0theruser> someone said "you want it to replicate a human arm thats throwing a minivan?"
[16:23:14] <justan0theruser> robopal: I only want one dof in the shoulder
[17:05:40] <justanotheruser> robopal: why didn't you like the motor?
[17:06:16] <justanotheruser> it is this one btw http://www.ebay.com/itm/NEMA-23-2Nm-283ozf-in-Integrated-Closed-Loop-Stepper-motor-36VDC-JMC-iHSS57/262565317443