#robotics Logs
Feb 28 2013
#robotics Calendar
03:00 BW^- Are you aware of any robot that has like a stiff mechanical finger, so that it could do typing on a calculator or keyboard?
03:29 Skwint BW^- that would be easy enough to make
03:30 Skwint but it would be far easier to make a "robot" that has a USB cable and pretends to be a keyboard than to make one that can work out where each key is
04:19 BW^- tskwint: with what would it be done?
04:34 BW^- skwint: do you have any particular thought on what robot "arm" would be suitable for such a task?
04:35 BW^- something programmable, like via usb or ethernet or sth
04:41 Skwint what are you trying to achieve?
04:41 Skwint I can think of no easier way for me to tell a robot which button I want it to push than to ... push the button ...
04:42 Skwint I could start guessing why you can't just push it yourself, but ...
04:44 BW^- well at least like a fun project, mechanical fingers. :)
05:01 Skwint OK ...
05:01 Skwint OK - in that case ... an AVR chip is the programmable thing you need. A control board is the thing the chip is in. A mechanical finger is made out of anything you have lying around. The thing which moves it is a servo, and is attached to the control board.
05:01 Skwint the typical (but not standard) control board + chip for a beginner is the arduino *ducks*
05:02 Skwint I have an axon2. There are various arduino-like things that cost a lot less and work just as well
05:02 Skwint was that the level of answer you were looking for?
05:02 Skwint a small piece of plastic on a 9g serve would be easily strong enough to push a key
05:03 Skwint if you want it to be intelligent about which key it pushes then ... how intelligent? a camera and key recognition? I pre-programmed location?
05:05 Skwint http://www.societyofrobots.com/robot_arm_tutorial.shtml
05:07 BW^- skwint: hm
05:08 BW^- skwint: it'd be nice if what it hits could be specified by some kind of coordinate
05:08 BW^- s
05:08 BW^- so it's an exact movements
05:08 BW^- so that it could push a stamp, key, make a shape on some food etc.
05:08 Skwint well, a servo moves to a specific location when you tell it to
05:08 BW^- aha that's cool. and from experience you see that they are exact?
05:08 Skwint so you can put a table of locations into your source code, or come up with a way of teaching it?
05:09 BW^- right
05:09 BW^- yeah table of locations works
05:09 Skwint well, like everything else in this world, they have "quality" :)
05:09 BW^- cool. :) i never experimented with these things before.
05:09 Skwint society of robots has a $50 robot tutorial which is worth reading even if you don't do it
05:09 Skwint since it tells you what you are playing with
05:10 BW^- ok
06:00 bugsareatreat um, do i have to buy a special serial cable to connect to a microcontroller or can i use the one i use for my pc?
06:04 bugsareatreat joi
07:07 BW^- skwint: aha cool. what is the point with the axon2?
07:08 BW^- skwint: does it perform a arm-angles -to- x:y:z: coord mapping better than you could simulate easily in programming, or what?
07:18 Skwint BW^-, the axon2 is just another controller board - it does nothing particular special but does come with a lot of convenient built in electronics
07:19 BW^- skwint: like what? =)
07:19 Skwint it certainly has nothing arm-angle specific - that's going to be your problem :)
07:19 BW^- do you always need to calibrate the servos on start?
07:19 BW^- how is that typically worked around? =)
07:20 Skwint the servos are usually quite bright - I use webbotlib which takes all the pain away and just say "go to position 50" and off the servo goes
07:20 Skwint with an axon2 the project designer lets me explain which pins have the servo attached and automate that bit too
07:20 Skwint but it also costs more, and you probably end up learning less
07:20 BW^- skwint: there's a "OWI Robotic Arm Edge" that looks perfect for what i want :)
07:21 BW^- but it's $47. do you think it can do the job?
07:21 BW^- there's a lot of hacks online with people who added other circuits to it.. duno with what purose
07:21 BW^- www.amazon.com/OWI-OWI-535-Robotic-Arm-Edge/dp/B0017OFRCY/ref=sr_1_1?ie=UTF8&qid=1362056817&sr=8-1&keywords=robot+arm
07:21 BW^- cool!
07:22 Skwint that arm appears to be controlled by the PC
07:22 Skwint rather than being programmed and working independently
07:22 Skwint so I suspect a lot of people have hacked it to make it work on its own by sticking their own control board in it
07:23 Skwint it will certainly be strong enough to push a button, and it's a decent price really, even if you end up taking it to bits for parts it's still not bad
07:23 Skwint aaah - it's controlled by a little hand held unit with switches on
07:24 Skwint so you end up back on an old question - "is a remote controlled car (and those things in the robot wars TV program) actually a robot?"
07:25 Skwint if it's what you want, go for it
07:26 Skwint if you want something you can program, you might find buying that and hacking it is cheaper and easier than making your own from scratch
07:26 BW^- skwint: they have a USB interface too! with some software, no clue what OS support!
07:27 BW^- skwint: hm. i want something i can plug in to a computer so the computer navigates it.. i don't need any on-board logics or alike
07:27 BW^- just putting a raspberry pi or alike to do this is completely fine
07:27 Skwint a raspberry pi is another control board :)
07:28 Skwint well - if it looks like it does what you want go for it
07:28 Skwint it looks and sounds like you can learn by reading other peoples hacks and doing your own
07:28 Skwint and compared to the price of most robotics it's pretty decent :p
07:31 BW^- skwint: yeah. though, their USB interface could require quite a bit of reverse engineering to work on linux, i suspect :}
07:32 BW^- skwint: well. just from spontaneously having seen it like that, do you believe that robot arm has precision?
07:32 Skwint google will probably find atleast one forum question asking for it, and possibly a project fixing it :p
07:32 BW^- or are the servos eventually ending up like 30 degrees off or anything =)
07:32 BW^- maybe you calibrate every so often for that not to happen?
07:32 BW^- hehe.
07:32 BW^- yeah, something like this.
07:32 Skwint I would expect it to not require calibration
07:32 BW^- other than that, did you see any nice arm or alike similar to that?
07:32 BW^- cool
07:32 BW^- i mean, just like, some that you thought was nice when you saw it in the past
07:33 Skwint it may have an error on each move, but I wouldn't expect it to grow
07:33 Skwint might be wrong :p
07:33 BW^- hehe.
07:33 Skwint a servo generally works by using a small motor and a sensor to detect where it's got to
07:34 Skwint honestly, buy it, try it, find out :)
07:34 BW^- aha cool
07:34 BW^- aha
07:34 BW^- very well :)
08:51 Aebleskiver pots vs. rotary encoders in robotics?
08:58 rue_house no problem with pots, absolute position sensor means no zeroing
08:59 rue_house 10 bit resolution without high speed interrupts
08:59 rue_house but typ limited to 300 degrees
08:59 Aebleskiver Yep, the absolute position was one advantage i thought...
08:59 Aebleskiver I was kind of thinking reliability wise too
09:00 Aebleskiver much difference?
09:00 Aebleskiver I searched www, couldn't really find much info
09:00 rue_house most hobby robots get less than 100 hours/year
09:02 rue_house there are absolute touchless rotary encoders that use magnetics if you find they are wearing out on you
09:02 rue_house $$$
09:03 rue_house pots are cheaper too
09:03 rue_house http://www.ebay.ca/itm/10K-Ohm-B10K-Taper-Potentiometer-Pot-17mm-Shaft-/400275308519
09:03 Aebleskiver I have an ERS-7 and I'm worried about the pots wearing out in the gearboxes
09:04 Aebleskiver I mean the carbon strip
09:04 rue_house deal with it when it happens
09:04 Aebleskiver hehe
09:04 Aebleskiver hopefully there might be a direct equivalent available rather than it being a custom specified Sony part..
09:05 rue_house at 10 bits pots are effectively 1229 counts/rev
09:06 Aebleskiver ahh i see...
09:09 Aebleskiver looking at ebay pots now :P
09:10 Aebleskiver element14 has a good selection
09:12 rue_house what do you need selection for?
09:12 rue_house anything form 1k to 25k is fine
09:13 Aebleskiver I have no idea what these ERS-7 ones are
09:13 Aebleskiver I need to test them at some point...
09:15 rue_house why?
09:15 rue_house when they fail the servo loop will flip out
15:01 ZinnSoldat /join #TurboIRC
19:23 rue_bed hah
21:41 GargantuaSauce http://www.youtube.com/watch?v=2jvLalY6ubc
21:42 rue_house god I hate that walking alg, they CANT just move the feet when they need to?
21:43 GargantuaSauce i dunno, i am kind of inclined to think they know what they're doing
21:43 GargantuaSauce but it does seem weird
21:43 GargantuaSauce in any case i sure as hell havent built an oleodynamic quadruped that can throw a cinderblock across a room
21:46 GargantuaSauce (regrettably)
21:47 rue_house I'm working on a $120 budget
21:47 rue_house so it goes slow
22:31 RifRaf rebuilt arm again http://imagebin.org/248530
22:33 Jak_o_Shadows oooh, counterweight
22:36 RifRaf yeah does seem help alot
22:37 RifRaf will change it to a small piece of steel later
22:37 GargantuaSauce is this for manipulating anything in particular
22:37 RifRaf no but the gripper is picking up 50 gram object ok
22:37 RifRaf just for learning
22:38 GargantuaSauce cool
22:39 RifRaf want to get the colour sensor going and put into gripper
22:39 RifRaf found an arduino library that might give me some clues
22:39 RifRaf cup of coffee then will start on that
23:06 RifRaf omg it works
23:08 RifRaf thanks to this http://www.maxwellrosspierson.com/2012/11/18/interfacing-the-arduino-to-the-taos-tcs3414-via-i2c-continued/
23:10 RifRaf but still have to now try and get it going with me other libs
23:10 RifRaf Illuminance: 872.24 x: 0.44 y: 0.40 CCT: 2961.86K -- Clear: 3094 Red: 1929 Green: 1421 Blue: 1017
23:10 RifRaf thats alot of colour info
23:14 rue_house :)
23:17 RifRaf rue_house look up for modified servo arm with new gripper
23:19 rue_house I did
23:19 rue_house you can just use a single point weight you know, it dosn'thave to be the same shape as the gripper
23:23 Jak_o_Shadows or, it can be shaped like something cool
23:24 RifRaf rue_house i used what was handy :/
23:24 rue_house damnit I just screwed up buying a $1 item
23:25 rue_house they changed the price since I found it
23:25 rue_house http://www.ebay.ca/itm/130853675106
23:25 rue_house damnit!
23:26 RifRaf 50x ?
23:27 Jak_o_Shadows Wait, $50 for 1M of velcro?
23:27 rue_house it says 1m dosn't it!
23:27 rue_house yea, when I selected it as a $1 items yesterday it was $1
23:27 rue_house I kinda auto-clicked the buttons, I hit commit
23:27 rue_house I havn't paid it yet
23:28 RifRaf i had fun on aliexpress last night for first time
23:28 RifRaf found stuff you don't even see on ebay
23:34 rue_house FFFFFFFFFFFFFFFFFFFFFFF
23:36 RifRaf thats gonna blow the 120$ budget rue
23:36 rue_house thats one of the $1/day items
23:36 rue_house last night it was $1
23:36 rue_house which was fine
23:37 rue_house I suspect they will cancel it for me, but grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
23:39 RifRaf btw have a much better understanding of PID after watching those lectures
23:39 rue_house good
23:40 RifRaf after a few more watches might even make sence
23:40 rue_house I just use P in most of my stuff, works fine
23:40 rue_house buddy III uses PI
23:40 RifRaf yep i uesd P too without knowing it
23:40 rue_house yea
23:40 rue_house you did a good job
23:40 RifRaf gonna try proper PID soon, there is a library for it so may as well try it out
23:42 rue_house rifraf, you know how they multiply the error to generate the I and D?
23:43 RifRaf yep kinda
23:43 rue_house well sometimes you need to muliply it by more than 1 and sometimes less (divide)
23:43 rue_house it totally changes the code and how it works
23:44 rue_bed also, as SOON as you do I or D, you have to do the calculations at exact time intervals
23:45 RifRaf ok thanks, i still have to watch again to grasp all the algebra stuff properly
23:47 rue_bed RifRaf,
23:48 rue_bed if I tell the servo to go to postion 200 and its at 100, whats the error
23:48 RifRaf 100 ?
23:48 rue_bed so the servo takes that error amount, and pushes on the motor with it
23:49 rue_bed say it applies 1.00V to the motor to correct the error
23:49 RifRaf ok
23:49 rue_bed then say the motor moves it to 150, there is only 50 error, so it sends 0.50 V to the motor
23:49 RifRaf ok yep
23:51 rue_bed ok thats P
23:51 RifRaf yep that part i am ok with i guess
23:51 rue_bed now, lets say the servo motor has 0.5V on it, but thats not enough power to turn the servo anymore
23:51 rue_bed so the error stays at 50
23:52 RifRaf indeed
23:52 rue_bed ok, now we add I to it
23:52 rue_bed lets say it check the error 4 times/second
23:52 rue_bed just as an example
23:53 rue_bed the I part adds up the error from each check
23:53 rue_bed so after 1/4 second its 50, after 2/4 its another 50 = 100
23:53 rue_bed in one second its 200
23:53 rue_bed see?
23:53 RifRaf yes
23:53 rue_bed ok, so SOME of that number is also applied to the motor power
23:54 rue_bed lets say that 200 adds .2V to the motor
23:54 rue_bed we have .5V from the P part, and .2V from the I part after 1 second
23:54 rue_bed at some point, the I adds enough to the motor power to get it moving again
23:55 RifRaf and then the error decreases
23:55 rue_bed and the system gets the error to 0
23:55 rue_bed kinda a 'nudge harder' system
23:55 RifRaf ah yes
23:55 rue_bed ok
23:55 rue_bed now!
23:55 rue_bed lets say the position is 0, and you ask it to go to position 1000
23:56 rue_bed and it cant get there, even at top speed for 1 second
23:56 rue_bed the I part would wind up the signal a whole bunch by the time it gets to 1000,
23:57 RifRaf yep ok
23:57 rue_bed it would be going soo fast by the time it got there, it would fly right by it
23:57 rue_bed maybe hit 1400 before it was able to turn around again
23:57 rue_bed then it might be going so fast the toher way it would fly past again
23:58 rue_bed eventually it would get there, but it would fly past the target a bunch of times
23:58 rue_bed yes?
23:58 RifRaf yes
23:58 rue_bed D is there to solve this,
23:58 rue_bed every sample, D calculates the difference in error from the last time, to this time
23:59 RifRaf ok
23:59 rue_bed that value represents the speed the servo is moving
23:59 rue_bed if you put a genorator on the motor, and read the voltage, you would have the same thing