#robotics Logs

Jul 21 2017

#robotics Calendar

12:00 AM anniepoo: general note to self - arduino regulator will not handle 4 beefy servos
12:03 AM anniepoo: have a 12V wall wart
12:03 AM anniepoo: after apparently frying first arduino, got another one
12:03 AM rue_house: !?no
12:03 AM anniepoo: proved I could upload blinky, powered by usb
12:03 AM rue_house: the one servo on the tray pushes about 0.5A
12:03 AM anniepoo: hmm
12:03 AM rue_house: I cant get the deceleration offset calculated right,
12:03 AM rue_house: its SO easy compared to what I'v done so far
12:04 AM anniepoo: so rue, I should provide 6V 2+A to the servo positive lead?
12:10 AM anniepoo: 8cD stall current 2.5 A
12:11 AM anniepoo: running current 500mA
12:11 AM anniepoo: (taking low value for resting)
12:12 AM anniepoo: 1 stalled, 3 resting
12:12 AM anniepoo: 4A
12:12 AM anniepoo: 8cD and the Arduino Uno I'm using will source 200mA out the Vcc pin
12:15 AM rue_house: "90% of what I eat comes out of a can, the other 10% is the water, salt, and pepper I add to it"
12:15 AM rue_house: anniepoo, yea, I'm not putting any force on that servo I mentioned
12:15 AM anniepoo: I stalled it - was setting up the limits of travel, overtravelled, got caught on a bit of chassis
12:17 AM rue_house: there is a triangle and a rectangle
12:17 AM anniepoo: integrate (vtop - decel*t) dt
12:17 AM rue_house: ((something)*dt)/2
12:17 AM anniepoo: t*vtop - 0.5*decel*t^2
12:18 AM rue_house: sounds plausable
12:20 AM rue_house: I'll jab it in and see if it works
12:20 AM anniepoo: your current speed is vtop - decel*t
12:20 AM anniepoo: t must be 0 at time you start decel
12:20 AM rue_house: it is, I adjusted that
12:20 AM anniepoo: and x is measured from the point where you started to decel
12:20 AM rue_house: got that too
12:20 AM anniepoo: sigh... guess I have no suitable supply
12:20 AM rue_house: } else { // deccel
12:20 AM rue_house: printf("decel\n");
12:20 AM rue_house: dt = t - this->dt2;
12:20 AM rue_house: *offset = (this->dx1) + (this->dx2) + (dt*this->vTop) - (this->decel*dt*dt)/2 ;
12:20 AM rue_house: }
12:20 AM rue_house: *offset += this->start;
12:20 AM rue_house: accel
12:20 AM rue_house: 1.899999, 2.707498
12:20 AM rue_house: accel
12:20 AM rue_house: 1.949999, 2.851873
12:20 AM rue_house: accel
12:20 AM rue_house: 1.999999, 2.999998
12:20 AM rue_house: decel
12:20 AM rue_house: 2.049999, 4.148695
12:20 AM rue_house: decel
12:20 AM rue_house: 2.099999, 4.042413
12:20 AM rue_house: decel
12:20 AM rue_house: 2.149999, 3.929881
12:20 AM rue_house: !@#$!#%!#%@#$%@#
12:22 AM rue_house: idea
12:22 AM rue_house: I'll make it a not not
12:27 AM anniepoo: okey dokey
12:28 AM anniepoo: to my vast amazement, I actually have that connector
12:28 AM anniepoo: I've ordered a beefier PS
12:28 AM anniepoo: and a few arduinos
12:28 AM anniepoo: 8cD
12:36 AM rue_house: nothing beats stock
12:37 AM rue_house: area = (slope * x^2)/2
12:37 AM rue_house: rise/run
12:38 AM rue_house: area = ((dy/dx)*x^2)/2
12:38 AM * rue_house starts to slowly spin his head
12:40 AM rue_house: that looks a lot like
12:40 AM rue_house: this->dt1 = sqrt((2*percentT*(this->end - this->start))/this->accel);
12:41 AM rue_house: *offset = (this->accel * dt * dt)/2.0;
12:43 AM rue_house: dt = t - this->dt2;
12:43 AM rue_house: hahahaha
12:43 AM rue_house: oooh dear
12:43 AM rue_house: dt = t - (this->dt1 + this->dt2);
12:43 AM rue_house: the d is for delta
12:44 AM rue_house: YES
12:44 AM rue_house: I think...
12:46 AM rue_house: [:| yea, thats it... getting that a few hours ago would have been nice
12:46 AM rue_house: anniepoo, want to see my curve?
12:49 AM rue_house: https://ibb.co/gPX9n5
12:49 AM rue_house: nice eh?
12:50 AM rue_house: different accel and decel rates
12:50 AM rue_house: thats dx/dt
12:50 AM rue_house: ok
12:51 AM rue_house: so that puts me where I started
12:51 AM rue_house: void getTime(trapMotion_t * this, float * time, float x) { // position is the input, time is the output
12:51 AM rue_house: this is the last challange
12:52 AM rue_house: inverting the calc
12:52 AM rue_house: all the data is there
01:01 AM rue_house: ok I'm just seeing 2 forms of the same equation again and again here
01:05 AM rue_house: thats funny. 5 mins ago it was 9:45 and supper was cooked, I commented to myself the timing was perfect
01:05 AM rue_house: I'v had one bite and its an hour later
01:31 AM rue_house: I think I got it
01:33 AM rue_house: ok, thats it
01:33 AM rue_house: thats it
01:34 AM rue_house: I can have the interpolator ask how long till the next step
01:34 AM rue_house: and just wait till then, and take it
01:34 AM rue_house: I can do trapazoidal, synchronized motion of 65535 axies
01:34 AM rue_house: linear interpolated
01:35 AM rue_house: one day, I'll want to write a 3rd order interpolator, not today
01:38 AM rue_house: before that, I'll prolyl want to write soemthing that can start and terminate to non-zero velocities
01:38 AM rue_house: that would be a cnc precursor
01:39 AM rue_house: I'll need code that works out which of a set of axies is the limiting factor in a multiaxis move first.
01:40 AM rue_house: http://paste.debian.net/977472/
01:40 AM rue_house: thats a peice of work
01:40 AM rue_house: that goes with the BVh code, and the coe for doing the beacon based dead reconing
01:41 AM rue_house: and some of the 2d intersection code
01:41 AM rue_house: hah, I still dont know if it'll do reverse motions,
01:41 AM rue_house: prolly kak
01:41 AM rue_house: whatever
01:42 AM rue_house: I could wrap it in a reverser/translator
01:54 AM rue_bed: I'll need to work out how to stich it into my interpolator too
01:54 AM rue_bed: but I dont need that for its first project
01:55 AM rue_bed: I wonder if I can do that math on an avr
01:56 AM rue_bed: I fear to think how much room a square root fn takes up
01:57 AM z64555: depends on how accurate you want it to be
01:57 AM z64555: and how many cycles you can live with
01:57 AM z64555: I think it can be approximated with a taylor series? I forget
01:57 AM rue_bed: well, it dosn't have to be too accurate, and its all mechanical, so 200ms is fine
09:13 AM rue_house: I'm going to have to play with the definition of time quite a bit for the avr copy of this
09:16 AM rue_house: delay between fast steps is 1500
09:16 AM rue_house: slow is 2500
09:17 AM rue_house: the servo is delayed 150 between steps
09:20 AM veverak: hmm
09:20 AM veverak: I think I can do strong typedefs now
09:20 AM veverak: (in C++)
09:28 AM rue_house: whats a weak typedef?
09:32 AM veverak: what C++ does
09:32 AM veverak: weak -> just defining new name for type
09:32 AM veverak: strong -> actually new type
09:33 AM veverak: rue_house: practical use, typedef unsigned Index;
09:33 AM veverak: Index i = 6;
09:33 AM veverak: unsigned u = i;
09:33 AM veverak: with weak typedefes, second line pases, with strong ones, it won't
09:34 AM rue_house: huh
09:40 AM veverak: reason is simple: just because two types are actually just unsigned, doesn't mean that they should be convertible between each other
09:48 AM veverak: also, standart solution is just wrapping the unsigned in structure
09:48 AM veverak: that does not give any performance losses
09:48 AM veverak: however one has to rewrite all the operators
09:48 AM veverak: but that can be templated and than I can play a bit
09:49 AM veverak: and for example, have type where I can allow on increase and check for overflows on one place
09:49 AM veverak: *only increase
09:51 AM rue_house: "Hurry up Rue, the universe is getting older."
09:52 AM veverak: hmm
09:52 AM veverak: boost has units library? cool
09:55 AM rue_house: wonder what types they created
10:25 AM deshipu: freedom units
10:25 AM deshipu: and potrzebie
10:57 AM Luminax-temp is now known as Luminax
05:49 PM Casper: Hi there, does anyone here have experience with lifepo4 batts? are they worth their price? do they last long?
06:26 PM anniepoo: sorry, i don't
06:27 PM anniepoo: that is, I've used them, but I'm not knowledgeable about batteries
06:54 PM deshipu: they are stablier than lip and don't self-discharge as much
07:19 PM Casper: looking for good 'inexpensive' one for an ebike
07:32 PM rue_house: the locks of graphite arrived today!!!!
07:33 PM rue_house: https://www.aliexpress.com/item/New-50-x-50-x-20mm-High-Purity-99-9-Graphite-Ingot-Block-Melting-Point-3850/32635914480.html
07:33 PM rue_house: blocks
07:33 PM rue_house: its true, their that big!
07:33 PM rue_house: everyone else wants like $30 for the same size peice
07:41 PM Casper: maybe it's because it is not 99.9% pure but only 95% ?
08:21 PM synja: ehhh
08:21 PM synja: that's going to reduce the accuracy
08:37 PM SpeedEvil: rue_shop3: that is a damn good price
08:37 PM synja: read what casper wrote
08:37 PM synja: you get what you pay for
08:38 PM synja: those impurities will melt, and dilute w/e you're pouring into the mold, and change the surface area of the what you're molding too
08:39 PM SpeedEvil: depending on what the impurities are.
08:40 PM synja: you think those impurities are going to have a _higher_ melting point than graphite?
08:40 PM synja: it depends on the project, but for most cases i would stay away
09:16 PM z64555: I think as a general rule, you always get a lower melting point from contaminents/additives
09:18 PM synja: always. but whether or not the substance you're pouring in is near the melting point of the majority of those impurities, is another matter
09:18 PM synja: well, near always
10:21 PM rue_bed: I got it for soldering gun tips
10:21 PM rue_bed: forming the copper at the tip of the gun
10:22 PM rue_bed: I suppose it'll be important to use a non-oxodizing flame!
10:22 PM * rue_bed tries to wake up
10:25 PM rue_bed: ok so, what happened
10:25 PM rue_bed: monday
10:25 PM rue_bed: I.... what did I do
10:25 PM rue_bed: at so,me pitn I for the software working forthe screw sorter
10:26 PM rue_bed: andI did the pipe hangers, what was like wed?
10:26 PM rue_bed: yesterday I gotr the trapazoidal codeworking
10:29 PM rue_bed: today I should proll y firgure out how to kmake the trapazoidal work on the existing code
10:29 PM rue_bed: and I need to refine how the screws tip from the cart to the pipe
10:30 PM rue_bed: the large flying gap is lending to non-consistnacy of placement
10:32 PM rue_bed: shop fileserver died, need to check that out
10:32 PM rue_bed: thats a good sart
11:08 PM Tom_itx: rue_bed, another hdd die?