Thumbnail

Continuous Servo Movement Panel

+ How To Add This Control To Your Project (Click to Expand)
  1. Load the most recent release of ARC.
  2. Press the Project tab from the top menu bar in ARC.
  3. Press Add Control from the button ribbon bar in ARC.
  4. Choose the Movement Panels category tab.
  5. Press the Continuous Servo Movement Panel icon to add the control to your project.
This movement panel controls 2 continuous servos, which have continuous rotation. Different than a Standard Servo, a continuous servo has its internals changed to allow for continuous 360° rotation. The two parts that are removed from a standard servo to create a continuous rotation servo are:

  1. Mechanical Stop: If you attempt to rotate a standard servo further than 180 degrees, the spindle will stop. That is due to a mechanical stop built onto the output gear within the servo. Continuous servos have that stop removed.
  2. Potentiometer: The potentiometer in a standard servo records the position of the output gear. A potentiometer can only rotate to the physical limits of the internal wiper. When the potentiometer is removed (or replaced with resistors), the circuit does not know it's position, and therefore the ability to specify positions is gone.

2 continuous rotation servos are great for moving your robot. Attach wheels directly to the servos and watch it go! Rather than using a standard DC Gear Motor, a continuous servo provides you with greater speed rotation accuracy. Due to the variety of servo attachments, continuous servos make great movement motors for wheels and tractor treads.

This skill operates like the other movement panels and can be controlled by scripting or other skills that interact with it. Movement Panels are skills that move your robot forward, reverse, left, and right. The Movement Panel directions can be modified by other skills, such as camera, voice, script, joystick, and radar.

Main Window



1. Movement Panel
These buttons will allow you to control the directional movement of the entire robot (left, right, forward, reverse, and stop).

2. Speed Sliders
You can select the speed of the servos with these sliders. Be aware that the speed range is (0-100%) and the default settings is 0% (OFF). These sliders can allow you to adjust for one servo being faster than the other. Note that not all continuous servos support speed selection.

Settings



1. Title Field
This field contains the title of the skill. You can change it if you'd like.

2. Left Servo Port Drop-down
This drop-down selects the digital port that your Left continuous servo is connected to.

3. Left Servo Forward/Reverse/Stop Value Drop-downs
These drop-downs select the movement values for the Left Servo. A 180-degree signal causes the servo to move forward. A 1-degree signal causes the servo to move backward. The stop value for most continuous servos is 90 degrees.

4. Test Buttons
These buttons test the Left Servo Forward/Reverse/Stop values without having to return to the main window.

5. Use Checkbox
This checkbox is unchecked by default and means that a PWM signal will stop being sent to the servo when the Stop button is pushed. If checked, this checkbox will make the stop button use the stop value of the servos, this is advantageous if you'd like your robot to instantly brake instead of coast to a halt. Analog continuous servos tend to drift away from their stop value over time, so leaving the checkbox unchecked is beneficial for this type of servo.

6. Right Port Drop-down
This drop-down selects the digital port that your Right continuous servo is connected to.

7. Right Servo Forward/Reverse/Stop Value Drop-downs
These drop-downs select the movement values for the Right Servo. A 1-degree signal causes the servo to move forward. A 180-degree signal causes the servo to move backward. Notice that this is the opposite of the Left servo, this is because the right servo is usually mounted in a mirrored configuration from the left servo. The stop value is 90 degrees.

8. Test Buttons
These buttons test the Right Servo Forward/Reverse/Stop values without having to return to the main window.

How to Use Continuous Servo Movement Panel


1) Physically connect the two continuous servos to an EZ-B.

2) Add the Continuous Servo Movement Panel Skill to your ARC project (Project -> Add Skill -> Movement Panels -> Continuous Servo Movement Panel).

3) In the Settings menu select the ports that you connected the servos to (D0 & D1 for example).

4) In the main window press the direction buttons to move your robot. If the directions seem reversed you can simply swap your motors from each side or swap the ports in the settings menu.

Video




Requirements


Resources


Read more about how Movement Panels work here.

View the Servo Tutorial for technical details of how servos work.

#1  
Is there a way to modify the controls to change the direction of the servos?  To go forward, you have the right servo rotating clockwise and the left rotating counter-clockwise, and this works perfectly fine if the drive wheels are attached directly to the servos. However, since I'm trying to hack a Robie Sr. and I want to use its original FOUR wheels, this demands that I attach each servo to a gear that drives two wheels on either side in the opposite direction of which the servos are rotating. I thought that a simple solution to this problem would be to simply swap ports with the servos, and this DOES make the robot drive forward and backward with its respective Forward and Backward commands like it's supposed to... but when it comes to TURNING, the servos still rotate in the opposite direction just the same as if they were in their INTENDED ports.  It drives forward like it's supposed to, it drives backward like it's suppose to, but the Left button makes it turn right, and the Right button makes it turn left.

Is there a way to invert these controls?  Or would I be better off just using the TWO wheels that came with the developer kit and installing a couple of small caster wheels in the back for balance?

(I apologize for asking so many dumb questions, I don't know why I get so easily lost in here. :()
PRO
Synthiam
#2  
Change the values for the directions of each servo. 

right now, the forward sends a command of some number. And reverse sends the opposite number. Those numbers are degrees. Reverse them