UCP messages and how to use UCP

Re: http://developer.evol.net/ucp/

  1. Relative Coordinate XYZ Message Format and Absoulte Coordinate XYZ Message Format have parameters X, Y, and Z. There is no way to send a command to the fourth servo. How do I control the fourth servo?

  2. There is no way to read the servo angles from the uArm. How do I find out the actual servo positions?

  3. What host software uses UCP? Does the ROS program for uArm use UCP?

1 Like

Hi, Nagle,

This is Jerry, I designed the new APIs. and Alex(my colleague) designed the UCP (communication protocol part)。

For your first question, actually I designed 3 different Arduino APIs called moveTo which are:
moveTo(x,y,z);
moveTo(x,y,z,relative,time_spend)
moveTo(x,y,z,relative,time_spend,servo4Angle)

The third function can solve your problem in arduino platform (not through APIs).
In the communication part, we are still developing the UCP, so you may not use perfect version which includes the third function. But you can download the arduino library first to control the 4th servo in our github
Releases · uArm-Developer/UArmForArduino · GitHub (UCP 0.51)

For your second question, still, there is function called
double readAngle(int servoNumber)
in arduino library, you can use this to read the servo angle. But for UCP, it is still under construction. (can not read sevo angle right now)

For your third question, we are now using UCP to communicate with Matlab and Visual Studio 2013(c#). And we (actually me) will launch another example which uses Kinect to control uArm through UCP in the next week (I will launch on time, cause this is my job plan :slight_smile:

We haven’t develop any ROS libraries so far.

Finally, I will tell Alex to add more functions in UCP(communication part) when he comes back from his vacation.

Cheers,
Jerry Song

Hi Nagle, Sorry for the late response, The UCP is designed for the next generation uArm. But due to the memory limit, We decide to use Firmata for uArm. Right now we’ve provided the Processing SDK. And developing the python SDK & C# SDK.

You could control any servo via Firmata protocol. The Pin Mode.
In Firmata, You could use Analog Read.
So far we only provide the SDK. But we don’t have any software for now.
The Firmata For uArm would be available next week with Processing Library.