Welcome to Synthiam!

The easiest way to program the most powerful robots. Use technologies by leading industry experts. ARC is a free-to-use robot programming software that makes servo automation, computer vision, autonomous navigation, and artificial intelligence easy.

Get Started
Asked — Edited
Resolved Resolved by CochranRobotics!

Moving Discrete Distances

Now that I have part of Wiggins (my robot arm's name) built with multiple motors and multiple sabertooth/kangaroos all of which are being driven by digital ports on EZ-B and speech recognition via bluetooth headset configured on the computer... I am not using a movement control, only things like Horizontal servo which configured will move a kangaroo controlled motor from 0 to 180. The kangaroo is Teach Tuned to drive left and right from 0 to 360 degrees and the feedback is a 10 turn potentiometer on the pinion of the gear motor.

What I want is to tell Wiggins to turn left a certain number of degrees, for example. So the swivel for Wiggins' arm is a single gear motor driven pivot that rotates 360 degrees and is controlled by a Horizontal servo control so that it moves the full 360 degrees using the 0-180 on the control. Is there a control that turns left and right 180 degrees?

What I want is to be able to tell Wiggins to move a discrete variable distance. For example," Wiggins - rotate left 32 degrees". Or "Wiggins - rotate to 090".

One of these is movement from the current position and then left 32 degrees. The other is to rotate to a constant location.

How do I do this?

User-inserted image


Upgrade to ARC Pro

Get access to the latest features and updates with ARC Pro edition. You'll have everything that's needed to unleash your robot's potential!

To open the project, here is what I would do...

Open ARC
In the area called EZ-Cloud App Store click Open
User-inserted image

Setup the selection criteria as shown in this image and then click open on the first item in the list.
User-inserted image
@CochranRobotics has been extremely helpful showing me how to make this work! I wanted to give him recognition quickly but I hope that we can continue this thread as I get Wiggins moving!

Thank you very much!
Thank you for the credit. I am happy to continue helping you out. I can't wait to see Wiggins come to life.
@CochranRobotics - thank you for the support. I will be working with your code hopefully today but my EZ-B is up in my barn (about an hour away) and I won't be back there until Friday (Jury duty).

I have had success getting the sabertooth/kangaroo working with servo Controls to drive the large motors to behave as servos successfully with both potentiometer and encoder feedback so I know that mechanically and manually (just sliding a Horizontal servo control left and right makes the arm swing. So the code examples you have provided will go a long way to automating this and using speech to move Wiggins!

Thank you again - I look forward to getting Wiggins to come to life with you help! I guess the best way to correspond is thru this thread?

I would say yes to using this thread. The purpose of forum is to help others learn by providing solutions to people. It is good to document this in this thread.
I just ordered a second EZ-B to allow me to work small with the servos that came with my initial SDK as recommended by ANDY ROID. Soon I will be able to test EZ-Script at home
This will make things much nicer for you. A small scale version of what you are building to test with could be very beneficial.
I think you will have a lot less "White Knuckle" issues.. LOL... A test of raw scripting with the full size arm could have the barn "reorganized" in a way you might not want it.

A test unit at home will be nice to prove out your designs. Have fun.

Ron R
I initially started out building a small scale of Wiggins out of aluminum but the servos that came with the SDK weren't strong enough to make it work but if I concentrate on one axis at a time I can still use this mockup. Thanks for the redirection although it is quite fascinating watching the full size Wiggins moving. I've attached a photo of my early model.

User-inserted image
I am unable to explain why all of my photos display rotated 90 degrees...


I am unable to explain why all of my photos display rotated 90 degrees.

Are you taking the pictures with an iPhone? Everyone I know who uses one has this problem. The Metadata embedded in the photos clearly screws up the orientation info. (My wife's Mac also messes up pictures from my Android but my PC's don't).

As a matter of fact yes I am using an iPhone. I emailed the photo from the iPhone to my Windows 10 computer and then posted it - still rotated. How can I strip off the offending metadata?

I feel kind of embarrassed that my photos aren't coming out straight...

One thing to keep in mind when building the model is that you don't need to use heavier materials like aluminum. Plastic, and even thick cardboard is fine. All you are doing is making something that moves like the large unit. It doesn't have to actually lift anything. Well, other than servos that is and they don't weigh much.

EDIT As to the photos, you could flip them before sending them so they will come out right on this end.
I agree with WBS00001. I use foam board and a glue gun. Anything around the house will work. This way the batteries last longer and it is easy to make changes. Being able to doing this at home will be helpful. I look forward to your progress and wish you well..

Ron R
Hi guys,

This is great information! I will definitely reconstruct the model with your ideas as I test out code when the EZ-B arrives hopefully next week. Sorry for the noise but I am uploading one of my photos of Wiggins that I rotated. I'm curious to see if it comes out correctly. It is a photo taken with my iPhone 6+ and I have rotated it 90 degrees to the right (clockwise). Let's see if it comes out right side up. Again, sorry for the bandwidth.

User-inserted image
Weird - I guess you have to rotate it to the right and save it, then rotate it back and save it and then it comes out correct. Something to remember, at least for me.

Again, sorry for the bandwidth.

I was looking through the ARC manual and it looks like the servoup and servodown the code will really help with moving without having to identify current position. Any experience with thus guys?
I use it all the time.

Here is a script example I have to open the hand on my Roli. It is triggered as long as I am holding down a key on my joystick or the O key on my keyboard. If the of the servo goes above 90, it does nothing.


RepeatWhile(GetServo(D13) < 90)
ServoUp(D13, 2)