Society of Robots - Robot Forum

Electronics => Electronics => Topic started by: SuperMiguel on June 07, 2012, 02:20:21 PM

Title: Best platform to do robotics on?
Post by: SuperMiguel on June 07, 2012, 02:20:21 PM
PIC/AVR/ARM etc ???
Title: Re: Best platform to do robotics on?
Post by: mstacho on June 07, 2012, 08:10:27 PM
Hm...these types of questions to tend to end with "Really, it depends on what you're most comfortable using".  Here has been my experience:

I like using AVR ATMega 8 bit chips because of Webbotlib (and mad props to Webbot for making it) and also because it has a massive user community.  If you're new, ATMegas are grand, and they form the basis of the Arduino family.  If given a choice for a hobby robot that didn't need a SUPER powerful processor, I'd go with AVRs in a second.

PICs I've never really used...I imagine that what I just said about 8 bit AVRs could easily be said for 8 bit PICs.

I've never used 32 bit AVRs either.

ARMs...32 bit ARM uCs are awesomely powerful.  The Cortex M4 is a supercomputer on a chip.  It's pretty intense.  I'm using Cortex M3's (since I don't want to learn the M4 and I already know the M3) for my thesis work.  However...they are most certainly NOT the plug-and-play variety of chip.  In a word, they're horrifying.  You REALLY have to know how microcontrollers work, why registers are what they are, what DMA and other Three Letter Acronyms (TLAs) mean and so on.  THEN you have to be exceptional at reading datasheets.

But, something really weird happens once you start banging your head against the wall with the Cortex series chips: you start to understand them.  And once you do...it's truly COOL what you can do with them.  The M4 has digital signal processing (DSP, another TLA :-P) AND a floating point unit on its chip! And it runs at 168 ish MHz.  It's stupidly powerful.

HOWEVER, if you're just starting out?  I'd go with an Axon II or an ARduino Mega.

MIKE
Title: Re: Best platform to do robotics on?
Post by: Gertlex on June 07, 2012, 08:58:50 PM
Depends :D. What are you planning to do with robots? Teleoperated with focus on the mechanics? Autonomous with sensors? Autonomous with e.g. Kinect/LIDAR?
Title: Re: Best platform to do robotics on?
Post by: SuperMiguel on June 07, 2012, 11:23:04 PM
Thanks for the fast reply, i currently working on a robot, that will move by it self, trying to avoid objects (crashing) by using data from multiple sensors...

I will post pics and code of it probably tomorrow...

Im using an arduino mega atm, but having issues with simple stuff... Like i want to get data feedback of my encoders, but at the same time im doing calculations with them, which is performed using timer1, then i have servors, which by default use timer1 so it crashes, also to pass that data im using timer3..

And its a bit annoying having to figure out all this timers, and working with interups.. Was just wondering if using another micro will make things easier.. =
Title: Re: Best platform to do robotics on?
Post by: mstacho on June 08, 2012, 07:42:55 AM
Hm...yes, arduinos have this terrible problem where their interrupts and timers are all tied together for some reason that is completely beyond me.  We tried to do something CRAZY like read an RC signal and an encoder both at the same time using an arduino and it couldn't do it :-P

The Axon can do EVERYTHING you're asking.  I ran 7 encoders + some analog + 7 PWM outputs and did calculations still with room to spare.  It's not that the chip is better than yours (it isn't...not really) it's that the Axons have lots of IO broken out for you.

MIKE
Title: Re: Best platform to do robotics on?
Post by: SuperMiguel on June 08, 2012, 09:51:43 AM
So this Axom has a ATmega 640 on it.. so it is kinda the same as my arduino mega.. (slower but will see)

Ima buy it and try it to see how it goes =)

Title: Re: Best platform to do robotics on?
Post by: SuperMiguel on June 08, 2012, 10:37:21 AM
Ordered!!!

Until i get it, I see that the webbot supports the OrangutanSVP-1284 i will give that a try. I have one around
Title: Re: Best platform to do robotics on?
Post by: mstacho on June 08, 2012, 12:25:18 PM
nice!  I used the Axon for a lot of my research until I got my new sensors (the poor little thing just couldn't handle 96 analog inputs.  Who knew? :-P) 

Webbot can also be used with the Arduino, although you'd need a in-system-programmer to get it working and you need to know which pins go where. 

MIKE
Title: Re: Best platform to do robotics on?
Post by: SuperMiguel on June 08, 2012, 12:33:35 PM
research on?

What do you use now? M3 right?
Title: Re: Best platform to do robotics on?
Post by: mstacho on June 08, 2012, 12:37:53 PM
Yeah, I'm a PhD student in robotics, so I needed...a robot :-P I am working on robot hands, so the first controller I used was the Axon for a 7 motor hand with force sensors.  Unfortunately, (or fortunately, from my perspective) I got new sensors that are a bit out of the Axon's league.  But until then it was a great platform for learning and setting stuff up.

Yeah, I'm using an M3.  We custom designed the boards, though, so it's sort of like a pimped out Axon with lots of IO circuitry haha.

MIKE
Title: Re: Best platform to do robotics on?
Post by: SuperMiguel on June 08, 2012, 01:16:04 PM
Suck at my university we dont have a robotics major...

We have to either choose between EE which has only 1 programming class in java, or CE which has only 1 class in circuits...

Both suck but well i guess i have to learn most of it by my self
Title: Re: Best platform to do robotics on?
Post by: SuperMiguel on June 09, 2012, 12:06:53 AM
Suck at my university we dont have a robotics major...

We have to either choose between EE which has only 1 programming class in java, or CE which has only 1 class in circuits...

Both suck but well i guess i have to learn most of it by my self

That been said is using webbot a bad idea for me?? Since most of the programming is already done? I wont be learning much hardware programming which i really need to
Title: Re: Best platform to do robotics on?
Post by: mstacho on June 09, 2012, 04:12:59 AM
the beauty of webbotlib is that you can do something like this:

1) program everything in webbot, test its functionality.
2) start to convert each piece into hardware level code (with registers and bits and all that...)

that way, you'll know the code works, then you'll be able to test your hardware stuff.  Programming the ATMega without webbot will teach you a lot of the hardware level stuff, but it's easier to write smaller code pieces, rather than write the whole thing from scratch.



MIKE