Welcome to Synthiam!

Program robots using technologies created from industry experts. ARC is our free-to-use robot programming software that makes features like vision recognition, navigation and artificial intelligence easy.

Get Started
South Africa
Asked — Edited

New "Very Green" Roboticist

Hey guys.

Absolute robo n00b here from South Africa. Just received my Dev Kit, and I am very excited to start!

@DJSures , I have not even touched any of the stuff yet, but I must commend you on what you have created here. I am in awe of all that you have created alongside this product, as well as the product itself. All the scripts, the Custom IDE, the SDK's for every imaginable device. Simply in awe. Job well done!

My Background:

Software Architect / Developer for 14+ years (C#/ VB).
My projects involve distributed processing, desktop and web apps.
Very interested in the "physical side" of things, but have never taken the leap.


I plan to build a "companion" bot, that can do electronic tasks around the house, as well as doing autonomous stuff.

I am quite looking forward to the programming challenges this will include, and the excitement of animating all of it.

I am also buying a 3D printer pretty soon.;)

Some questions

I plan to use the c# SDK for everything, as that is my coding proficiency. From my understanding, all the EZ-B functionality is exposed through the SDK? Is it better to first try some things with the Eazybuilder software? I don't have a robot kit I can animate, so I guess most of the scripts won't work for me?

Do I need to use the eazybuilder software first, and then connect to THAT with the SDK?

Sorry for the long first post:D

#1  
I strongly recommend using ARC first to see what the EZ-B is capable of and how it is supposed to behave, then use the SDK to duplicate functions or create new capabilities. There are also functions in ARC to help you generate C# code, like exporting auto-positions as C# source.

Scripts and AutoPositions work fine whether you have a robot kit or are building your own. They are really powerful, and you may find yourself not ever needing to use the SDK at all.

The vast majority of SDK users used it simply to connect 3rd party devices not directly supported by ARC into their projects, and the plugin architecture made that easier than the SDK (Plugins are also written in C#). The only people who seem to really be doing C# projects from scratch are college students who are required to write C# projects and found the EZ-B and SDK was a good fit for their project definition. Most of them are creating functions already fully supported by ARC, and spending days or weeks on projects to do things that ARC would do for them in a few minutes.

If you do continue to go the SDK route, no, you don't NEED to have ARC running as well. The SDK can do everything, but you still might want to have ARC doing the basic functionality like connection and initialization while your SDK application talks to ARC to do the heavy lifting tasks.

Alan
South Africa
#2  
Hi Alan.

Quote:

If you do continue to go the SDK route, no, you don't NEED to have ARC running as well. The SDK can do everything, but you still might want to have ARC doing the basic functionality like connection and initialization while your SDK application talks to ARC to do the heavy lifting tasks.


This pretty much explains what my intentions are for now. Basic neccecary stuff in ARC (Why re-invent the wheel), and my custom stuff (integrations, etc) from c# plugged into ARC.

My concern was with the flow of how the SDK works. But I think you solved that for me. If I can run ARC, and plug into an already established "session" with my c# code, that is awsome.

Thanks.
#3  
The path that you sound like you want to take is the plugin path. There is a great tutorial that will show you what you need to do to create a plugin, along with published code from others (especially DJ) that serve as a great reference.

The thing that I would try to understand first is how the configuration settings of a plugin work. This allows you to have specific settings for an ARC project that stick with the project. You will reuse this a lot probably. The second thing is how to use the object model that is already built for doing things like updating text values in a text box or really anything that you are used to doing in C#. Using the object model will prevent your code from breaking later down the road when a change is made to the SDK. This too will be reused a lot. Understanding these two things will expedite development in the future for you.

Have fun and ask questions. The community is good and providing the information needed to be successful. DJ is a committed member of the community also, and offers answers to those things that are not already documented. If they are documented, he will point you to the location of the documentation.

It is my opinion that the ability to add plugins is the feature that makes ARC something that you will love to use. The simple stuff is just that, but you will come across something that you will want to do that is unique to your situation. Being able to code something to handle whatever it is, and then decide if you want to share it with the world of EZ-Robot users is one of the features that I enjoy the most.

Welcome to the community.
South Africa
#4  
Thanks for your input @CochranRobotics. The plugin feature sure does make things easy to extend the functionality of ARC.

@thetechguru, concerning your statement:

Quote:


The SDK can do everything, but you still might want to have ARC doing the basic functionality like connection and initialization while your SDK application talks to ARC to do the heavy lifting tasks.


I am currently trying exactly this, but I can't find any reference as to how to connect to "EZ-Builder", instead of to the board.

I have posted a new question regarding this here:
https://www.ez-robot.com/Community/Forum/Thread?threadId=9531

I would really appreciate some guidance in this regard.

Thanks