Motion Planning
Your robot arm needs to move from one position to another without colliding with the table, the walls, or itself. Motion planning computes collision-free paths through 3D space, taking into account the arm’s kinematic model, the workspace geometry, and any constraints on how the arm should move.
Viam’s motion planning system handles this automatically. You define the spatial layout of your workspace (the frame system), describe what obstacles exist, and tell the arm where to go. The motion planner finds a safe path and executes it.
This section covers motion planning for arms, gantries, and other kinematic chains. For GPS-based autonomous navigation with mobile bases, see Navigation.
How It Works
Motion planning in Viam connects several pieces:
Frame system: a coordinate tree that tracks where every component is in space. The frame system lets you specify target positions in any frame and translates between them automatically.
Kinematic model: a description of the arm’s joints and links that tells the planner what configurations are physically possible.
Obstacles: geometry (boxes, spheres, capsules) that define regions the arm must avoid.
Constraints: rules about how the arm should move between poses, such as keeping the end effector on a straight line or maintaining its orientation.
Motion service: the service that takes all of the above and computes a collision-free path from the current pose to the target pose.
Get Started
Set up the spatial model for your workspace, then use the how-to guides to move your hardware.
Understand your workspace
Configure your frame system
Plan and execute motion
Manipulation
Understand the internals
Was this page helpful?
Glad to hear it! If you have any other feedback please let us know:
We're sorry about that. To help us improve, please tell us what we can do better:
Thank you!