← All Modules
06 Assembly

Assembly & Constraints

Bringing parts together — mates, joints, degrees of freedom, and the assembly workflow.

Assembly Fundamentals

An assembly is a CAD document that brings multiple individual parts (and sub-assemblies) together into a single coordinated model. In robotics, every mechanism you design — a drivetrain, a manipulator arm, a sensor turret — ultimately lives inside an assembly. Mastering assemblies is what separates someone who can model shapes from someone who can engineer machines.

Top-Down vs. Bottom-Up Assembly

There are two fundamental strategies for building assemblies, and most real-world robotics projects use a combination of both:

  • Bottom-Up Assembly: You design each part individually in its own file, then insert them into an assembly document and constrain them together. This is the most common approach and gives you maximum reuse — the same motor model can appear in ten different robot designs. Start here for components with well-defined geometry (motors, bearings, brackets, fasteners).
  • Top-Down Assembly: You create new parts directly within the assembly environment, referencing the geometry of parts that already exist. This is powerful when parts must conform to each other — for example, designing a custom motor mount that references the motor's bolt pattern and the chassis's mounting surface simultaneously. Use this for integrating and adapting components.
  • Hybrid Approach: In practice, you will import standard components (motors, sensors, bearings) bottom-up, then design custom brackets, adapters, and structural members top-down to connect everything. This is the professional robotics workflow.
Grounding the First Component

Every assembly needs an anchor — a single component that is grounded (fixed in space). This component does not move; every other part is positioned relative to it. In robotics, the grounded component is almost always the chassis or base frame.

  • The grounded component's origin becomes the assembly origin. Align it thoughtfully — the robot's center-of-footprint or center-of-rotation is a sensible choice.
  • In most CAD software, the first component inserted is automatically grounded. You can change which component is grounded at any time.
  • Only one component should be grounded. If you accidentally ground multiple parts, your assembly loses the ability to simulate motion correctly.
  • Think of grounding as defining your robot's "world frame" — the fixed reference from which all motion is measured.
The Assembly Workflow at a Glance

Before diving deep into each topic, here is the high-level workflow you will follow every time you build an assembly. Each step is covered in detail later in this module:

  • 1. Ground the base — Insert and fix your chassis or base frame.
  • 2. Insert components — Bring in parts and sub-assemblies from your file system or library.
  • 3. Apply joints & constraints — Define how each part connects to and moves relative to its neighbors.
  • 4. Test motion — Drag components to verify they move as intended.
  • 5. Check interference — Run collision/interference analysis to catch physical overlaps.
  • 6. Create exploded views — Generate exploded views and animations for documentation and presentation.

Degrees of Freedom

Before you can constrain an assembly, you must understand what you are constraining. A degree of freedom (DOF) is an independent direction in which a body can move. A rigid body floating freely in 3D space has exactly 6 degrees of freedom: three translational (linear movement along each axis) and three rotational (spinning around each axis).

The 6 Degrees of Freedom

Every unconstrained part in your assembly starts with all six DOF. Each constraint you apply removes one or more DOF until the part can only move the way it should in the real mechanism. When all six DOF are removed, the part is fully constrained (rigid). When some DOF remain, the part is under-constrained and retains intentional mobility — like a wheel that must spin.

Translate X
Translate Y
Translate Z
Rotate X
Rotate Y
Rotate Z
DOF in Robotics Context

The number of degrees of freedom in a robotic mechanism defines its capability. A 6-DOF industrial robot arm can reach any point in its workspace at any orientation. A 3-DOF planar robot can only move in a flat plane. Understanding DOF is not just a CAD concept — it is the foundation of all robot kinematics.

  • Under-constrained parts have remaining DOF. This is correct for moving components (wheels, arms, linkages) but a mistake for structural parts (brackets, frames).
  • Fully constrained parts have 0 remaining DOF. Structural members and housings should be fully constrained in your assembly.
  • Over-constrained parts have redundant constraints that conflict. This causes solver errors in your CAD software and indicates a problem with your assembly logic. If the software warns you about redundant constraints, investigate and remove the extras.
  • Counting DOF: Total mechanism DOF = (6 × number of moving parts) − (DOF removed by all constraints). A well-designed assembly has exactly the DOF you intend — no more, no less.

Constraint Types

Constraints (also called mates in some software) define the geometric relationships between parts. Each constraint type removes specific degrees of freedom. Choosing the right constraint is essential — it must match the physical reality of how two parts connect.

Coincident / Fixed

Forces two faces, edges, or points to occupy the same location. A face-to-face coincident removes 1 translational DOF (perpendicular to the face) and can remove up to 2 rotational DOF depending on geometry.

Robotics use: Mounting a sensor flat against a bracket, seating a bearing into a housing bore, placing a motor flange flush against a mounting plate. This is the most frequently used constraint.

Concentric

Aligns two cylindrical faces so they share a common axis. Removes 2 translational DOF (the two axes perpendicular to the shared axis) and 2 rotational DOF (tilt in either direction). Leaves rotation around and translation along the axis.

Robotics use: Fitting a shaft into a bearing, aligning a wheel on an axle, centering a gear on a shaft. Combine with coincident to also fix the axial position.

Distance / Offset

Maintains a precise gap between two faces, edges, or points. Functions like a coincident constraint but with a specified separation distance. Removes 1 translational DOF.

Robotics use: Setting standoff height for circuit boards, defining clearance between moving parts, positioning sensors at a calibrated distance from a target surface.

Parallel / Perpendicular

Forces two faces or edges to maintain a parallel or 90-degree relationship. Removes rotational DOF without affecting position. Parallel removes 2 rotational DOF; perpendicular removes 2 rotational DOF differently.

Robotics use: Ensuring linear rails stay parallel to each other, keeping a camera sensor perpendicular to the viewing direction, aligning structural beams in a frame.

Tangent

Forces a curved surface to touch a flat or curved surface at exactly one point or line, maintaining tangency as parts move. Removes 1 translational DOF at the contact point.

Robotics use: Cam-follower mechanisms, ball bearings contacting races, wheels resting on a ground plane, roller chains engaging sprocket teeth.

Angle

Sets a specific angular relationship between two faces or edges. Removes 1 rotational DOF by locking the angle between references. The angle can be set to any value (not just 0 or 90).

Robotics use: Setting the sweep angle of a linkage, defining the tilt of a camera mount, configuring V-shaped structural members, positioning angled brackets.

Constraint Strategy: When assembling a part, mentally ask: "What DOF should this part retain?" Then apply the minimum number of constraints needed to remove only the unwanted DOF. Over-constraining wastes your time and creates solver conflicts.

Joint Types

While constraints define geometric relationships between faces, joints define how parts move relative to each other. Many modern CAD packages (Fusion 360, Onshape, Inventor) use joints as a higher-level abstraction that automatically handles the correct combination of constraints. Joints map directly to the mechanical joints found in real robots.

Standard Joint Types for Robotics

Each joint type allows a specific combination of motion and removes a specific number of degrees of freedom. Choosing the correct joint type is critical — it determines how your mechanism behaves in simulation and motion studies.

Revolute Joint — 1 rotational DOF (removes 5 DOF)

The workhorse of robotics. A revolute joint acts like a hinge: one part rotates around a fixed axis relative to another. The axis position is locked; only rotation around that axis is permitted. You can define angular limits (e.g., 0° to 180°) to model physical range-of-motion stops.

Robotics application: Every rotational joint in a robot arm, door hinges, flippers, single-axis turrets, servo-driven linkages. A 6-axis robot arm uses six revolute joints in series.

Prismatic Joint — 1 translational DOF (removes 5 DOF)

A linear slider. One part translates along a straight line relative to another. No rotation is permitted. You can set travel limits (e.g., 0 mm to 150 mm stroke) to match the physical actuator.

Robotics application: Linear actuators, lead-screw-driven platforms, pneumatic cylinders, drawer slides, Z-axis stages in 3D printers and CNC machines, telescoping arms.

Cylindrical Joint — 1 rotational + 1 translational DOF (removes 4 DOF)

Combines rotation and translation along the same axis. The part can spin and slide simultaneously along a single axis, but cannot tilt or move off-axis. Think of a bolt being screwed in — it rotates and advances along its axis.

Robotics application: Lead screws and ball screws (rotation converts to translation), telescoping rotating joints, drill spindles, certain pneumatic rotary actuators.

Ball Joint — 3 rotational DOF (removes 3 DOF)

A spherical joint that allows rotation around all three axes while keeping the center point fixed. The part can tilt, swivel, and spin, but cannot translate. Like a human shoulder or hip joint.

Robotics application: Spherical wrist joints, ball-and-socket linkages in parallel robots (Stewart platforms), tie-rod ends in steering mechanisms, gimbal mounts for cameras and sensors.

Planar Joint — 2 translational + 1 rotational DOF (removes 3 DOF)

Allows a part to slide freely across a flat plane (X and Y translation) and rotate around the plane's normal axis (Z rotation). The part stays on the plane but can move anywhere within it.

Robotics application: Parts sliding on flat surfaces, holonomic drive bases (omnidirectional robots), XY gantry stages, pick-and-place mechanisms on a work surface.

Rigid Joint — 0 DOF (removes all 6 DOF)

Completely locks two parts together with no relative motion. The parts behave as a single rigid body. Use this when parts are permanently fastened and never move relative to each other.

Robotics application: Bolted structural connections, welded frame members, press-fit bearings (outer race to housing), glued sensor mounts, PCB standoffs. If it doesn't move in real life, make it rigid in CAD.

Joints vs. Constraints: When to Use Which
  • Use joints when you are modeling mechanical connections between parts that may move. Joints carry motion semantics — they define axes of rotation, travel limits, and can drive motion studies and simulations.
  • Use constraints when you need precise geometric positioning — aligning faces, setting offsets, or defining angular relationships for parts that do not move relative to each other.
  • In practice: Many engineers use joints for all connections (including rigid ones) because joints are easier to modify later. If you constrain a wheel with three separate mates and later realize it should rotate, you must delete and redo. A joint can simply be changed from rigid to revolute.
  • Software differences: SolidWorks uses "mates" as the primary system. Fusion 360 and Onshape use "joints." Inventor supports both. The concepts are identical — only the terminology and UI differ.

Assembly Workflow

Now that you understand constraints and joints, here is the detailed step-by-step workflow for building a professional-quality robotics assembly. Follow these steps in order for every assembly you create.

1
Ground the Base Component

Insert your chassis, base frame, or primary structural member first. Ground it (fix it in space) so it becomes the immovable reference for the entire assembly. Align its origin with the assembly origin thoughtfully — the robot's center of rotation or center of footprint is ideal.

  • Position the base so the robot's "forward" direction aligns with a primary axis (typically +X or +Y).
  • Place the ground plane at the robot's contact surface with the floor if you plan to simulate in context.
  • Verify the grounded component shows a "fixed" icon in the assembly browser.
2
Insert Components & Sub-Assemblies

Bring in your parts one at a time (or as sub-assemblies). Start with the components that attach directly to the base, then work outward. This "inside-out" approach ensures each new part has existing geometry to constrain against.

  • Import standard components (motors, sensors, fasteners) from manufacturer libraries or McMaster-Carr to save modeling time.
  • Group related parts into sub-assemblies (e.g., "drivetrain," "arm," "intake") to manage complexity. A sub-assembly is itself an assembly that you insert as a single unit.
  • Name every component clearly. "Motor_Left_Drive" is far more useful than "Part17" when your assembly has 200 components.
3
Apply Joints & Constraints

For each inserted component, define how it connects to its neighbor. Choose the joint or constraint type that matches the real-world connection. Apply constraints immediately after inserting each part — do not insert ten parts and then try to constrain them all at once.

  • Match the joint to the real connection: revolute for hinges, prismatic for sliders, rigid for bolted/welded parts.
  • Set joint limits (angular stops, travel limits) to match physical reality. A servo that can only rotate 180° should have a 180° limit on its revolute joint.
  • Watch the DOF count in your assembly browser. Each part should show the correct remaining DOF for its intended motion.
  • If a joint fails to solve or parts jump to unexpected positions, undo and check that you selected the correct faces/points.
4
Test Motion

With joints applied, test that the assembly moves correctly. Most CAD software allows you to drag components interactively to see how joints behave. This is your first reality check.

  • Drag each moving part and verify it follows the expected path (rotation axis is correct, translation direction is correct).
  • Check that joint limits stop motion at the correct positions.
  • Look for parts that should move together but don't (missing rigid joints) or parts that should move independently but are locked (accidental over-constraint).
  • Verify that the entire kinematic chain works: moving one link should propagate motion through connected links correctly.
5
Check Interference

Run the CAD software's interference detection tool to find physical overlaps between parts. This catches collisions that are easy to miss visually, especially in dense assemblies. See the dedicated section below for details.

  • Check interference at multiple positions throughout the full range of motion, not just the home position.
  • Pay special attention to fastener heads, cable routing channels, and moving parts at extreme travel.
  • Resolve every interference before manufacturing. A collision in CAD is a collision in reality.
6
Create Exploded Views

Exploded views separate parts along their assembly directions to show how everything fits together. These are essential for assembly instructions, team communication, and presentations. Most CAD software can animate the explosion sequence.

  • Group explosion steps logically — explode sub-assemblies as units, then explode their internals.
  • Add trail lines (leader lines) to show the assembly direction for each part.
  • Export exploded views as images or animations for your design review documents and build guides.

Interference Detection

One of the most critical steps in assembly validation is checking for interference — physical overlap between parts that cannot exist in the real world. If two parts occupy the same space in your CAD model, they will collide when manufactured and assembled. Catching these issues in CAD is free; catching them after fabrication costs time, money, and missed deadlines.

Why Interference Detection Matters

Robotics assemblies are particularly prone to interference problems because they contain moving parts, tight packaging, and components from multiple designers. Common interference issues include:

  • Static interference: Two parts overlap in the home/default position. Often caused by incorrect dimensions, misaligned bolt holes, or components imported at the wrong scale.
  • Dynamic interference: Parts collide during motion — an arm swings into the chassis, a gear tooth clips an adjacent mechanism, a cable bundle catches on a rotating shaft. These are harder to find because they only occur at specific positions.
  • Fastener interference: Bolt heads, nuts, and washers that protrude into neighboring parts. Easy to miss because fasteners are often hidden or simplified in the model.
  • Clearance violations: Parts that technically don't overlap but are too close together — leaving no room for manufacturing tolerances, thermal expansion, or cable routing.
How to Run Interference Analysis
  • Step 1: Select the components to check. You can check the entire assembly or select specific pairs/groups of parts. For large assemblies, check sub-assemblies individually first, then check between sub-assemblies.
  • Step 2: Run the analysis. The software will compute all volumetric overlaps between selected components and report them as interference volumes with exact measurements.
  • Step 3: Review results. Each interference is typically highlighted in the 3D view with a colored volume showing exactly where the overlap occurs. The report lists the interfering part pair, overlap volume, and overlap depth.
  • Step 4: For moving assemblies, run interference analysis at multiple positions throughout the range of motion. Drive each joint to its minimum, maximum, and several intermediate positions, checking interference at each.
  • Step 5: Resolve every interference. Modify part geometry, adjust constraints, or reposition components until the analysis returns zero interferences at all positions.
Pro Tip: Set up a minimum clearance distance (e.g., 1 mm) in your interference analysis settings. This ensures parts aren't just barely non-overlapping but have enough physical gap for manufacturing tolerances, paint/coating thickness, and thermal expansion.

Motion Studies

Motion studies allow you to animate your assembly's joints over time and verify that the mechanism behaves as intended. While dragging parts interactively gives a quick check, a formal motion study lets you precisely control joint inputs, measure outputs, and detect problems that are invisible at a single position.

Animating Joints

A motion study defines how each joint's position changes over time. You can drive joints with:

  • Constant velocity: The joint moves at a fixed speed. Useful for continuous-rotation mechanisms like wheels, conveyors, and spindles.
  • Position keyframes: You define the joint's position at specific time points, and the software interpolates the motion between them. Useful for sequenced pick-and-place operations or multi-position mechanisms.
  • Input functions: Define joint motion as a mathematical function of time (sinusoidal, trapezoidal velocity profile, etc.). Useful for simulating realistic actuator behavior.
  • Driven joints: One joint's motion is defined as a function of another joint's position. This models gear trains, belt-and-pulley systems, and cam-follower mechanisms where one input drives multiple outputs.
Verifying Range of Motion

For every moving joint in your robot, you must verify that it can achieve its full intended range of motion without interference or unexpected behavior:

  • Sweep the full range: Drive each joint from its minimum to maximum limit and watch for collisions, binding, or unexpected part behavior.
  • Check compound motion: When multiple joints move simultaneously (as they will in the real robot), the combined motion can cause interferences that don't appear when testing joints individually. Test worst-case combinations.
  • Measure workspace: For robot arms, trace the end-effector's path through space to visualize the reachable workspace. Verify it covers the required task area.
  • Verify clearances at extremes: The minimum clearance between any two moving parts, across the entire range of motion, must exceed your manufacturing tolerance stack-up.
  • Export animations: Record motion study animations for design reviews, team communication, and sponsor/client presentations. A 10-second animation is worth more than ten pages of explanation.
Common Motion Study Checks for Robotics
  • Drivetrain: Spin all wheels simultaneously. Check that suspension travel doesn't cause wheel-to-frame interference. Verify steering geometry through full lock-to-lock rotation.
  • Manipulator arms: Move through the full pick-and-place cycle. Check that the arm can reach all required positions and that no links collide at any point in the trajectory.
  • Intake/scoring mechanisms: Cycle through the complete game-piece acquisition and scoring sequence. Verify timing and clearances at full speed.
  • Linkages: Animate four-bar and six-bar linkages through their full cycle. Watch for toggle positions, dead points, and unexpected path deviations.
Assembly Golden Rule: Always ground your chassis or base frame first. Build the assembly outward from the most constrained component. Start with the parts that have the fewest degrees of freedom and work toward the parts with the most. This approach minimizes solver errors, keeps the assembly stable as you build, and mirrors the way you would physically assemble the robot on a workbench.

Ball Bearing — inner race, outer race, balls, cage, and shields assembled with concentric and revolute constraints.

Robot Chassis — the grounded base component that anchors every assembly.

← Previous
Next →