Mjv4721
This question is more aimed at DJ, but I would just like to know if the SDK will be kept updated or if the basic trend seems to be to stick with using EZ-Script and ARC at the moment...?
The last update version for EZ-SDK is 2013.01.29.00 vs ARC which is 2014.01.15.00.
Hopefully at the time of receiving the EZ-B v4 I take it the EZ-SDK will be compatible with the EZ-B v4 communication protocol?
Yes I know, pretty much 95% of everything can be done with EZ-Script / ARC, but I don't intend on building a C#/C++ app solely built for controlling the robot, it will be multipurpose. Subsequently on aspect of it will be robot control and other modules will be responsible for other areas.
I understand that most of the demand will be for the ARC software, thus ARC is taking precedence with regards to updates, but my project scope will hopefully end up with the following criteria:
- Raspberry PI running variant of Linux (mounted close to robot if possible)
- Linux variant running Mono variant of .NET (hoping that EZ-SDK is Mono compatible, but I'm guessing it's not?)
- Alternative would have been using EZ-OpenBot, but that hasn't been maintained for a while?
Also DJ, I noticed you once had a project called "DJ's robotic 2d/3d environmental mapping code", did any of that make it into ARC / EZ-SDK?
EZ-SDK is rarely updated. The ARC is a front end to the EZ-SDK. The EZ-SDK will be updated for the EZ-B v4 protocol and additional features such as Camera Video and Audio. If you look in the installation folder of ARC, you will see the EZB.DLL and associated libraries.
Do not worry, they will be updated
Awesome
Thanks DJ!
As DJ said, the SDK is seldom used. And while I can't comment on the current and future status of the SDK (although DJ has so it's covered) I will chime in with my 2 cents worth...
I looked at the SDK as I have wanted to get in to C# (or similar) for a while and needed/wanted a reason to do so. I grabbed the SDK, I got Visual Basic, all the necessary tools, books, bookmarks etc. 12 months ago.
11 months ago I decided that ARC is powerful enough, flexible enough and just makes everything far easier so stopped looking and concentrated more on understanding EZ-Script.
To be honest, the only reason to use the SDK, in my view, is if you need to integrate the EZ-B in to some software which you have already spent a lot of time on (however, even then transmitting commands via TELNET is a solution that I have used myself as has Tony (Toymaker) and others with great success).
All that said, if you know of a reason to use the SDK please tell me, I still want to get in to C# so give me a reason/excuse.
As for the 2d/3d environmental mapping, it hasn't made it in to ARC. I for one would love it to be included.
Hey Rich,
I plan on using the SDK in the following manner (even though most of it can be achieved using EZ-Script, I require it to run in separate threads to distribute some of the processing):
Firstly I'll build up the basic robot mechanics in the SDK, map the environment using Ping/IR and possibly include the camera. This can be accomplished in ARC most likely, but I would like to store the results within a database (I am more familiar with C#/.NET, so my learning curve should be much lower).
Additionally, the robot should be able to identify objects in motion (humans, dogs, etc..), this seems to be already supported, but I'll add in some external libraries that can process the camera images to make snapshots of the "objects" to make for an identification library.
Since I plan some robot automation and some remote control functionality, I'll later want to build a Raspberry PI pc that I can attach to JD (allow for automation loop, map environment, scan for objects etc...) without having to be in a general wifi hotspot, but can roam freely. The central database however will be hosted on my Linux server which has some more horse power available. So once the Raspberry PI wifi detects the WIFI router, it uploads the delta to the server and continues with the automation.
I want to be able to, on occasion, log in over the internet and access the camera feed on the robot to see what it sees. For this I'll have a daemon process running on my linux server that relays the stream from the robot via the web to myself but I plan on building a remote client that I can use. Kind of similar to the mobile app, just from anywhere without having to be within physical range of the robot.
Subsequently I don't need to use the SDK to control the robot, but the SDK comes in handy for integration into my existing project. I can remotely send code updates without bring down the central repository and this also ensures that in the event that my computer crashes that I have a robot that continues to function irrespective of WiFi loss.
Unfortunately I'm not sure if the EZ_B.dll is Mono.NET compatible, as I don't like running Windows on anything that requires reliability or uptime
But that doesn't matter, for now this is only an endless playground and just some ideas I want to start playing around with.
Once I have the coding sorted, I can move on to building a bigger scale model! But obviously a bigger JD has much greater challenges such as just staying upright.
I think the SDK is defenately very interessting. It makes it possible to deal with other input/output signals and combine it with the EZ-B. I would beg DJ to continue with these upgrades.
I guess this is where I get to chime in, lol. ARC is very well put together and has all that could be offered for any process you like with the EZ-B itself. Being able to use the SDK allows you to create your own tailored interface to your projects instead of having to bring forth ARC. It allows you to get further in-depth to what robots and programming is all about. C# can be used for a lot more features then what ARC gives forth, in terms of what all features you want your program to have that have not been addressed by the needs of the Processor itself. One of the reasons why the SDK has not been updated has much as the ARC Interface. Features the EZ-Crew has been updating have probably been outside the realm of what new can be used to beef up the communications and processing features, of coarse this also stands irrelevant to the processing of the V4 since it uses a different processor. However, I do recommend using both if you have the will to learn.