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 / EZ-Builder, 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:
1) Raspberry PI running variant of Linux (mounted close to robot if possible)
2) Linux variant running Mono variant of .NET (hoping that EZ-SDK is Mono compatible, but I'm guessing it's not?)
3) 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?
Upgrade to ARC Pro
Harnessing the power of ARC Pro, your robot can be more than just a simple automated machine.
Do not worry, they will be updated
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.
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):
1) 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).
2) 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.
3) 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.
4) 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.