#avr | Logs for 2014-04-22

Back
[07:01:50] <anton02> do you think two rear motors for steering with just a front trolley wheel would be as good as 1 servo front wheel for steering?
[07:02:06] <anton02> in terms of cornering quickly
[07:09:35] <anton02> cornering sharply
[07:12:05] <Tom_itx> generally the non powered wheel is behind
[07:12:06] <anton02> is the front wheel on this kit called a trolley wheel? http://littlebirdelectronics.com.au/products/makeblock-configurable-2wd-robot-kit-blue
[07:13:34] <Tom_itx> this worked good: http://tom-itx.dyndns.org:81/~webpage/lightseeker/lightseeker_index.php
[07:13:40] <Tom_itx> and so did this: http://tom-itx.dyndns.org:81/~webpage/maxbot/maxbot_index.php
[07:14:32] <Tom_itx> i certainly wouldn't pay 90 bucks for it
[07:19:19] <anton02> Tom_itx: what is that? http://tom-itx.dyndns.org:81/~webpage/maxbot/balance02.jpg
[07:20:01] <Tom_itx> just a pot
[07:20:09] <Tom_itx> used instead of a gyro to balance
[07:20:16] <Tom_itx> for testing
[07:20:22] <Tom_itx> the software
[07:21:20] <anton02> cool
[07:25:21] <Tom_itx> yeah that one was kinda cool.. fun to do
[07:25:41] <Tom_itx> learned alot about PID with that one
[15:51:41] <naquad> what are the languages available for programming AVRs? i don't mean C or Assembly (those are by definition), i mean some other more expressive languages
[15:52:19] <mdszy> FORTH?
[15:52:26] <antto> i think avrgcc supports some C++ things
[15:52:37] <mdszy> There'a always forth via amforth or whatever.
[15:52:40] <vsync_> more expressive means more software engineery -cantdothingsforshit -sorta stuff?
[15:52:44] <mdszy> ^
[15:53:05] <mdszy> If you need something more than C, a MCU might not be what you want, IMO.
[15:53:16] <antto> true that
[15:53:18] <vsync_> just do what all the other retards do and throw a python interpreter in it! GO!
[15:53:22] <mdszy> ^
[15:53:28] <Roklobsta> anything gcc can compile should work
[15:53:32] <mdszy> Python is the answer to all the world's problems.
[15:53:33] <vsync_> it will be super awesome
[15:53:33] <Roklobsta> ada, fortran
[15:53:45] <Roklobsta> it'd be super slow on an avr
[15:53:50] <antto> mirc script ;P~
[15:53:54] <Roklobsta> lua
[15:53:59] <mdszy> brainf***
[15:54:02] <vsync_> hell nodejs is more suited for you sir?
[15:54:20] <mdszy> hahaha JS
[15:54:28] <vsync_> I think that's the one!
[15:54:46] <Roklobsta> does avrgcc support garbage collection?
[15:55:10] <kastein> if it did half the arduino users on the planet would be in here asking why their code wasn't doing anything
[15:55:19] <vsync_> :D
[15:55:27] <vsync_> LOL
[15:55:37] <mdszy> They already do, kastein, or they wonder why hooking a lightbulb up to their Arduino isn't doing anything.
[15:55:47] <kastein> do u even MOSFET bro
[15:56:10] <mdszy> BUT BUT THATS EXTRA AND ARDUINO IS THE EVERYTHING AND CAN DO EVERYTHING UGGGGGGH STFU AND STOP TRYING TO MAKE ME DO HARD STUFF AND JUST LET ME PLUG IT RIGHT IN AUGH
[15:56:34] <kastein> you forgot "do I actually have to connect the grounds"
[15:56:41] <mdszy> Oh god.
[15:56:43] <kastein> "things go crazy when i don't, why is that?"
[15:57:03] <mdszy> WHy can't I power my arduino with AC?!?!
[15:57:07] <kastein> I saw that question/argument in here a few days ago. it was depressing
[15:57:11] <mdszy> And why does it blow when I hook it up to a car battery?!?!?!!!
[15:57:29] <Roklobsta> i don't know how 'easy' can the stupid arduino IDE can go together in the same sentence.
[15:58:32] <mdszy> Why can't I just use a transformer to get my wall voltage down for use with the Arduino!?!?
[15:58:42] <vsync_> it doesn't really blow when you hoot it up to a car battery, btw
[15:58:44] <mdszy> I feel like someone has probably asked that before.
[15:58:58] <mdszy> vsync_: slight exaggeration there, I know :P
[15:59:10] <vsync_> and you can power it off mains, since there is no universal truth as to how it should work
[15:59:28] <vsync_> i recommend it wholeheartedly
[15:59:57] <mdszy> and then you have people who consider this a schematic https://i.imgur.com/uIayBSq.jpg
[16:00:25] <vsync_> i've seen a lot of those
[16:00:29] <vsync_> i believe it's the python people
[16:00:34] <mdszy> 1. Download Kicad
[16:00:40] <mdszy> 2. Draw a non-retarded schematic
[16:00:43] <mdszy> 3. Screenshot
[16:00:45] <mdszy> 4. ????
[16:00:51] <mdszy> 5. Look like someone who isn't retarded
[16:00:52] <vsync_> 5. steal underpants
[16:01:11] <vsync_> i believe there are little green men inside avr's who do the calculations
[16:01:57] <mdszy> I think they're yellow, vsync_, please take your racism elsewhere.
[16:04:09] <antto> it's aliens! i know it!
[16:04:23] <antto> they pull the logic gates
[16:04:52] <antto> sometimes, they decide to troll on you, and they do everything wrong, intentionally
[16:05:06] <antto> dem alien basterds
[16:12:11] <vsync_> mdszy: and also the 100 ohm resistor resembles male genitalia
[16:12:41] <antto> hm?
[16:13:02] <mdszy> vsync_: apparently it's supposed to be an LED
[16:20:56] <xorm> what the jesus fuck
[17:15:53] <specing> xorm: lol
[19:56:04] <anton02> what is this called?
[19:56:05] <anton02> http://www.ultracane.com/image/data/rolling%20ball%20tip.jpg
[19:56:44] <anton02> tom itx uses this in his maxbot http://tom-itx.dyndns.org:81/~webpage/maxbot/balance02.jpg
[19:56:48] <anton02> its the same thing
[19:56:58] <anton02> i just want to know what it is so i can buy one
[19:57:46] <Tom_itx> get an omniroller
[19:58:33] <Tom_itx> http://tom-itx.dyndns.org:81/~webpage/largebot/omniwheel.jpg
[19:59:50] <Tom_itx> mine was just a pieced of teflon
[20:37:54] <anton02> i like these wheels http://thekneeslider.com/images/2012/09/spherical-drive-system-motorcycle.jpg
[20:38:48] <anton02> i wish i knew where to get something like this http://skpang.co.uk/catalog/images/robotics/wheels_and_casters/0J455.600.jpg
[20:39:29] <Casper> 3d printed
[20:40:13] <Valen> why would you 3d print that?
[20:43:26] <Casper> the one in the second picture is 3d printed
[20:44:54] <anton02> i found lego ones not really ideal though http://www.ebay.com.au/itm/2-Lego-BALL-CASTERS-mindstorm-s-robot-omnidirectional-wheel-pivot-ev3-nxt-rcx-/271436087669?pt=Building_Toys_US&hash=item3f32da0175
[20:47:10] * Casper would still use standard wheels
[20:48:01] <anton02> it's just for the front wheel of the car. Rear dual motors steer and move car
[20:49:42] <Casper> seems to be complicated...
[20:51:56] <anton02> Casper: does this seem complicated? http://littlebirdelectronics.com.au/products/makeblock-configurable-2wd-robot-kit-blue
[20:52:42] <Casper> the steering will be
[20:52:50] <anton02> i see
[20:52:56] <Casper> what you save in hardware you get it in software
[20:53:15] <anton02> i asked about this last night and tom-itx said that his one was perfectly capable of turning
[20:53:21] <Casper> I'ld just make a real steering on the front
[20:53:26] <Casper> oh it can turn
[20:53:45] <Casper> even better than with front steering
[20:54:00] <anton02> just a huge pain in the ass?
[20:54:18] <Casper> good luck making it go straight on an incline, or with a wheel in gravel and one on concrete
[20:54:50] <anton02> i dont see why the incline would be hard
[20:55:12] <anton02> are those two situations the only problematic ones with that set up?
[20:55:27] <Casper> no
[20:55:28] <Valen> heh sounds like our combat bots
[20:55:37] <Valen> its not "stable"
[20:55:47] <Casper> but if you can make it work with those 2, the others will be ok
[20:55:51] <Valen> it will need externally referenced feedback to go in a straight line
[20:56:20] <Casper> the thing is: how will you detect that one wheel is spinning?
[20:56:25] <anton02> Valen: do you mean due to the 2 motors running at different speeds? I have PID feedback to take care of that
[20:56:31] <Casper> or barelly slipping?
[20:56:45] <Casper> PID feedback is totally useless
[20:56:50] <Valen> the thing is you will be skid steering
[20:56:58] <Valen> Casper: oh it'll help
[20:57:08] <Valen> but it will drift
[20:57:26] <Casper> if you need to make the right wheel spin at twice the speed to make it go straight, and you use a constant speed... you will turn
[20:57:32] <Casper> that's why I say useless
[20:57:50] <Casper> sure, PID help, but it actually need another feedback to make it go straight
[20:58:31] <anton02> i have wheel encoders for left and right. Is that what you mean by 'another feedback'?
[20:58:41] <Valen> your wheels will slip
[20:58:50] <Valen> or be different diamiters
[20:58:55] <Valen> or both
[20:59:10] <anton02> yes, thats definitately not going to work then.
[20:59:17] <anton02> because i need very precise control
[20:59:29] <anton02> over exactly where the car goes
[20:59:50] <Valen> if you need it to be precise to some external datum you are best off referencing said datum
[20:59:51] <anton02> it has to be driven by a computer
[21:00:20] <Valen> inertial navigation and dead reckoning are subject to the accumulation of errors
[21:00:44] <anton02> theres no real time feedback on that datum so error correction in real time isnt possible. the datums position is given once every 5 seconds
[21:01:39] <anton02> therefore im thinking i have no choice but to use a front servo with standard steering
[21:01:50] <Valen> you don't know what a datum is if its moving
[21:02:00] <Valen> a datum is a fixed external point
[21:03:27] <anton02> but as you said, wheels are going to slip so you cant tell exactly how far the cars travelled to the datum
[21:03:54] <Valen> ok, think GPS
[21:04:06] <Valen> its all referenced to the naval obsovtory in the USA
[21:04:10] <Valen> that is the datum
[21:04:53] <anton02> but gps gives real time feedback on the objects current location with respection to the datum
[21:05:09] <anton02> i wont have real time feedback on the cars current location
[21:05:29] <anton02> respect to*
[21:05:52] <Valen> I would suggest if you want to be "very accurate" that you acquire it
[21:06:14] <Valen> otherwise you will need to spend lots of money on inertial navigation systems and much time messing with kalman filters
[21:06:36] <anton02> i will pretty much know it if the wheels dont slip. so im just saying skid steering is a no
[21:06:58] <Valen> you dont get it
[21:07:11] <Valen> your wheels will be different sizes
[21:07:16] <Valen> 100% guaranteed
[21:07:39] <anton02> that small error will be accounted for during the 5s update intervals
[21:07:41] <Valen> one will pick up a hair off the ground and it'll now be bigge
[21:07:44] <Valen> bigger
[21:08:08] <Valen> so you *do* have an external reference
[21:08:19] <anton02> just not real time
[21:08:28] <Valen> nothing is real time
[21:08:31] <anton02> i have external racetrack cameras
[21:08:45] <Valen> what are you actually doing?
[21:09:15] <anton02> a car needs to drive around a racetrack and it needs to be completely autonomous
[21:09:42] <Valen> if you are "racing" then you will be slipping
[21:09:51] <anton02> it wont be racing other cars
[21:09:54] <anton02> just time trial
[21:10:51] <Valen> look skid steering will work, but as with everything it will be messy
[21:12:00] <anton02> but i dont understand. how could it work if im basically blind for 5 seconds due to the wheel slip?
[21:13:10] <anton02> unless you can calculate exactly when it will slip and by how much which seems extremely complicated
[21:13:13] <Casper> anton02: you may be able to get away with an accelerometer and gyro
[21:13:16] <Valen> you need to start doing numbers
[21:13:22] <Casper> if you have some form of other position feedback
[21:13:38] <Valen> that would probably be worse than dead reckoning over that time frame ;->
[21:13:49] <Casper> the accel/gyro is used for short term correction
[21:13:56] <Casper> and another feedback for long term correction
[21:14:12] <Casper> also, a bad thing about your wheels...
[21:14:21] <Casper> let's say you have pneumatic tires
[21:14:23] <Valen> the drift and sensitivity for anything much cheaper than a crossbow is going to be fairly pointless
[21:14:34] <Valen> work out what "accuracy" you need, then see how much error you can tolerate
[21:14:42] <Valen> then work out how to achieve that
[21:14:43] <Casper> you have a perfect wheel and pressure and all
[21:14:52] <Casper> BUT your weight is slightly unbalanced
[21:15:11] <Casper> even hard tire will give the same issue, but to less of an extent...
[21:15:12] <Casper> but bbl
[21:41:59] <johnwalkr> anton02: can you follow a line on the traack?
[21:42:23] <johnwalkr> using dead reckoning based on how your motor(s) are turning won’t work, to put it bluntly
[21:42:53] <anton02> johnwalkr: cant follow a line due to barriers on the edge of the road
[21:43:14] <anton02> johnwalkr: im not sure what dead reckoning even is, hang on ill google it
[21:43:27] <johnwalkr> it’s what you described, basically
[21:43:45] <johnwalkr> “wheel turnd 4x so i ought to be at X location"
[21:44:18] <anton02> johnwalkr: it's over a very small duration though. 5 seconds approximately
[21:44:52] <johnwalkr> ok, external cameras put in information every 5s?
[21:45:05] <anton02> johnwalkr: so although there will be error, it wont have the opportunity to grow much
[21:45:07] <anton02> yeah
[21:45:24] <johnwalkr> depends on your speed i guess
[21:45:39] <anton02> pretty slow
[21:45:52] <johnwalkr> if you add gyro and accelerometer it will work much better
[21:46:03] <anton02> a slow walk speed
[21:46:41] <johnwalkr> could work then,
[21:47:08] <anton02> im wondering if there would be too much wheel slippage if i use 2 motors on the back for steering like this http://littlebirdelectronics.com.au/products/makeblock-configurable-2wd-robot-kit-blue
[21:47:27] <anton02> or if there'd even be slippage at all
[21:48:43] <anton02> can gyro/accelerometers detect very slow speeds?
[22:21:14] <anton02> brb
[22:25:28] <alex20032> is a avr powerful enough to run a quadcopter (with non optimized way)
[22:26:45] <alex20032> i want to make a quadcopter, but with my math background, i doubt it will be optimizes
[23:03:18] <Xark> alex20032: Hard to answer because there is no "lower limit" to de-optimized code. :) However, several open AVR quadcopter projects to look at/borrow from, I believe.
[23:25:22] <Casper> alex20032: how many correction/second do you need?
[23:25:59] <Casper> alex20032: chance is that it can run an optimised one
[23:26:23] <Casper> by optimised one, I really mean one that compensate extremelly well
[23:27:05] <Casper> the avr can do like 8000 float operation a second, if you do fixed point you will do way more, maybe in the 10-1000 times more
[23:27:32] <Casper> I doubt that you will make so many correction a second...
[23:41:44] <alex20032> floating point is what compiler produce, and fixed point is provided by library??
[23:42:07] <Casper> no and no
[23:42:19] <Casper> it all depend on your variable types
[23:42:28] <Casper> if you use float variables... ew...
[23:43:13] <Casper> instead of using 0.001 you could multiply by 1000, and use integers
[23:43:18] <Casper> that's one way
[23:43:55] <alex20032> if
[23:44:01] <Casper> let's say you mesure stuff... and your smallest unit is the millimeter... why use meters as the main unit? use millimeters straight
[23:44:29] <Casper> sometime it complicate the math too much, but often it's quite doable
[23:45:13] <alex20032> i mean by that if i declare a float, the compiler make a floating point... but if i use a type defined by library, there is fixed point
[23:45:47] <inflex> Aaah fun
[23:46:28] * inflex is a big proponent of shifted multiplier integer math
[23:47:14] <inflex> Just design things in such a way that you don't get cumulative errors
[23:47:16] <Casper> make stuff so faster, but may make the stuff more complex...
[23:47:53] <alex20032> but can someone say if i understand well?
[23:49:38] <Casper> I think there is some libs that may offer it, but never checked, stuff like that is too easy to do without a lib so I never saw the point of complicating the code
[23:50:35] <Casper> oh yeah...
[23:50:43] <Casper> need to add something on my to buy list...
[23:50:54] <Casper> #29 drill bits
[23:51:03] <alex20032> but am i right about compiler make floating point when declaring float?
[23:51:26] <Casper> yes
[23:51:37] <warsh_> I wanted to know if anyone could recommend a book that would better explain the logic of controlling multiple (20 or more) servos with an AVR
[23:51:48] <Casper> but may skip the floatingh point in some case
[23:52:09] <warsh_> I'm having difficulty visualizing how to control more that many servos
[23:52:10] <Casper> warsh_: for 20 servo, you probably want a specialised IC
[23:52:27] <Casper> you would need software PWM, and that suck alot
[23:52:30] <warsh_> Casper: something that communicates over i2c?
[23:52:40] <Casper> over whatever protocol
[23:53:22] <warsh_> playing around with timers to the degree of 20 servos doesn't seem like the most enjoyable time to debug
[23:54:11] <warsh_> google keeps referring me to arduino crap, written in processing
[23:54:15] <Casper> the main issue is the possible timing issues and jitters
[23:54:50] <warsh_> Casper: Should I be looking for a different platform than avr?
[23:54:50] <Casper> one issue is the stupidly weird way that a servo work...
[23:54:52] <alex20032> servo state machine in timer
[23:55:01] <Casper> 1-2ms pulse every 20ms...
[23:55:21] <Casper> it's doable
[23:55:42] <Casper> I did 16 channels with main sync for light dimmers
[23:56:05] <alex20032> is amsp430 better at computing power than an avr?
[23:56:11] <warsh_> the 20 servos are to control a humanoid robot I have,
[23:56:21] <warsh_> from a kit
[23:56:35] <warsh_> given that locomotion would be hard enough with the timing
[23:57:17] <alex20032> it would better to have multiple mcu
[23:57:33] <alex20032> one for each part of the humanoid
[23:57:49] <warsh_> alex20032: I'm not too sure how to implement that
[23:58:27] <warsh> any book in particular you could recommend?
[23:58:38] <alex20032> is there a way to use a debugger outside atmel studio
[23:59:23] <alex20032> like under linux
[23:59:50] <Casper> just output debug info via serial, lcd or leds on your target :D