PDA

View Full Version : Arbotix vs. Propeller Robot Control board?



Stobs
11-25-2010, 02:18 PM
Hi All,

The long and the short of this post, in short, is that I'm trying to understand the pro's and con's of going with the Propeller Robot Control board (a product I'm concerned with gaining enough support to develop with my limited experience), versus the Arbotix (a product I have no concerns about the amount of support I'd be able to garner through this community). Feed-back, insights, and recommendations would be greatly appreciated.

***

The long, winding road of my concerns is that I'm trying to decide between going down the arduino route - via the Arbotix, or going down Propeller's path. I'm sure either of them are the right choice for someone, depending on their circumstances.

My circumstances are that I'm drawn to the Propeller mainly due to it's having the separate processing COGs - I can foresee more robust versions down the road that would really lend itself to driving separate processes for vision, sensors, locomotion and so forth. At the current level of my "expertise" (blatant lack thereof actually), I'm sure the Arbotix would serve my immediate purposes, and from what I've read/experienced here on the forums it's obvious it's really a glove fit for MechWarfare bots.

The trouble with that for me is that my main goals aren't wrapped up in MechWarfare (although I think it's a fantastic arena and I hope to remain an active participant and ongoing community member for years to come), and the direction that I think I want to go in the future.

Compound that with the fact that I strongly dislike having to spend time learning a subject matter that would likely be a side-track for me. Learning a stepping stone? Sure, goes with the territory, but I'm concerned that I might just be jumping on the arduino bandwagon due to it's expediency in setting up a mech-bot (at least with the Arbotix), and my now limited time constraints regarding RG'11.

Add to that that I'm a bit leery of the support available through the Parallax forums (I post under "ProbBot" there; from my two experiences there I commend the support that everyone pitches in here within the Trossen community!), and it all adds up to me looking for reasonably concrete reasons why I should strongly consider the Propeller board instead of the Arbotix.

I realize that multitasking within the robotic realm may well be better handled by a "true" on-board computer (but that is certainly beyond my learning curves for RG'11), so there is a possibility that even the Propeller platform, if it is truly better positioned as a multitasking controller within a process intensive environment than an arduino/-based controller, would wind up being a side-track for me as well.

Again, feed-back, insights, and recommendations would be greatly appreciated.

Paul

RobotAtlas
11-25-2010, 03:03 PM
Paul, I was asking myself the same questions about a year ago. The conclusion I came to was Propeller looks like one of those great ideas that did not gain widespread use for some reason. I suspect it's because of steeper learning curve. Links like this: Propeller Assembly Language (http://www.parallax.com/portals/0/propellerqna/Content/QnaTopics/QnaAssembly.htm) on Parallax.com Q&A page certainly scares me away. I _really_ don't want to go back to Assembly. It's 2010, not 1985.
Alternative is Spin Language (http://www.parallax.com/portals/0/propellerqna/Content/QnaTopics/QnaSpin.htm). But if you click on that link, it starts like this:

http://www.parallax.com/portals/0/propellerqna/Content/SkinSupport/DropDownClosed.gifWhat is Spin - Why did Parallax make a unique language?


I can't get myself to read past that sentence. I really don't want to learn yet another language, unless there's no other alternatives.

Compare it to Arduino's C language. You can't go wrong with that. And it's _so_ much more versatile.



I realize that multitasking within the robotic realm may well be better handled by a "true" on-board computer (but that is certainly beyond my learning curves for RG'11), so there is a possibility that even the Propeller platform, if it is truly better positioned as a multitasking controller within a process intensive environment than an arduino/-based controller, would wind up being a side-track for me as well.

So to sum up, in my opinion if you have a _specific_ need for Propeller, then learn it, otherwise start with Arduino/C/x86. I bet you can find 100 times more info on Arduino than Propeller. multiply that anothe 1000 times for x86.

gdubb2
11-25-2010, 03:43 PM
Stobs 'ol buddy..

Yeah.. what RobotNV said..

Quit thinking so much, it'll make you're head hurt. Go with what you're inclinations tells you. With the Arbotix or any of the Arduino/freeduino/roboduino things, the programming is quite cross platformed. I have a Roboduino, don't use it for Mech warfare, but in a fire fighter I'm working on. Bheka doesn't have a brain.. just a SSC-32.

You will find that you will aquire several different controllers, as you go since it's easier to not keep changing them, So I would stay with a language that isn't so proprietary. (But that's just me)

Just my 2 cents worth.

Gary

Stobs
11-26-2010, 03:47 PM
Thanks for the replies RobotNV, Gary, very much appreciated!

@RobotNV: As part of my course work I do have to take a class in Assembly, so that wouldn't be a negative from my point of view - although I'd have to learn the nuances particular to the Propeller implementation as well. BTW, I started working with computers back in 1985 with an Apple IIe - wish I'd had remained a user and eventually a programmer from way back then! :D

@Gary: I've taken the first of two C++ classes already (just a toe-in-the-water deal as far as I'm concerned), so hopefully there'd be a fair bit of commonality with Arduino C. And you're right, my inclination is to go with the Arbotix at this point - taking my previous consideration together with yours and RobotNV's opinions, I'd think going with the Fit-PC2/Ubuntu would be the way to go for any process intensive environments that I would find myself looking at two or three years out. Just the prospect of learning to admin a Linux distribution on top of everything else robotics related that I have to pick up seems a bit daunting to me (for RG'12 at the earliest that is; isn't even a consideration for '11).

Thanks again people,
Paul

[EDIT: PS: FWIW, in a general sense that's all what I pretty much expected to hear back, although I was hoping that I'd be advised of an incorrect perception on my part about the Propeller community. Now I know what I'll be building and will start a thread on it this week while I'm on a business trip, if I can; otherwise when I get back.]

gdubb2
11-26-2010, 04:02 PM
Linux isn't that bad.. I just started playing with it last week, for the first time.

Running it as we speak, but I am going to dual boot for my windows stuff.

Gary

RobotAtlas
11-26-2010, 04:44 PM
back in 1985 with an Apple IIe
That's the computer I programmed in Assembly. 6502 processor, 8 bit, 3 registers. That was a long time ago.

KurtEck
12-07-2010, 08:56 AM
Hi, I meant to post here last week,

I have not done anything yet with an Arbotix board, but I have experience using the Arduino Mega boards (both the original and the one by Seeeduino), where a couple of months ago I ported the Lynxmotion Phoenix code over to run on an Arduino Mega board, more information is up on the thread: http://www.lynxmotion.net/viewtopic.php?f=20&t=6730.

More recently I ported the code over to run on a Propeller based board, again there is more information up on the thread: http://www.lynxmotion.net/viewtopic.php?f=8&t=6872.

Right now I am back playing with the code for the Basic Micro Arc32 board.

Which do I prefer? Good question. all of the different boards/processors/environments have their pluses and minuses. I must admit, the COGS are nice, that is I have my Hex robot working with three different input devices (PS2, XBee with DIY remote, and RC - Hitec Laser 6). I have the code configured such that I can build it to use only 1 or all 3 and since each of these devices run with their own COG they don't interfere with each other. Some of these use rather primitive non-optimized code that I downloaded from OBEX, but since they run on their own thread and get the job done, who cares. But the Spin language takes awhile to get into and I was bit by many little things, like using code like: if x <= y will not do what I expected, it needs to be if x =< y...

I enjoyed working on the Arduino Mega code, as I do prefer working in C/C++. Also I like the Megas as there are 4 UARTS which makes it easier to integrate things like the XBEE, plus output serially to a serial controller (SSC-32) and talk to a debug termainal and know that the serial output will be uncorrupted... But all of the underlying math is 8 bit and the Hex code does a lot of math as part of the gaits... Luckily the Arduino did OK.

But again I also like working with the Basic Micro Pro boards (Bap28, Bap40, Arc32). They have native 32 bit math inclding multiply and divide and you can intermix assembly language code into their basic and access all of the underlying hardware. You can also program them in C...

I am not sure if any of this information helps your decission, but whichever approach you take, it should be fun.

Good Luck
Kurt

Stobs
12-08-2010, 03:30 PM
Hi Kurt,

Thanks for the reply - very much appreciated! :) Your comments, as all of the previous ones, are well taken. I haven't totally shelved the idea of eventually using a Propeller board, but I have for RG'11 (I'll be posting shortly about my forthcoming mech). For the up coming Mech Wars I'll be going with an ArbotiX controller, possibly as a spine with a Ubuntu-based Fit-PC2, although the later may or may not fit into my available learning curve time-frames.

Regards,
Paul

georgeecollins
12-30-2010, 12:04 PM
The Arbotix card is really good-- a great card for robots. I love that it has connections for Xbee and dynamixel. I think the main difference between the Atmega644 and the Prop is that the Atmega644 has an easier development environment, lots of examples, and it has a lot of IO support with ADC, PWM channels, and serial ports. I don't think you can compare it to a Propeller chip in processing power though. And their is a lot to be said for processing that can run in parallel without interruption.

Does this even matter? For mechwarfare you are really just creating a control system. Also, either chip would get creamed by a FitPC or a Gumstix. The biggest expense with a micro-controller is your time. The biggest limitation on its performance is how well you understand the tools to use it.

Stobs
12-30-2010, 04:43 PM
Hi georgeecollins, thanks very much for your reply.

I've already decided to go with the ArbotiX for RG11, and yes, I was considering the Fit-PC2 for RG'12 - but I've taken all robotics projects off my agenda for the RG'12 events (not that I won't be participating, just don't want anything that far ahead on my radar for the time being).

Even so, your feedback is greatly appreciated as it reinforces the points I'd taken into consideration.

Paul