Skip to lesson
Westlake RoboticsLearn
Vault

FIRST Tech Challenge

Loading progress…

  • Motion Profile Concepts
  • Trapezoidal and Asymmetric Profiles
  • Implementing a Profiled Mechanism
  • Tune and Validate a Profiled Arm

Motion Profile Concepts

Position, velocity, and acceleration over time.

Motion ProfilingControl

In this lesson, you will:

  • Explain moving targets.
  • Identify accel/cruise/decel.
  • Connect profiles to consistency.

Concept narrative

A motion profile creates a planned path from current position to target position. Instead of asking a mechanism to jump to a new setpoint, it asks the mechanism to follow a smooth target over time.

Robot mental model

The robot gets a schedule: where it should be now, how fast it should be moving, and whether it should be accelerating or slowing down.

Implementation walkthrough

Draw the profile before coding. Label max velocity, acceleration, deceleration, and total time. Then connect those labels to mechanism behavior.

ProfileTerms.javaJava

ProfileState state = profile.calculate(timer.seconds());
telemetry.addData("target x", state.x);
telemetry.addData("target v", state.v);
telemetry.addData("target a", state.a);

Common mistakes and debugging

If the profile is too aggressive, the controller saturates and lags. If the target jumps, the profile is not being used correctly.

Practice

Sketch profiles for short and long arm moves and predict which reaches max velocity.

Checkpoint

  • Profile states are logged.
  • Constraints include units.
  • Short moves may not cruise.
  • The test record includes the setup, prediction, and observed result.
  • A teammate can repeat the check from the saved evidence without guessing.

Reflection check

Check your understanding before moving on.

What does a motion-profile state normally provide to a follower?
Why can a profile with overly aggressive constraints perform poorly?

0 of 2 answered

References

Game Manual 0FTC community reference for programming, controls, and robot design.FTC DashboardLive telemetry, graphs, config variables, and camera streaming.
Loading lesson progress
Previous lessonDashboard Tuning WorkflowNext lessonTrapezoidal and Asymmetric Profiles