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


ARC Pro

Upgrade to ARC Pro

Experience the transformation – subscribe to Synthiam ARC Pro and watch your robot evolve into a marvel of innovation and intelligence.

#17  

I was wondering If you could use different commands like, move ninety. move twenty, move ten, move five, move one, turn right, turn left, move up, move down, stop, activate. With eleven commands commands you could operate in all directions.

Just a thought.

Ron R

#18  

Sure, the example was just to show him how to have a conversation with ARC through scripting so that he could move a specific distance instead of set distances.

#19  

Hi!

This all looks great / I have a lot to learn - for example I don't know how to find the For castlephelps project you posted...I have been heads down foing mechanical and wiring stuff on Wiggins all day. I hope to be working with your code tomorrow - here's a photo of my progress.

Castle

User-inserted image

#20  

Look through the recent threads from yesterday for a thread titled "For castlephelps"... below your name click on download app....

#21  

Hi Richard,

Wow, you really lost me on that one. I looked back through this series of answers to my question and thread #12 lists For castlephelps. There is nothing to click on that I can find anywhere. Can you be a bit more specific about where I would find this?

I could not find a thread titled For castlephelps. Where should I be searching?

Thanks, Castle

#22  

One way to cut down on the number of entries in the Speech Recognition control would be to use individual numbers and pause briefly between them. Then use a script to bring them together into a complete number. For example you might say one two two for 122. The Speech Recognition control would be programmed to recognize the 10 basic digits, zero through nine. The brief pause between numbers would be to allow the control to recognize each number. An overarching script would take in each number in turn and bring them together for eventual execution.

In the same manner, you could also put the words "Hundred", "Twelve", "Thirteen", "Twenty", "Thirty" etc. to be able to say "One Hundred Twenty" "Fifty Seven" etc as the words to be recognized to give it all a more natural sounding tone. With the same pauses between the words.

If neither of those ideas appeal to you, I can at least save you a lot of typing. I have a program I used a while back to extract the entries in the Speech Recognition control and present them in a grid for modifying as desired. Additionally, it can save that same data to a text file, as well as load from a text file. Finally, it can save that data back into an EZB project file. I could whip up a quicky routine to automatically create a text file with all the numbers from 0 to 180 in the proper format for importing into my program, and then into an EZB file so as to show up in the project's Speech Recognition control.

If you post your current project with your current Speech Recognition control, I can download it and add whatever you already have in the control and merge it with the number data. My program can even alphabetize the whole thing (or only a part) if you like. It can then put it into your project file which I can upload for you to download. Let me know. Shouldn't take more than a day or two to do.

#23  

Wow - that is very interesting! Thank you for the offer! So far all I have been focusing on is determining if what I want my robot to do is possible (yes), building the mechanicals (making good progress) and doing simple things in ARC to make the motors move.

I have now arrived at the point where I need to learn how to pull it all together and write the scripts to do what I want.

So right now my next task is to connect speech recognition to a servo control then doing what we have been discussing in this thread will be added and then what you propose would be added. So I have some baby steps to take...

You guys are way beyond me but I will get get there! Now knowing I can do what I want (as illustrated in this topic discussion) is fantastic! Now to pull it together...

Thank you, Castle

#24  

Hi castle,

You really need to first play with a simple servo. Make a new project and add the servo (horizontal or vertical). Be sure to go to a tutorial to learn about it. Clicking the gear goes to the setup, the "?" gives information. Once you get that working and understand, you can mess with below:

Here it a start on speech control. 1 Set up your ezb with one servo connected to D0. 2 Set up speech recognition. 3 click on the gear 4 in the blank space on the bottom left, write move to a 5 in the blank space next to that on the right type servo (D0,90) enter 6 on the new line left, write move to b 7 on the right type Servo(D0,120) enter

(I hope I didn't forget anything)( if I did, go to the tutorial to check)

connect the ezb and test and play using verbal commands to move the servo.

You need to use the "?" over the commands you want to play with. examples.. I get reminded of this often.

By doing this experiment, you can see how this works. YOU MUST consider speed issues because with the massive arm, you will need to control the maximum speed.

Use the tutorials and all the information everyone has given you to go further.

I always test small and on the bench before moving to the actual robot or device.

Ron R