Asked — Edited

Difference Between Ez-B And Arduino Video: Biggest Misconceptions

Alright guys, its time to make a video to tell newbies what the difference is between arduino and Ez-b. This can also talk about software.

Biggest misconceptions/diffences: (I'll update this list as we go.)

  1. Ez-b does not get programmed, everything is done in ARC
  2. The ez-b is not a micro controller, it is a robot controller, sort of like a Gate-way from your computer/mobile device to sensors and motors 3.The ez-b is not only for newbies, it can be scaled from simple to very advance
  3. Only ez-robot sensors/peripherals can be used is incorrect, as arduino peripherals(besides shields) can be used as well
  4. ...

Keep the inflow going.


ARC Pro

Upgrade to ARC Pro

ARC Pro is your passport to a world of endless possibilities in robot programming, waiting for you to explore.

#25  

What are you going to Quote?

PRO
Synthiam
#26  

@Techno you bet:). I was taught that everyone does one thing really well. It's easy to spot when someone attempts to take on too many tasks, rather than focusing on the one thing they do really well. The key to building such a massive platform, such as EZ-Robot, is to focus on the thing you do really well, and hire a bunch of people who also do one thing really well. And finally, throw a community in there and refer them as your boss!

There, now you have the ingredients to impact the world.

Except, what are the cooking and mixing directions? Ah... well, we all have our secrets, don't we:D

@bob, i think Techno wants a job at ez-robot for PR/Marketing! Maybe that's his calling - the ez-robot marketing guru!

#27  

I like @Bob's example... I always use the swimming pool analogy... Sure you can dig a fine swimming pool with a shovel, but if you had access to a backhoe why would you?

#28  

I don't think people understand, and by not understanding tend to assume the more popular must be better.

I've said it before on many posts but I don't know if I am doing a decent job of explaining myself so I will give a couple of examples of what I do with the different types of devices and why.

There are some inherent shortcomings with devices that are used for robotics. For example, you can't query the position of a servo directly from the servo without hacking the servo to gain access to the pot. Once access is gained, you then use an analog port to query it's location. The strength of a servo motor is really pretty limited and most controllers have very few analog ports. Also, querying analog ports hundreds of times a seconds (not saying this is normally necessary but could be I guess) kills the communications channels of controllers.

Arduinos and pics are good at controlling a few devices. They are good at doing this with a high level of timing accuracy. They are good at transforming difficult to read data into simple to use data. They are good at being a part of your over all solution which offers a simple to use level of abstraction. Here are a couple of examples.

Some devices return bit-bang serial. This data contains a series of bits that make up bytes. These bytes, when used together can allow you to understand what is being seen by these sensors. You don't get back "object detected at 25 inches to my left" out of these sensors. You get bytes of data. An arduino is good at reading these bytes and converting the information to something you can use. It's also good at flipping some ports to high which could then be used by other controllers to very quickly react to the information before this information is reported back up to whatever you are using as a primary controller.

The arduino is a subsystem controller device. It is like a kangaroo to a sabortooth. It is like a servo controller board to a servo motor. It is like the board on the back of sensors that converts the particles of methane in the air to a usable representitive number for you to use. It is great at these things. It is not capable of doing what a pc is doing.

This brings me to Pi and Beaglebone or other single board computers with GPIO pins. These are one level up from the arduino in abstraction. These could be used as device controllers but lack one item that is very important to device controllers. These devices are not accurate enough to handle the timings necessary to use some of these devices and sensors. They run good stable OS'S which perform far better at tcp/ip than windows does. Windows renegotiate the speed that it will use constently, where linux sets a speed and uses it. Because of this, you have far less overhead with standard tcp/ip over linux, and don't have to nearly as critical about how you program to use tcp/ip on linux. With that said, these single board small computers are not all the same. For example, the pi uses its usb channel for its wired network port. The Beaglebone has a dedicated network port which doesn't have anything to do with the USB ports. The beaglebone has 2 additional processors which do have highly accurate timing. These can share information with the main processor very quickly. This is like putting two arduinos onboard the beaglebone. There are many more of these coming out all of the time. These boards are great if you need a low power computer in your project to maybe take load off of something else. Let's say that you want to add something like SLAM. An arduino isn't going to be able to do SLAM. It requires not only gathering of the data but then also processing of this data to make it usable. You need to get this data back to your tethered computer or you can process the data on one of these types of small computers. This small computers can then pass this information back to the main computer as needed.

So where does the ezb fit in? It can pretty much do all of what was mentioned kindof. The EZB and ARC can do almost everything that was mentioned with a few limitations.

The ezb isn't designed to be an arduino or pic. It is designed to handle a lot and not focus it's timings to a specific device. It can't drive something like a neopixel ring nativly. That's okay, neither can your computer. It's not what your computer or the ezb were designed to do.

The EZB uses wifi to xfer information from itself to the computer driving it. It is possible to flood this communication path. It's only wifi which has its own issues with latency nativly, especially in Windows. This is nothing that can't be resolved though in a couple of ways. This takes me back to the arduino and what it is good for. An arduino could monitor a device hundreds of times a second. If a condition is met, the arduino could communicate this information either back to the v4 in a couple of different ways, or could send this information back to ARC through the sdk and a com port on the computer. This allows the communication path not to get flooded because you only would report back the information you need to know and not everything. Additionally, the data conversion could take place on the arduino prior to transferring this information, allowing the computer to then react to this data instead of process it and then react to it.

I personally see great value in all of these devices if used in the manner in which they were designed. If you use a hammer as tweesers, the result will not be good. If you use a chainsaw as a fingernail file, the result will not be good. If you use an arduino as an ezb or an ezb as an arduino, the result will not be good. They are different devices used for different purposes. Same goes with the pi and beaglebone.

You can use a chainsaw as a fingernail file, but should you?

#29  

@David,

As usual, very good description of benefits and drawbacks of each approach, and more importantly how they can compliment each other.

Alan

#30  

Thanks Alan.

I would say that the best understanding that anyone could get that is beneficial to them is to start by looking at what is happening and where it is happening. Without this understanding, the builder will be very limited in their understanding of their robot. It's not magic.

In design, it is important to ask yourself, what do I want to happen first and then make a decision on where you want it to happen. The where is probably as important as the what. By doing things in the wrong place, you can paint yourself into a corner or greatly impact other areas of your project that you didn't mean to impact.

For example... The Amazon Echo is a pretty cool device. There are some short comings in their design due to trying to have a single self contained devices. As such, it is a single self contained device that isn't very expandable. This reduces its usefulness in office environments for example. It is possible to have business data presented to this device with some development but, it would be far easier for this to happen on a server that these devices could connect to. At that point, you have a ton of other options available and it makes the entire solution far more expandable. They have a great device, but they are now in a corner that will take a lot of money to get out of. The good news is that Amazon has a lot of money to get out of the corner.

#31  

@DJ I would love a job at ez-robot! Let me get through secondary and I'll be on my way!

#32  

There's not much else that can be said then what has already been said by all you knowledgeable people. I will say this however; When I found EZ Robot 3 or 4 years ago I thought I was the target customer. I knew nothing about servos or getting them and motors to move in response to scripting language I had never learned how to write or understand. I had never dreamed I would be able to have a robot built and programed by me that would respond to my voice or visual sensors and act like it had a mind of it's own. Then I found EZ Robot and they made my childhood dreams come true. I now have a full sized TV/Movie exact replica robot that acts and looks just like the one I remember when I was a kid and so badly wanted one for my own.

Without EZ Robot, sure, I could have had a replica robot that just stood there and blinked and reacted like a puppet. I was discouraged thinking I would have to spend years learning the skills of writing code just to have him do simple things like blink lights and move his waist back and forth. When the hell was I going to have the time to do that? Like most responsible people in the world today I work my butt off for many hours a week keeping a roof over my family's head and food on the table. I was discouraged knowing I would be an old man before I was able to get this accomplished if at all. I'm not getting any older ya know. ;) I was so relieved and overjoyed when I found EZ Robot that I didn't have to spend my time left to me learning something I'd rarely use again after I made my dream robot. I was relieved beyond words knowing I didn't have to keep learning more coding languages just to make my robot do more things. I was relieved to know I didn't have to settle on a full sized puppet that just randomly recited phrases and stood there and blinked because I didn't have the time to learn how to code. I was relieved to know I could spend my time doing what I do best; Build things, bring my dreams to life and earn a living to take care of my family. ;) Thank you EZ Robot Team! :D

@Techno, go ahead and make your vid. However I don't think it's needed to help sell the EZB. It will sell itself to people who are attracted to it and need it. LIke DJ said that will be about 99% of all people (like me). The vid will be more helpful teaching people what the two platforms are so they can better understand what EZ Robot is and what Adorno is not.

People that think Adorino is the next step "AFTER" EZB have skin in the game and an agenda. They have spent a lot of time and expense (in more ways than money) learning these complicated languages. It's hard to walk away from all that. We can't really blame them because before EZB there were no other options other than a few GUI programs that attempted to assist in visually writing code. Then there the people that just like to spend time learning. Nothing wrong with that but most people just don't have that kind of time or energy.

Cheers! What a great thread! :P