Asked — Edited

Some Newbie Questions

Hi, guys. I am considering EZ-Robot as a kit to experiment with and demonstrate an AI system I am working on. Here is a video of an older version of my AI system in an RS Media robot, if you are interested:

EZ-Robot seems like a good system because of its high level approach and flexible design. I was wondering if you can help me with some questions:

  1. I would like to run ARC parallel to my C++ AI program. In other words, I would like them to run as their own executable programs that are capable of communicating with one another. I don't need or want low level control (like controlling individual servos). I envision designing scripted motions in ARC, and triggering them from my C++ program. Additionally, I would need to be able to retrieve sensor feedback in my C++ code. Does anybody have suggestions or links to ways I could do that? FYI - I am aware that ARC supports plugins, but they are in C#.

  2. One of my concerns is encountering limitations on the number of sensors or servos you can attach to one board. To clarify, I envision making a robot similar to the rover kit, but with these possible additions: 2 cameras instead of 1, 4-5 LED blocks, 4-5 touch or Ultrasonic sensors, the 4 in 1 orientation sensor, maybe a few more I haven't thought of yet.

  3. I noticed that touch sensors are conspicuously absent? Can the ultrasonic sensor be used as a pseudo touch sensor, like if something is < 1 cm away from it? Can multiple ultrasonic sensors function without interference from each other?

  4. My ambitions are very sensor-oriented, so the more types of sensors, the better. Are there any 3rd party sensors that you would recommend that have easy integration?

  5. Is a microphone integrated in one of the parts, or do we have to supply a 3rd party solution for audio input?

  6. Is it possible to get the RGB pixel data from the camera in another program? It sounds like ARC supports basic color and scan code recognition, but I may want to try my hand at something like shape recognition in the future.

It will take a good amount of time to complete my current AI version, but I am excited about integrating it in a robot in the future. Thanks for the help!


ARC Pro

Upgrade to ARC Pro

Join the ARC Pro community and gain access to a wealth of resources and support, ensuring your robot's success.

#9  

Thanks for the suggestions, guys.

"@Singularity are you familiar with robots and electronics ? "

Very little. I've only programmed for 1 robot, and I had help. That is one of the reasons I am attracted to EZ-robot as an option, because it appears to allow higher level control than many of the other options out there. I'm seeking simple sensor feedback, scripted motions, voice recognition, voice synthesis, color/ scan code recognition, and a way to interface with my C++ AI system. While I am up for the work involved, I want to focus primarily on my AI system's capabilities translated to a robot, but wish to avoid getting too off focus on the AI stuff for the sake of low level electronic tinkering. AI and the demonstration of it is my primary focus.

PRO
Synthiam
#10  

I assure you all of those things are pretty easy. To get sensors, movements, voice recognition, synthesis and camera recognition is about 1 day of work.

Don't limit yourself to color/scan recognition - there is also glyph and object training/recognition - which is much more powerful

lastly, the ai system should be a few hours to port to a ARC skill plugin if it has already been written. Simply change the project from mfc to CLR. Next add the references and overrides necessary per the plugin tutorial. Compile, and that's it.

Your plugin may wish to talk to other controls, such as movement etc.. But all that is already exposed and exists as classes in the EZ_Builder.EZBManager, which you will find out about in the plugin tutorial.

However, i do recommend that you consider porting the C++ to C#. The language syntax is very similar. The original ARC and EZ-SDK was C++, which i ported to C# in a matter of hours. It's really really similar - simply keep compiling, visit the error and correct the syntax. It's that easy:). You will find C# to be a much friendlier and more productive syntax to use.

The great thing about C# is the size of the library for the windows OS - it's absolutely mind boggling how well supported the .Net libraries are.