#robotics Logs

Dec 29 2017

#robotics Calendar

12:18 AM anonnumberanon: 2d is also 3d isn't it?
12:23 AM rue_mohr: not unless you have 2 of them
12:24 AM anonnumberanon: what does not unless mean?
12:25 AM anonnumberanon: i could decipher it as a triple negation, which simplifies as a single negation with boolean algebra
12:25 AM rue_mohr: if (!(A&B))
12:25 AM anonnumberanon: so not you have 2 of them
12:25 AM anonnumberanon: or is it 2 negations
12:25 AM rue_mohr: if you have two 2d you have 3d
12:26 AM rue_mohr: ask me complex particle phyisics questions, not questiona bout english
12:26 AM anonnumberanon: if you have two 2d you also have 2 3d right?
12:26 AM rue_mohr: no 3d = 2*2d
12:26 AM anonnumberanon: 2d vectors are 3d vectors for which the z value is 0, right?
12:26 AM rue_mohr: if you limit it to that yes
12:26 AM rue_mohr: if you rotate on anything other than z, it all goes to hell
12:27 AM anonnumberanon: well of course
12:27 AM anonnumberanon: there is a reason why this stuff is taught in Cal III
12:28 AM anonnumberanon: why is this assembly for a while(1); ?
12:28 AM anonnumberanon: ;***************************************************************************
12:28 AM anonnumberanon: ; Application: Led flasher
12:28 AM anonnumberanon: ; Author: rue_mohr
12:28 AM anonnumberanon: ; Date:
12:28 AM anonnumberanon: ; Assembler: AVR Studio 4.07.
12:28 AM anonnumberanon: ; Target: Atmel ATtiny13.
12:28 AM anonnumberanon: ;***************************************************************************
12:28 AM anonnumberanon: .device ATtiny13
12:28 AM anonnumberanon: ; ------------- Memory locations ---------------
12:28 AM anonnumberanon: ;
12:28 AM anonnumberanon: ; .def bar =r01 ; one byte ram location
12:29 AM anonnumberanon: ;
12:29 AM anonnumberanon: ; ----------------------------------------------
12:29 AM anonnumberanon: .def A = r16
12:29 AM anonnumberanon: .def B = r17 ; and logic instructions
12:29 AM anonnumberanon: .def C = r18
12:29 AM anonnumberanon: .def D = r19
12:29 AM anonnumberanon: ; ------------- Equates ------------------
12:29 AM anonnumberanon: .equ INPUT = 0
12:29 AM anonnumberanon: .equ OUTPUT = 1
12:29 AM anonnumberanon: ;========================| SYSTEM VECTORS |===========================
12:29 AM anonnumberanon: ;
12:29 AM anonnumberanon: .cseg ;CODE segment
12:29 AM anonnumberanon: .org 0x0000
12:29 AM anonnumberanon: rjmp init ; RESET
12:29 AM anonnumberanon: reti ; EXT_INT0
12:29 AM anonnumberanon: reti ; PCINT0 (pin change)
12:29 AM anonnumberanon: reti ; TIM0_OVF
12:29 AM anonnumberanon: reti ; EE_RDY
12:29 AM anonnumberanon: reti ; ANA_COMP
12:29 AM anonnumberanon: reti ; TIM0_COMPA
12:29 AM anonnumberanon: reti ; TIM0_COMPB
12:29 AM rue_mohr: *sigh*
12:29 AM anonnumberanon: reti ; WATCHDOG
12:29 AM anonnumberanon: reti ; ADC
12:29 AM anonnumberanon: ;=============================| MAIN |================================
12:29 AM anonnumberanon: ;
12:29 AM anonnumberanon: .org 0x000A
12:29 AM anonnumberanon: init:
12:29 AM anonnumberanon: ; Set up stack
12:30 AM anonnumberanon: ldi A, low(RAMEND) ; load low address of ram to R16...
12:30 AM anonnumberanon: out SPL, A ; Set Stack Pointer to top of RAM
12:30 AM anonnumberanon: ; Disable interrupts
12:30 AM anonnumberanon: cli
12:30 AM anonnumberanon: ; Set up io ports
12:30 AM anonnumberanon: ldi A, (0<<PORTB5)|(0<<PORTB4)|(0<<PORTB3)|(1<<PORTB2)|(0<<PORTB1)|(0<<PORTB0)
12:30 AM anonnumberanon: out PORTB, A
12:30 AM anonnumberanon: ldi A, (INPUT<<DDB5)|(INPUT<<DDB4)|(INPUT<<DDB3)|(OUTPUT<<DDB2)|(INPUT<<DDB1)|(INPUT<<DDB0)
12:30 AM anonnumberanon: out DDRB, A
12:30 AM anonnumberanon: MainLoup:
12:30 AM anonnumberanon: ldi A, $00 ; set tempport bit 0 low
12:30 AM anonnumberanon: out PORTB, A ; write to port
12:30 AM anonnumberanon: rcall wait ; do the wait thing
12:30 AM anonnumberanon: ldi A, $04 ; set tempport bit to high
12:30 AM anonnumberanon: out PORTB, A ; write to port
12:30 AM anonnumberanon: rcall wait ; do the wait thing
12:30 AM anonnumberanon: rjmp MainLoup ; go back and do it all over again
12:30 AM anonnumberanon: ;========================| SUBROUTINES |==============================
12:30 AM anonnumberanon: ;
12:30 AM anonnumberanon: wait:
12:30 AM anonnumberanon: ldi B, 1 ; load count1 with decimal 200
12:30 AM anonnumberanon: d1:
12:30 AM anonnumberanon: ldi C, 200 ; load count2 with decimal 200
12:30 AM anonnumberanon: d2:
12:30 AM anonnumberanon: ldi D, 200
12:30 AM anonnumberanon: d3:
12:30 AM anonnumberanon: dec D
12:30 AM anonnumberanon: brne d3
12:31 AM anonnumberanon: dec C ; decrement count2
12:31 AM anonnumberanon: brne d2 ; loop if not zero
12:31 AM anonnumberanon: dec B ; decrement count1 if count2 is zero
12:31 AM anonnumberanon: brne d1 ; do inside loop again if count2 nz
12:31 AM mbrumlow: oh my
12:31 AM anonnumberanon: ret
12:31 AM rue_mohr: anonnumberanon, next time, maybe accidently pasting the url of a good porn site eh?
12:31 AM anonnumberanon:
12:31 AM anonnumberanon: LOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOL
12:31 AM anonnumberanon: ok
12:31 AM anonnumberanon: i haven't used a computer seriously in a few days i need to take it slow i think
12:31 AM anonnumberanon: although why was this in my paste buffer
12:31 AM anonnumberanon: rjmp .-2 ;
12:31 AM anonnumberanon: that's what i wanted to paste
12:31 AM mbrumlow: we got all the infos
12:31 AM anonnumberanon: rue_mohr, i can't know your cookies so what i paste wouldn't be good for you
12:31 AM rue_mohr: uhu
12:32 AM rue_mohr: relative jump, back 2 instructions
12:32 AM rue_mohr: aka back to the start of the jump it just did
12:32 AM rue_mohr: ... that was painfull, where was I
12:33 AM anonnumberanon: mbrumlow, this code is not very useful, it's good for something that runs and compiles though
12:33 AM anonnumberanon: plus you probably won't need to write in this language
12:36 AM rue_mohr: cause you can have gcc write it for you, than optimize it
12:36 AM rue_mohr: yay, my line intersection code is integrated
12:36 AM rue_mohr: now I can
12:36 AM rue_mohr: uh...
12:36 AM rue_mohr: snap ears off polygons
12:39 AM rue_mohr: but I'm tired
12:41 AM anonnumberanon: that feel when no comfy japanese lifestyle https://pbs.twimg.com/media/DR5SUTbV4AAnSnH.jpg
12:42 AM mrdata: while(1) means alwsays jump, so it makes sense to me
12:42 AM mrdata: always loop, that is
12:43 AM anonnumberanon: didn't know what .-2 meant
12:44 AM rue_bed: negitive 2 bytes
12:44 AM rue_bed: the jump is two bytes
12:44 AM rue_bed: iirc
12:58 AM anonnumberanon: "Conditional relative branch. Tests the Zero flag (Z) and branches relatively to PC if Z is cleared. If the instruction is executed immediately after any of the instructions CP, CPI, SUB or SUBI, the branch will occur if and only if the unsigned or signed binary number represented in Rd was not equal to the unsigned or signed binary number represented in Rr."
12:58 AM anonnumberanon: this is why we should charge insane money for this work
01:02 AM anonnumberanon: look at the example on this page, scumbags who write documentation
01:03 AM anonnumberanon: no space between brne and loop
01:03 AM anonnumberanon: and everywhere else either
02:17 AM rue_bed: ?
02:18 AM rue_bed: rjmp is not conditional
02:18 AM rue_bed: brne or bre would be
02:19 AM rue_bed: or thats, whatever...
02:35 AM anonnumberanon: yeah this is for brne
02:21 PM rue_mohr: not sure if the results are real yet or not
02:21 PM rue_mohr: took that line intersection code that did 7000 test/ms and compiled it with -O2 performance jumped to 70000 tests/ms
02:27 PM SpeedEvil: Does it still work?
02:27 PM rue_mohr: yup
02:28 PM SpeedEvil: Be careful you're doing arithmetic on the right types, and the compiler isn't optimising out tests because it can
02:29 PM rue_mohr: I'm gonna be interested to see what happens if I start piling some of this code togethor, performance wise
02:29 PM rue_mohr: most of my next step is 2d csg
03:32 PM eftm_: if you want to get a sense (maybe just a loose lower bound) of the precision of a
03:32 PM eftm_: serial manipulator, how might you go about that, without building it?
03:42 PM SpeedEvil: work out the sum of the worst case stiffness of the joints and elbows in a worst case geometry
03:44 PM SpeedEvil: then do a similar thing with all of your positioning errors of your drives.
04:08 PM eftm_: it seems like this would be a routine thing, assuming that precision is an important criteria in a lot of applications. do you know of any software to automate these kinds of calculations?
04:08 PM robotustra: https://i.ebayimg.com/images/g/M78AAOSwZlZaLEkD/s-l1600.jpg
04:08 PM robotustra: https://i.ebayimg.com/images/g/ByoAAOSwttVaLEkD/s-l1600.jpg
04:09 PM eftm_: thanks btw
04:09 PM eftm_: robotustra, what is that a picture of?
04:10 PM robotustra: I got it
04:10 PM robotustra: it's a STARRET height gage
04:11 PM robotustra: now I can just masturbate on it for 1 week
04:12 PM Tom_L: hmm
04:13 PM Tom_L: i heard height gage and was a little jealous, i'd want a digital one
04:13 PM Tom_L: starret is nice though but overpriced
04:15 PM robotustra: got it for 100 usd
04:16 PM robotustra: tell me that mitutuyo is overpriced
04:21 PM robotustra: this is my first starret device, but I'm pretty sure that not last one
06:32 PM jason___ is now known as jasonheh
11:41 PM Tom_L: ok, i got a little bit done tonight
11:42 PM mrdata: ok
11:42 PM mrdata: what's done?
11:44 PM Tom_L: partially mounted my X axis for my mill
11:45 PM Tom_L: http://tom-itx.no-ip.biz:81/~webpage/cnc/Mill_Steel/Assembly/X_Axis_travel2.jpg
11:45 PM Tom_L: the plate
11:45 PM Tom_L: i added risers for clearance for the ballscrew and drilled and mounted the rails for it
11:45 PM Tom_L: http://tom-itx.no-ip.biz:81/~webpage/cnc/Mill_Steel/Assembly/X_Axis_Plate.jpg
11:46 PM Tom_L: that's what it looks like underneath except it's a little higher now
11:48 PM mrdata: cool
11:49 PM Tom_L: ever hear of 'swatting' ?
11:50 PM Tom_L: gamers try to lure police to a random address
11:51 PM Tom_L: happened a few blocks from me. an innocent kid went to the door and got shot
11:51 PM mrdata: oh hell
11:52 PM Tom_L: they didn't even give him a chance because of what the gamers had told the police on the phone
11:52 PM mrdata: did the jackasses who caused this get caught?
11:52 PM Tom_L: no, they closed their online gamer accounts after making some jackass comments about it
11:52 PM mrdata: could possibly still be tracked down
11:53 PM Tom_L: the kid came to the door because he heard something outside and didn't have a clue what was going on
11:53 PM Tom_L: the cop acted way too quick
11:53 PM mrdata: thats terrfiying
11:54 PM Tom_L: they just released the footage of the cop's camera
11:54 PM Tom_L: then they made the mother and daughters come out with their hands up walking over his body laying on the porch
11:55 PM Tom_L: they'd been just sitting in the living room watching tv or something
11:55 PM Tom_L: i'll stop. it's just rather upsetting how it went down
11:56 PM Tom_L: http://www.kansas.com/news/local/crime/article192111974.html
11:56 PM Tom_L: the footage