Thumbnail

Auto Position (Gait)

Create servo frames and actions to animate gaits and gestures with automatic motion planning, software ramping, movement panel, import/export

How to add the Auto Position (Gait) robot skill

  1. Load the most recent release of ARC (Get ARC).
  2. Press the Project tab from the top menu bar in ARC.
  3. Press Add Robot Skill from the button ribbon bar in ARC.
  4. Choose the Servo category tab.
  5. Press the Auto Position (Gait) icon to add the robot skill to your project.

Don't have a robot yet?

Follow the Getting Started Guide to build a robot and use the Auto Position (Gait) robot skill.


How to use the Auto Position (Gait) robot skill

If your robot uses servos (humanoids, hexapods, arms, creatures, etc.), you can think of Auto Position as an easy animation system: you pose the robot, save that pose, then build a sequence of poses that plays smoothly.

In robotics, a gait is a repeating movement pattern used for locomotion (walking/crawling). Different robot designs use different gaits: a humanoid often uses a biped walk, while a hexapod uses a multi-leg crawl. Auto Position helps you build those patterns without manually coding every tiny servo move.

Two Versions (Which One Should I Use?)

There are two versions of this skill:

  • Auto Position (Movement Panel): Includes on-screen direction buttons (Forward/Reverse/Left/Right/Stop) and integrates with ARC’s movement system. Only one Movement Panel can exist in a project.
  • Auto Position (Non-movement panel): No direction pad—use it for animations, gestures, arms, heads, etc. You can add multiple instances of this version.

Not sure what a movement panel is? Read this overview: What is a Movement Panel in ARC?

Beginner Concepts: Frames vs Actions

Frame = a single pose (snapshot)

A Frame stores the target position (degrees) for each servo. Example frames for an arm might be: Start, Reach, Grab, Lift.

Action = a sequence of frames (animation)

An Action is an ordered list of frames. When you execute an Action, ARC transitions through those frames one-by-one, creating a smooth motion.


Think of a flipbook: each page is a pose (Frame). Flipping pages in order is the animation (Action).

The smoothness comes from ARC automatically calculating how to transition between servo positions. This is commonly called motion planning and is related to inverse kinematics concepts. If you want the science details, see: Inverse kinematics.

Frames and actions diagram

Quick Start (Beginner Workflow)

  1. Add the skill in ARC: Project → Add Skill → choose the Auto Position version you need.
  2. Create Frames (poses): Open Configuration → Frames and set servo degrees for each pose you want.
  3. Create an Action: Open Configuration → Actions, add your frames to the sequence in the order you want them played.
  4. Tune the movement using Steps and Delay (and optional ramping).
  5. Run it: Use the main window Execute button (or a script/ControlCommand) to play an action.

Example: Picking Up a Cup (Action made of Frames)

Imagine a simple robot arm with two joints (shoulder + elbow) and a gripper. “Pick up cup” is one complete Action, but it’s easier to build it as multiple Frames: start position, approach, close gripper, lift, and so on.

Pick up cup overview

1) Create the Frames

Frames are snapshots of servo angles. You don’t need to program each servo movement manually—just define the important poses.

Frame example 1
Frame example 2

After creating frames, you’ll see a list of frames and their servo positions:

Frame list with servo positions

2) Add Frames to an Action

An action is a list of frames plus transition settings (how fast it moves, how smooth it is, and optional scripts).

Action sequence list

Understanding Steps & Delay (Speed and Smoothness)

When moving from one frame to the next, Auto Position doesn’t “teleport” servos to the new angles (unless you use Jump To). Instead, it calculates intermediate points so all servos arrive at the next pose at the same time.

Steps and Delay diagram

Steps (how big each increment is)

  • Smaller Steps = more increments = smoother motion (usually slower)
  • Larger Steps = fewer increments = faster motion (can look choppier)

Delay (pause between increments)

  • Lower Delay (ms) = commands sent faster = quicker motion
  • Higher Delay (ms) = commands sent slower = slower motion

Example: Steps = 5, Delay = 20
Auto Position examines the biggest angle change among all servos in that transition. If the largest change is 75 degrees and steps are 5, then 75 ÷ 5 = 15 increments are needed. ARC sends those increments with a 20ms delay between them.

Servos with smaller angle changes automatically use smaller per-increment changes so that all servos finish together.

Software Acceleration (Ramping) for Smoother Motion

Some smart servos/controllers (ex: Dynamixel) can do smooth acceleration in hardware. Many basic hobby servos/controllers cannot. When hardware acceleration is not available, Auto Position can simulate smooth movement using software ramping.

How to configure ramping (simple approach)

  1. Set Steps to the fastest maximum step you want to use during the middle of the move (example: 10).
  2. Set SW Ramping to any value above 0 (example: 1000).

What ramping does

  • Starts with smaller steps (soft start)
  • Uses your full Steps value around the middle (normal speed)
  • Ends with smaller steps (soft stop)

Note: If SW Ramping is 0, no software ramping is used.

Tutorial Video: Creating a Hexapod Gait

This video shows Auto Position used to create a walking gait for a large 3D-printed hexapod, plus how it can be controlled with other ARC skills.

Main Window (What the Buttons Do)

Auto Position main window numbered
1. Movement Panel
Direction controls for the whole robot (Forward/Reverse/Left/Right/Stop). Keyboard arrow keys can also control movement when the textbox has focus. (Only present in the Movement Panel version.)
2. Action List
Shows all actions you created. Select one before pressing Execute.
3. Execute Button
Runs the selected action.
4. Jump To… / Transition To…
Jump To instantly sets the servos to a selected frame (no smooth movement).
Transition To moves smoothly to a selected frame using the current Step/Delay values.
Use these for testing a single frame without running a full action.
5. Frame List
A list of frames you can test individually with Jump To or Transition To.
6. Step and Delay Values
Used by “Transition To” (testing a frame). Smaller delay = faster; smaller steps = smoother (often slower).
7. Panic Button
Stops Auto Position and releases all servos (helpful if something is moving incorrectly).
8. Status Display
Shows what Auto Position is currently doing.

Configuration → Frames (Building Your Poses)

Frames configuration numbered

A frame stores a servo position for each servo (in degrees). When Realtime Update is enabled, changing a value moves the robot immediately.

How to edit a servo position (two methods)

  1. Click and drag the degree value up/down
  2. Right-click the degree value and type a number

Important frame value notes

  • 1–180: standard servo degree positions
  • 0: releases the servo (or stops a continuous rotation servo)
  • -1: skip this servo for this frame (keeps its current position)

Key controls explained

  • 1. Servo Positions: each number is a target angle for a specific servo/port
  • 2. Background Image: optional picture of your robot to help organize servos
  • 3. Port Edit Mode: shows ports and lets you reassign them
  • 4. Realtime Update: apply changes immediately (turn off for safe editing)
  • 5. New Frame: duplicates a frame so you can make a small change and save it as the next pose
  • 6. Frame List: right-click a frame to copy positions to clipboard (useful for scripts)
  • 7. Transition To…: test moving into a frame smoothly
  • 8. Delay/Step: used for frame testing only (not saved in the frame)
  • 9. Servo Management: add/delete servos, fine-tune values, release all
  • 10. Clear/Change Image: set/remove the background image
Copy positions to clipboard example Fine tune options

Configuration → Actions (Building Your Animations)

Actions configuration numbered

Actions are where you turn frames into an animation or gait. You select a frame, choose how to transition into it, and add it to the sequence list.

1. Action List
All actions you have created (example: Walk Forward, Turn Left, Wave, Dance).
2. Action Management
Add, rename, or remove actions.
3. Frame List
Pick a frame to add into the action sequence.
4. Delay / Steps / Speed (and related servo parameters)
These values control how the robot transitions from the previous frame to this frame when the action runs. Some advanced servos support velocity/acceleration in hardware; basic servos may ignore those fields.
5. Add Button
Adds the selected frame (with the selected transition settings) to the sequence list.
6. This Action Repeats
Loops the action until another action is executed (common for walking gaits).
7. Edit Script
Add a script that runs when the action executes (for sounds, LEDs, speech, sensor checks, etc.).
8. Sequence List
The exact order of frames (top to bottom) that will play when the action runs.
9. Sequence Management
Execute/test, edit a step, remove a step, or move steps up/down to reorder the motion.

Configuration → Settings (Scripts and Variables)

Settings configuration numbered
1. Auto Position Start Script
Runs before a frame or action is executed.
2. Auto Position End Script
Runs after the queue finishes executing.
3. Auto Position Variables
Includes variables such as the current action/frame and running status (example: $AutoPositionStatus is 1 when running, 0 when idle).
4. Title Field
Renames this skill instance. Important: if you change the title, update any scripts that reference the old name in ControlCommand().

Import / Export Utilities (Sharing Motions)

Import export configuration numbered

You can export your frames/actions to a file and import them into another ARC project or another Auto Position instance. This is helpful for backups and for sharing gaits.

  • 1. Export: saves an .autoposition file
  • 2. Import: loads .autoposition or .ezb files

If ARC warns that a frame already exists, it is often because you attempted to import the auto-generated PAUSE frame. Unselect it during import.

Auto Position With Movement Panel vs Without (Practical Differences)

With Movement Panel

  • Includes direction controls and works like ARC movement panels
  • Only one movement panel skill allowed per project
  • Uses predefined direction actions (Forward/Reverse/Left/Right/Stop)
  • Can be driven by movement commands (ex: Forward(), Stop())

Without Movement Panel

  • No directional movement pad
  • You can add multiple instances (great for separate body parts)
  • Best for gestures/animations (wave, nod, arm sequences, etc.)
  • Controlled via ControlCommand()

Tip: You can export from one version and import into the other as long as the servo configuration matches.

Scripting / Code Samples

Every Auto Position ControlCommand() is listed in ARC under the Cheat Sheet tab. Here are common examples:

ControlCommand("Auto Position", AutoPositionAction, "My Action 1")
ControlCommand("Auto Position", AutoPositionFrame, "My Frame 1")
ControlCommand("Auto Position", AutoPositionFrame, "My Frame 1", 50, 3)  # Delay=50, Steps=3
Note: If you renamed the skill in Settings, replace "Auto Position" with your new skill title.

Videos

Resources

Import/export tools are located in the skill’s Configuration menu under the Import/Export tab. Use them to back up your work or move gaits between projects.


ARC Pro

Upgrade to ARC Pro

Discover the limitless potential of robot programming with Synthiam ARC Pro – where innovation and creativity meet seamlessly.

#1  

Is there a way to reset the defaults number (4)in your upper picture? I work with steppers and there is a big difference in the positions compared to servos. Steppers start with 1 and servos are the center number between min and max. I have to keep changing the values, it would just make things a bit easier.