Shop OBEX P1 Docs P2 Docs Learn Events
Rex Kickstarter — Parallax Forums

Rex Kickstarter

GeorgeCollinsGeorgeCollins Posts: 132
edited 2014-02-02 13:06 in Robotics
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

Comments

  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-01-25 16:21
    I saw this a while ago on Let's Make Robots. I don't understand it myself.

    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.
  • ercoerco Posts: 20,255
    edited 2014-01-25 17:15
    The latest "does it all" board. The field is getting crowded and it's hard to sort 'em all out.

    Per grumpy Duane, I say horses for courses.
  • GordonMcCombGordonMcComb Posts: 3,366
    edited 2014-01-25 18:04
    Looks okay, I guess. Their OS would be the deciding factor.

    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.
  • GeorgeCollinsGeorgeCollins Posts: 132
    edited 2014-01-25 20:24
    Duane Degn wrote: »
    I saw this a while ago on Let's Make Robots. I don't understand it myself.

    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.

    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.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-01-25 21:05
    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.

    5165727d955f05345619c1101115f667_large.jpg?1386282237

    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?
  • GeorgeCollinsGeorgeCollins Posts: 132
    edited 2014-01-26 17:34
    Duane- I don't mind your self described "ranting" :) It is interesting to hear what knowledgeable people think. I think you are making reasonable points.
  • Martin_HMartin_H Posts: 4,051
    edited 2014-01-26 20:35
    I look at that servo missing its three pin connector, wired to two different boards, and the last thing it says to me is easy wiring.

    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.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-01-26 21:25
    Martin_H wrote: »
    I look at that servo missing its three pin connector, wired to two different boards, and the last thing it says to me is easy wiring.

    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.
  • Martin_HMartin_H Posts: 4,051
    edited 2014-01-27 10:29
    I've seen Bill's site and spent about a half hour drooling over some of his control boards. I really like the looks of his RoboProp board.

    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.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-01-27 12:42
    Martin_H wrote: »
    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.
  • Martin_HMartin_H Posts: 4,051
    edited 2014-01-27 13:17
    A single controller will work on flat ground with few obstacles, but will likely show its limits on uneven ground. The idea of having each leg independently controlled is to create a subsumption architecture. The leg microcontroller would handle the IK, force feedback, and leg obstacle impact. That way as the robot crosses uneven ground one leg can dip down more than the others until it contacts the ground, or raise an alarm if it contacts a barrier like a step. Meanwhile the higher level controller works out navigational goals but doesn't concern itself with low level details. It's sort of like the human peripheral versus central nervous system.

    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.
  • GordonMcCombGordonMcComb Posts: 3,366
    edited 2014-01-27 15:07
    Well, they're only 50% funded and have four days left. Doesn't look like it'll happen. Maybe next time around they can use some of the constructive criticism to improve their focus and make a few of the suggested changes. The pic Duane posted of the servo all hacked up and hard-wired into an Arduino pretty much sums it up. They need to seriously rethink what they're trying to say. I realize it's only one method you can use to control a servo with the board, but it sends the wrong message to have a picture of what many would consider a bad way to go about it.

    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
  • kwinnkwinn Posts: 8,697
    edited 2014-01-27 16:47
    Duane Degn wrote: »
    .......................


    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.

    Nah, the avatar is great. Wish I thought of it. Must be a natural reaction to "ours is better" claims with no backup.
  • prof_brainoprof_braino Posts: 4,313
    edited 2014-01-27 18:51
    I backed Rex just because more robots in the world is better then fewer. But I knew I could already do the same with a prop, and the forth code already exists for the drivers. And we already can connect to the RPi or Beagle board and do whatever. But its good to give the guys a chance, just in case they come up with something. Its not like it costs anything.

    I also funded the Ruby thing, The five year old is already interested, but I hope she doesn't get stuck programming in Ruby.
  • GeorgeCollinsGeorgeCollins Posts: 132
    edited 2014-01-28 17:35
    Duane Degn wrote: »
    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.


    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.
  • GadgetmanGadgetman Posts: 2,436
    edited 2014-02-02 08:39
    I see the Rex bombed out on KS.

    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.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-02-02 10:25
    Gadgetman wrote: »
    I see the Rex bombed out on KS.

    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?

    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.
    Gadgetman wrote: »
    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.

    Preaching to the choir. At least to one choir boy.
  • GadgetmanGadgetman Posts: 2,436
    edited 2014-02-02 13:06
    From what I read on the project page, they were thinking of replacing the JTAG port with GP IO, but if they did any work on it or not isn't very clear as every darn update besides the last is 'backers only', and therefore not available for potential backers.

    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.
Sign In or Register to comment.