Singapore
Asked — Edited

Sdk:C# Assistance

Hi guys,

It's me again, I'm using the ARC now. But I am still curious as to how simple movements can be coded in C#. Is it virtually impossible? I'm asking on behalf of my mentor who is curious about this.

Thanks guys!


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.

United Kingdom
#1  

It's not impossible, it's perfectly possible however using ARC is a lot easier and just as powerful. It's like reinventing the wheel when DJ has given us all jet packs.

The SDK comes with a whole bunch of examples, check through these for demos and example code for the various different functions.

PRO
Synthiam
#2  

Like all SDK's, they require prior experience in programming -or- a dedication to learn how to program. If an SDK is created correctly, there is no easy/hard attribute to them. This means that a well written SDK is the same easiness as any other SDK.

However, what you are asking is if the EZ-SDK can provide movement abilities. The answer is Yes. The ARC software is built on the EZ-SDK. Think of ARC as a graphical interface for the EZ-SDK.

You can do everything in the EZ-SDK that you can do in ARC, plus more if you are an experienced programmer. Our university/college customers use the EZ-SDK and ARC for robot projects. Our enterprise partners use the EZ-SDK for their product development.

The EZ-SDK is distributed with dozens of examples (I think around 50). The examples include everything from movements to speech recognition to video processing.

The question "does the EZ-SDK do _______" is not applicable because the answer will always be "YES". Yes, you can do a lot more with the SDK. The easiness of using the EZ-SDK depends on how good of a programmer you are. The EZ-SDK makes the robot movement/functions easy, but it does not make you a better programming.

I can assure you that EZ-SDK and ARC are the absolute easiest and most powerful methods of controlling robots in the world. The strive to maintain this statement is what drives us every day.

Owning a Ferrari does not make you a race car driver...

#3  

Please dont take this as an unwillingness to help you. Quite the opposite, I am trying to help you more than you realize right now.

in the EZ-SDK\C# folder there is a file called "Tutorial 1 - Modified Servo". This would probably contain what you are looking for. There are many of these directories that have examples on how to use the SDK for specific things. They are all free.

Tutorial 18 - Follow Motion Tutorial 31 - AR Drone Tutorial 9 - Radar Scanner Tutorial 4 - Robot Head Follow Object and more would contain code that uses the servos for movement.

What you will find in programming is that very few people with give you the answer to a general question because there are so many ways to accomplish things. Programmers figure things out on their own and normally don't have to ask a lot of questions because they are willing to do a lot of research for themselves. I am not saying that you wont get help here as this community is a very helpful one. If you ask what you would consider a very specific question, you will probably get some examples. If the examples already exist, you would get pointed to those examples, but it is important that you spend the time digging so that you will learn.

I speak from 20+ years of experience programming and managing programmers. The ones that were flat given the answers to everything normally didn't last long. The ones that dug for the answer until they were blue and then ask the question with some understanding of the possible causes for the issue got helped and learned a lot, making them worth paying and thus stuck around and got much better at their craft.

Spend some time digging into the tutorials to see what is available and understand what is going on. These tutorials are very simple as they handle a specific task as described by the names of the tutorials. If you have trouble understanding these tutorials, take some time to go back and learn things about C# first. Robotics programming in C# requires that you first understand C#. There are a lot of useful tutorial on C# online and in many books. After you understand the tutorials that have been provided, come back and ask specific questions about issues that you are seeing. You will get a lot of help.

#4  

One more thing, good decision going with ARC. I think that you will find that once you understand what is possible with the EZ-B and the ARC software, it would be easier to understand the dll that is used in the EZ-SDK and what it is capable of.

#5  

On a related topic, I am also looking to use the SDK directly I'm not new to programming in general...

I have built several of the C# projects in the SDK including "Tutorial 1 - Modified Servo", I have them running (showing the application window), but they all fail to maintain a connection to my EZB V4, the EZB works fine with ARC. I'm using AP Mode with no password.

When I attempt to connect there is an initial connection sound followed by an unfamiliar red-light on the EZB. The debug log looks like this:

Quote:

12/08/2014 9:18:49 PM - 12/08/2014 9:18 PM - Attempting connection on 192.168.1.1:23 12/08/2014 9:18:49 PM - 12/08/2014 9:18 PM - Connected to 192.168.1.1:23 12/08/2014 9:18:49 PM - 12/08/2014 9:18 PM - EZ-B reports EZ-B v4 OS 12/08/2014 9:18:49 PM - 12/08/2014 9:18 PM - Welcome to EZ-B v4 Beta! 12/08/2014 9:18:58 PM - 12/08/2014 9:18 PM - Comm Err: System.IO.IOException: Unable to read data from the transport connection: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. ---> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags) at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) --- End of inner exception stack trace --- at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) at System.IO.Stream.ReadByte() at EZ_B.EZB.(Byte , Byte[] ) 12/08/2014 9:18:58 PM - 12/08/2014 9:18 PM - BbytesToExpect: 12 12/08/2014 9:18:58 PM - 12/08/2014 9:18 PM - ? Received: 12/08/2014 9:18:58 PM - 12/08/2014 9:18 PM - Disconnected 12/08/2014 9:18:58 PM - 12/08/2014 9:18 PM - EZ-B v4 ID: 0-0-0-0-0-0-0-0-0-0-0-0 12/08/2014 9:18:58 PM - 12/08/2014 9:18 PM - Connected

I'm wondering if there are some stale settings in the C# SDK samples that may need updating?

#6  

I believe that DJ said he was working on a new version of the SDK. I don't have a V4 yet to test but I am pretty sure that there was a post stating something about it prompting for a password and DR said he would be posting a new version of the SDK.