Rex Kickstarter
GeorgeCollins
Posts: 132
I wanted to post a link to the Kickstarter page for the Rex single board computer for robotics. The Rex is an ARM A8 based computer with an OS and a layout designed for robotics. I have been experimenting with combining a propeller chip with a Raspberry PI, and I have been thinking about trying a Beagle board, but really I think the Rex board might be better suited. If you look at their proposal they talk about combining their computer with a dedicated servo controller or an Arduino. Imagine instead combining it with a propeller and I think you could get something very interesting.
https://www.kickstarter.com/projects/alphalem/rex-the-brain-for-robots?ref=home_location
https://www.kickstarter.com/projects/alphalem/rex-the-brain-for-robots?ref=home_location
Comments
It seems like they're saying the RPi and others are hard to use compared to theirs and the main advantage to their system is the yet to be written software.
There are lots of tutorials to walk one through using the RPi with a robot. I think it will be a long time before the Rex is nearly as easy to use as the RPi.
BTW, I didn't see the robot do anything a Propeller brained hexapod couldn't do without any additional processing power.
Darn it, my avatar is making be grumpy again. I didn't mean to sound so negative but I keep thinking I must be missing something with the Rex.
Per grumpy Duane, I say horses for courses.
Some of the description is a bit arcane. There's this:
"You interact with it through a command-line terminal interface over a PC serial port, so if you have a newer computer you may need to purchase a USB-to-Serial adapter."
I would have thought if you're using a cutting-edge SBC for robotics, you probably the type to have a fairly modern laptop or PC, and it'll only have USB ports. Seems like extraneous info for 95%+ of the user base when you have only a minute or two to "sell" your idea on the Kickstarter page.
I think the hardware advantages would be that you can connect the board to a high current power supplies and run peripherals off of it directly, it has a motor cut off switch, and easy to use connectors for power cables, a camera port and GPIO. You could hook all that to an RPI by wiring a protoboard or something, but it isn't as handy.
I don't really want my SBC to double as a power distribution board.
It doesn't make much sense to me to power the servo from the Rex but have to have use an Arduino to provide the servo the pulses.
It looks like you're going to need to run wire every which way no matter if you use the Rex or not, so I don't see an advantage of having the high current supplies on the Rex board (and I can think of several disadvantages to using the board for power distribution).
It seems like they're asking their backers to trust them come up with software for the Rex (in a few months) which will be easier to use than the currently available software for the Pi that has been in active development for several years.
I don't know if the added GPIO means they plan to support SPI interfaces but the last I heard the communication with other boards had to be with done over an I2C bus.
I still don't see this how this is a step up from the Raspberry Pie.
While I'm grumpily ranting, I'll also point out how I don't see why the Rex is any more 3D printer friendly than any other PCB currently available. And if you're going to use a 3D printer to print something it should be 3D not 2D. The little support board they made could have been quickly cut from a variety of 2D stock.
Is that enough ranting Mr. Heat Miser? This avatar has got to go. I'm not usually this grumpy.
BTW, I had considered posting these objections on LMR but there were already plenty of negative comments. Aren't you glad I didn't waste my ranting over there?
I must say I haven't seen the point of these single board computers yet. A microcontroller with a wireless link to a PC seems more flexible to me.
I haven't used one of these SBC yet but I think there's a place for them. I would like my robots to be independent and easily moved. I don't want them tethered to a large PC even if it's a wireless tether.
I have often stated the Propeller can do a lot of things without a PC but I do concede, it's not always easy to do so. I think George and I have debated a bit about the need for more computing power to control a hexapod and while I still think I'm sure the Propeller can handle the IK calculations of a hexapod, I admit it might be easier for some to program these calculations using one of the small SBCs.
I think machine vision is probably possibly could be another area where the move up to a SBC makes sense.
BTW, Have you all seen Bill Henning's cool new board to make easy to connect a Propeller to a Raspberry Pi? Very cool, IMO.
I'm sure these SBC's will find their niche eventually, but so far I haven't seen any projects done with one that were really compelling. For example machine vision tends to work best in tightly controlled environments. A robot arm stacking items coming off a conveyor belt being a real world use case. But that sort of robot is stationary, so you might as well use a PC at that point.
For IK of multiple legs it might make more sense to have a microcontroller per leg and then a central microcontroller doing gate generation and sensor monitoring. That way the same firmware runs on each leg with another firmware for top level control. The programming model is really simple because you've subdivided the problem into smaller simpler problems. At that point you don't need an SBC.
I see this idea of using a separate microcontroller for each leg rather frequently. I don't see the need. Instead of each leg running the IK calculations individually, the main controller can just compute these values in a loop. If the calculations can be done in a timely manner (and they can) then you're just creating extra work by requiring extra communication lines out to the individual leg controllers.
I've written a couple IK programs for hexapods and they don't have trouble calculating all 18 servo positions at 50Hz. I still have four free cogs in my latest version though I haven't started adding sensors yet.
One thing I'm surprised about is how many RPi and other SBC controlled robots there are that don't appear to be any more capable than a BOE-Bot. Not that many of my Propeller controlled robots can outdo a well programmed BOE-Bot.
Personally, I've been hung up on programming a couple of robot controllers (remotes). Getting a controller to robot communication protocol I like has taken me much longer than I'd like to admit to.
Now with a sufficiently powerful controller you could do all of this in a single program just split into cooperating software modules, but odds are you'll run out of I/O pins. Suppose we use 18 pins for servos, six for force feedback via RC time, and six more for bump contact. That's thirty pins out of the propeller's 32 and we haven't even added ultrasonic distance sensor, accelerometer, or compass.
I completely agree that most of the SBC robots are basically glorified Boe-bots. It seems like overkill.
Keeping it simple is a good idea. Here's one that has 25 days to go and is already 1,900% funded. It's for a book, but the lessons apply to most any KS project.
https://www.kickstarter.com/projects/lindaliukas/hello-ruby
Nah, the avatar is great. Wish I thought of it. Must be a natural reaction to "ours is better" claims with no backup.
I also funded the Ruby thing, The five year old is already interested, but I hope she doesn't get stuck programming in Ruby.
Now that looks really cool! I love the prop for controlling servos and sensors, but there are some calculations you are never going to do on a microcontroller.
It seems it was designed for subsumption architecture, but rather poorly, really.
Only I2C available. Not all microcontrollers can be hooked up that way.
And how do you reset an I2C-connected microontroller if it's non-responsive?
Power through the main board is a rather sh*tty idea.
They need a 'kill motor' line that can be hooked up to a power distribution point, and which an be activated both by a shiny, red button, and also by the Rex. (Finer power control can of course be handled by a separate microcontroller.)
Some way of resetting at least ONE of the subsystem microcontrollers(the one handling power, possibly), which in turn can reset any of the others if/when necessary.
Honestly?
This thing is an expensive solution to the question of 'how do we avoid using any of the boards already on the market such as the BeagleBone or the Pi'... which is kind of a daft question, really.
In fact, if you don't need Cams or speech recognition, I imagine that a Propeller would be better suited as the brains in a subsumption architecture.
While agree with most of what you wrote, it looks like they planned to add some extra general purpose I/O. These could probably have been used to reset microcontrollers. These I/O pins may also have allowed other communication protocols to be bit banged.
Preaching to the choir. At least to one choir boy.
Not that I understand why they had a JTAG port in the first place.
Or does every robotics hobbyist have JTAG equipment these days?
From what I understand, you'd need support for JTAG built into the OS on a pretty low level if you want to use it for anything that the usual serial debug messages. You may even need to have your programs compiled specifically to support it?
I noticed something...
The pledges sum up to about $38K
The difference may be partially consisting of international shipping ($20 or $25 depending), but even at $25 that old make around 350 pledges(out of 260 with rewards), so someone pledged a lot of money.
One problem with KS and projects like these is that success or failure is ONLY dependent on the total amount pledged, INCLUDING shipping.
A project with many international backers may end up 'successful' even if they have too few pledges to cover the number of units required to get the desired rebates.