First let me start off by saying this is my opinion and views, some may disagree, but I wanted to voice a few topics of discussions we've had lately and share my view on them in more than a single shout post.  With that said, please read it all and think about it for a while.
SBC's:
  Single Board Computers, like the raspberry pi, beaglebone, UDOO, Odroid, etc are a perfect platform.  As of today, the Odroid-U3 is the highest performance SBC readily available.  I'm not going to go into specs, that's what google is for.  What I will say, is why this approach needs to be embraced and honestly, support for windows should be dropped completely.  I will hereafter refer to the Odroid as SBC for generalization purposes.
  SBC's serve a critical role in the physical as well as logical design of a humanoid like robot.  For starters, SBC's have dramatically lower power requirements, most, if not all, require only 5V/2A supplies.  When looking at a mobile platform that needs to be untethered from an outlet, low power consumption becomes the first priority.  The less power you require, the longer you can run on batteries, very simple equation. 

  The next important reason is the operating system, ALL of these SBC’s run on some variation of Linux.  Again, avoiding a thesis here, Linux takes less resources, and has much better handling of memory and resources as well as taking significantly less space on a drive when compared to windows.  Lastly, Linux is an open platform on which we can and will eventually have to code our own drivers for certain functions, try doing this on windows, VERY expensive and VERY difficult.

  Linux’s file structure is also a great point of consideration, something as simple as /mrl can be the root directory for all things MRL, and setting up symbolic links to /home/photos or similar is an extremely easy task.

FPGA vs AVR & ARM:

  This is a sore topic with a few folks, but in order to define the future, you have to be willing to embrace change, even if it’s more difficult.  As many of you are aware, I am designing a custom board called the ACU, which is FPGA based.  I felt this was necessary as arduinos are only 8 bit, and have limited IO, as well as limited RAM and processing power.  ARM processors are faster, and some have more IO, but again, you are using a “hobbyist” board.  FPGA’s are chips, meant for the purpose of custom designs and applications.  With an FPGA build like the ACU will be, there is no need for PWM drivers, ADC drivers, Logic converters, etc.  The FPGA can be coded to perform all of these functions.  As a reference, the FPGA I’m using has over 150 available IO pins (which can be analog, digital, PWM, input, output, or even multiple function)…..show me ANY board that has that on it’s own.
  I know a lot of you have mentioned price as a concern here, but I would like to point out, the future is never cheap, so if you can’t afford it now, don’t give up, just save and buy it later.  Look at televisions, 10 years ago a flat screen would set you back over $1,000, now you can get them for under $100.  I will do everything I can to keep the costs low, but I can’t promise them to be as cheap as an arduino, that’s impossible.  Please consider and keep in mind what you are buying: An emerging design built to expand and grow WITH this community.  In my view, using an arduino is the opposite: This community using what’s available on the shelf.
  I hope no one takes this personal, but I don’t want to lower myself or our potential by using grade school science hardware.  I want to dream bigger, and I’m throwing my available money, time, and skills at developing the hardware to make this dream come true.

Robot Servos vs. RC Servos:
  Again, I know a few of you will not like this, but I’m saying it anyways.  RC servos are great…for RC projects.  While I appreciate the efforts of both the inmoov and MRL community, I think this is wrong.  Yes, they work, and yes, they’re cheap, but they are not meant for robots.  Visit any college with a robotics program, you will rarely see RC servos being used for more than camera pan/tilt mounts.  For my ACU design, I am building the PCB to support Dynamixel Smart Servos.  For those that haven’t heard of these, or want a more detailed reason, I have elaborated in my ACU post.
  In short, dynamixel servos are serial controlled (not PWM) and offer MANY services that you just can’t get with RC servos.  Things like servo load, temperature, and positional feedback, as well as an average work range of 300 degrees.  My personal build uses a variety of AX-12A, AX-18A, and MX-28T servos, ranging from $45 to $220 a piece.  Yes, I know they are expensive, but look at what you are getting.
  These servos are made for robotics, they have higher torque, faster speed, and faster response times.  You wouldn’t drop a volvo engine in a ferrari would you? Why put an RC servo in a humanoid robot then?

Other technical projects:
  This section is going to be mostly a bringing to light of various other open and closed source projects.  First up, the Pixy and OpenMV camera’s.  The Pixy is the latest build of the CMUCam which is pretty badass.  OpenMV is a miniaturized version of the pixy, and open source/crowd funded.  Both of these cameras take on the processing of OpenCV on board and provide data out to the SBC.  They are capable of image recognition and tracking at incredible rates and accuracy.  Check out the website for each to get more detail.  I would highly suggest picking one or both of these up as something for MRL to integrate.  You can still use a webcam in one of the eyes for image capture and video recording.
  While not applicable to linux based SBC’s, which I want to exclusively promote, I want to bring up Mako.  Mako is a windows attempt at artificial intelligence and from what i hear, not doing so well.  But, at least they have something.  We need someone to spearhead getting a similar program built on linux and integrated with MRL.  Simple tasks like building tables of relationships, contacts, photos, etc; would be some of the first things I can think of benefiting from.  Imagine walking up to Inmoov with a friend and getting your face scanned and hearing “Hello John and Dave, it’s a nice day isn’t it?  Are you going out for your birthday tonight?"

Closing Remarks:
  Now that I have offended and cast out most of the community, I want to defend my standing and call for support.  Only when the majority of these two communities embrace change will change happen.  The more of you that buy SBC’s and move away from windows, the faster we can have a user ready linux interface.  The more of you willing to learn new programming languages, and are willing to step away from arduino’s, the faster we can have an ACU that is the “motherboard” of robotics. Lastly, the more of you willing to sacrifice a little more money, or save up for longer, and buy smart servos, the more chance we have of building a superior platform that can have tolerances closer to the human body.  Both communities have gained respect in the maker field, now it’s time to excel, and emerge as front runners to the crowd-built humanoids.  An old adage comes to mind with all of this "Many hands make light work”.  Let’s all work together and change the future of robotics!

Samuel
Maker, Hacker, Geek

Mastablasta's picture

Hi cyber! I really like your

Hi cyber!

I really like your opinion. But I am noob to programming/arduino/MRL just startet 2 weeks ago to build the right inmoov arm. It´s a great project and a challenge. As I want to build more than just one arm I have started to get all kinds of information. Would this be much more complicated or more or less the same?

Because I really like these dynamixel servos. Which model do you plan to use in which place? As the prices are very different.

 

cyberhedz's picture

thank you

Mastablasta, welcome to the community and thank you.  As a price reference, I am testing my FPGA designs with a DE0-nano, which is $59 for students, $79 for everyone else, direct from terasic.  I'll edit this reply when i get home and will upload the BOM I'm using for dynamixels.  NOTE: we do not currently have published STL files for these servos.  I did find the two for the neck on thingiverse, but for the arms and shoulders, we're on our own until others jump on board and support this movement.

 

here's the neck dynamixel mod:

http://www.thingiverse.com/thing:65421

it's for AX-12's, but I'm using AX-18's here (both are the same size)

BOM for dynamixels:

Location Model QTY
Hands AX-18A (18 kg-cm) 10
Wrists AX-12A (16.5 kg-cm) 2
Arms & Shoulders MX-28T (31.6 kg-cm) 8
Head & Neck AX-18A (18 kg-cm) 2
Jaw AX-12A (16.5 kg-cm) 1
Eyes XL-320 (3.96 kg-cm) 3

 

Mastablasta's picture

Thanks for the clear info

Very interesting stuff going on here, I like it! So far I was only putting multirotors together but this here is a different story. Well, I have started and want to keep on going.

Quiet a difference if you add up the costs of all these nice servos but this would be a great challenge.

I should have my new servos at the weekend  and want to get the right arm working correct. If everything turns out fine I will try these dynamixels later. Need to get more knowledge first.

cyberhedz's picture

sounds good

thank you, I know it was long, but I am very passionate about robotics, so I wanted to voice myself and try to uplift teh community a bit.  I would recommend getting 2 of the AX-18 or AX12 and printing the neck parts as a starter if interested, they are the cheaper servos from dynamixel and would be a good starting point for those wanting to learn and experience first hand why they are better.

Mastablasta's picture

Step by step

Absolutely right, robotics is a fascinating subject. Since I am a child I love robots and now that the hardware and software is available for a descent price (more or less) I would like to make at least a part of that dream come true. I was happy to the see the fingers moving in arduino/MRL and I was even able to change and add some simple things to the script. The programming part is the biggest challenge for me...and my patience!

When it comes to the neck I will consider the suggested servos. I want to get the hand working (voice control), the biceps will be printed tomorrow.

Making 3d objects is also a new matter to me. I am using sketchup so far and the results are pretty nice. Another challenge to make the required stl files.

Again, thanks a lot, I really feel welcome in here!

Post new comment

 

wvantoorn

10 years 2 months ago

Cyber, i read your post, and to a point i agree with you, but....

If people start out with the most expensive goodies, and there is a problem, or something breaks, then they would be more upset then if a cheap servo or arduino would cathc smoke.

I also believe that this inmoov project is for all, people with money people with no money to spend on just a hobby. And it should be for fun. But i agree that standing still will kill a project like this.

And you said that all depends on programming the board. But what if programming slows to a halt, or people want different things? Then a open source well known microcontroller is the way to go for them.

And you also said that swapping an regular servo with the open servo board is not as good as getting a 100 dollar servo. There i also disagree. With the open servo you could control a strong motor, replace the gears and you have a similar structure as the expensive ones.

And i know there are many people out there that simply cant afford an expensive board, expensive servos and then have to print the entire robot, wich is about 200-300 dokllars of ABS, a 3D printer and then also the board and servos. It must stay fun.

 

Ofcourse we are all free to design and build derivatives of something, but i dont find it real to say at every idea that it isnt as good as those expensive parts. I am building a quad copter with very cheap parts, and when it flies, it may not fly as good as a 5000$ quad, but i dont care, as long i have fun with it and i learn some things, im happy.

And please believe me as i say that this is NOT an attack on you or anybody who shares your ideas!!

It is just my opinion, and i wanted to say it as my view on it, and i really like many of your ideas, but this idea i like but wont buy, simply because i really cant afford it, even if i save for 10 years. ( sadly that is the truth, but i am fine with that, i learn everyday from you all, and i enjoy every minute i spend on MRL, with the inmoov and talking to you, it has become 1 of my few things i still can do in life, as short as i may be.)

So please dont hate me or be angry at me, it is something i just had to say, and as i said i still like the idea!

 

Wilco

GroG

10 years 2 months ago

I think I might need to clarify something regarding MRL.  MRL is Borgware - it assimilates functionality, it does not negate previous functionality.  So if you create your ACU and use Dynamixel servos, it does not prevent others from using Arduinos and RC Servos.

Quite the opposite in fact.  I think some people here forget MRL supports a wide range of robots, not just InMoov. It supports chessbots, simple Arduino bots, bugbots, home automation, 3D printer heatbed control, pick to light systems, Plantoids, and a bunch of other stuff I'm currently forgetting (sans coffee) .   

I make software to support a large amount of hardware (even hardware I don''t own).  So go forth an make cool stuff with new hardware.  It won't take away the ability of other to do cool projects with Arduinos and RC servos.

cyberhedz

10 years 2 months ago

Wilco, I understand your view, and I expect many are with you.  I'm just hoping enough are with me to make the next advancement.

Grog, you are absolutely correct, nothing will be removed, but I'm hoping to get enough support for others to add to it.

cyberhedz

10 years 2 months ago

more people than just myself willing to buy these servos, run linux, assist my ACU (I can build the logic, but I hav eno idea how to get it into MRL).  Once this is  done, then we have many people to test code builds.  I'm not a programmer, but I can test my ass off, so I need someone willing to program whatever is needed in MRL for those like myself.

Unfortunately, I'm the only developer currently working on MRL's core..  And I said I'd assist you, so I think your "supported"..   Everyone making scripts are working at a different level from the support you are requesting.  Everything everyone is doing in scripts would be applicable to your system.  But its great to know your interested in testing.  I appreciate that.

Ergo, I have enough development experience to know software which is unrelentlessly tested all the time, is usually of much better quality than software which rarely gets tested.  That is why I have been working to try to connect (some/many) of the MRL instances together, such that they can do continuous coordinated testing on multiple platforms..   So its nice to hear that you'd be down with that :) o/

Vis a vis

wvantoorn

10 years 2 months ago

Cyber, trust me, in my working days i was a real new hardware geek, and bought anything i could get my hands on.

sadly those days are gone and lost. If i could i would but i cant.

if i had the possibility i would buy you ACU, but ok.

and MRL is indeed the platform i am using for different robots and also my own home automation in the near future, those parts therefor are cheap and readily available. i hope MRL will grow to be the main platform for many people, and i will help MRL and ofcourse you too where i can.

Gareth

10 years 2 months ago

For sure low end mcu_s will be feeling the strain with the increasing demands/direction peripherals are going.

I have a FPGA board  "Deo Nano"  on route to me , as it already has quite a good smattering of sensors.

I know nothing about them , I have DLed the "HUGE" programming gui and taken some of the online Altera web courses...Sheeesh..... anyways... It will be a quite a task to tweek one to emulate MRL ...however not impossible.

...I will try and help you with the programming as much as I can.. time permitting.

Regards G

cyberhedz

10 years 2 months ago

Awesome Gareth, that is the same dev board I'm testing with and the same chip I'm building on.  I'll start building the code the next few days