Overview

The neck assembly provides head articulation for the Salvius robot, enabling camera tracking, natural head movements, and directional audio. The design balances complexity with functionality, offering options from simple single-axis rotation to advanced multi-axis movement using Stewart platform kinematics.

Movement Requirements

Primary Function: Rotation (Yaw)

  • Minimum Range: 180° total (±90° from center)
  • Recommended Range: 270° total (±135° from center)
  • Speed: 45-90° per second
  • Precision: ±2° positioning accuracy
  • Load Capacity: Support 2-3 kg head assembly

Secondary Functions (Advanced)

  • Tilt (Pitch): ±45° forward/backward nod
  • Pan (Roll): ±30° side-to-side tilt
  • Combined Motion: Smooth transitions between orientations
Note: A single-axis (rotation only) neck is sufficient for most applications and significantly simpler to build. Multi-axis capability adds complexity but enables more expressive, life-like movements.

Design Option 1: Simple Rotation

Direct Drive Configuration

The simplest and most reliable neck design uses a single servo for yaw rotation:

Components

  • Servo Motor: High-torque servo, 25-35 kg-cm minimum (MG996R or similar)
  • Mounting Plate: 6-10mm plywood or aluminum plate
  • Base Bracket: Attaches servo to torso
  • Head Mount: Connects servo horn to head assembly
  • Bearing (Optional): Large lazy Susan bearing for lateral support
  • Slip Ring (Optional): Allows unlimited rotation without cable tangling

Construction

  1. Mount servo vertically on top of torso with shaft pointing up
  2. Attach large servo horn or mounting disc to output shaft
  3. If using bearing, mount bearing around servo with outer race on torso
  4. Create head mounting plate that attaches to servo horn/bearing
  5. Route cables through center of rotation or use slip ring
  6. Attach head assembly to mounting plate

Advantages

  • Simple construction with minimal parts
  • Reliable operation, few failure points
  • Easy to debug and maintain
  • Low cost (single servo plus mounting)
  • Direct control with standard servo library

Limitations

  • Single axis of motion only
  • Cable management challenges at extreme rotations
  • No nodding or tilting capability

Cable Management for Rotating Neck

Method 1: Service Loop

  • Provide extra cable length in a loop below neck
  • Loop allows ±180° rotation before cables bind
  • Simple but limits continuous rotation
  • Requires periodic "unwinding" to center position

Method 2: Slip Ring

  • Electrical rotating connector allows unlimited rotation
  • 6-12 conductor slip rings available from hobby suppliers
  • Routes power and signals through rotating joint
  • More expensive (~$15-30) but enables full 360° rotation
  • Small signal degradation, not suitable for high-speed data

Design Option 2: Stewart Platform

For multi-axis head movement, a Stewart platform provides 6 degrees of freedom using six prismatic actuators. This advanced design allows for pitch, roll, yaw, and XYZ positioning.

Humanoid robot neck joint showing Stewart platform configuration

Stewart Platform Overview

A Stewart platform incorporates six prismatic actuators mounted in pairs to the base, crossing over to three mounting points on a top plate. This configuration enables movement in all six degrees of freedom:

  • Linear Movement: X (lateral), Y (longitudinal), Z (vertical)
  • Rotational Movement: Pitch (nodding), Roll (tilting), Yaw (turning)
Complexity Warning: Stewart platforms require sophisticated inverse kinematics calculations and precise actuator control. This design is recommended only for advanced builders comfortable with trigonometry and programming.

Components for Stewart Platform

  • Linear Actuators: 6x servos with rack-and-pinion or screw drive (5-10 cm stroke)
  • Universal Joints: 12x ball joints or universal joints (2 per actuator)
  • Base Plate: Rigid mounting surface (aluminum or thick plywood)
  • Top Plate: Head mounting platform
  • Actuator Arms: Connecting rods between base and top plate
  • Controller: Arduino or Raspberry Pi running inverse kinematics

Kinematics Considerations

Inverse Kinematics

Converting desired head orientation (pitch, roll, yaw) to individual actuator lengths requires:

  • 3D transformation matrices
  • Iterative solving algorithms
  • Real-time calculation capability
  • Collision detection to prevent self-interference

Calibration Requirements

  • Precise measurement of mounting point positions
  • Actuator length calibration at neutral position
  • Software limits to prevent mechanical binding
  • Testing of full range of motion envelope

Stewart Platform Advantages

  • Full 6-DOF movement capability
  • Very expressive, life-like head movements
  • Can compensate for body tilt (self-leveling)
  • Interesting engineering challenge
  • Impressive demonstration of robotic capability

Stewart Platform Challenges

  • Complex mathematics for inverse kinematics
  • Requires 6 synchronized actuators
  • Higher cost (6 servos vs. 1-2)
  • More failure points
  • Difficult to debug mechanical issues
  • Requires custom control software

Design Option 3: Two-Axis Neck

A compromise between simple rotation and full Stewart platform complexity:

Configuration

  • Base Servo: Yaw rotation (left/right)
  • Tilt Servo(s): Pitch movement (nod up/down)
  • Total Servos: 2 servos for 2 degrees of freedom, or 3 if using 2 tilt servos for increased range of motion

Construction Approach

  1. Mount yaw servo vertically on torso (same as simple rotation)
  2. Attach pitch servo to top of yaw servo output
  3. Mount pitch servo perpendicular to yaw axis
  4. Attach head to pitch servo output
  5. Balance head weight on pitch servo to reduce torque

Advantages Over Simple Rotation

  • Adds nodding capability (more expressive)
  • Still relatively simple construction
  • Standard servo control, no complex kinematics
  • Moderate cost increase (one additional servo)

Considerations

  • Pitch servo must support full head weight cantilevered
  • Use counterweight or spring assist on pitch axis
  • Cable routing more complex with two axes
  • Total neck height increases with stacked servos

Servo Selection Guidelines

Torque Requirements

Calculate required servo torque based on head weight and lever arm:

  • Minimum Torque: Head weight (kg) × Lever arm (cm) × 1.5 safety factor
  • Example: 2.5 kg head × 5 cm offset × 1.5 = 18.75 kg-cm minimum
  • Recommended: 25-35 kg-cm for reliable operation with margin

Servo Speed

  • Standard Speed: 0.15-0.20 sec/60° (typical for MG996R class)
  • Fast Movement: 0.10-0.14 sec/60° (higher voltage or specialized servos)
  • Trade-off: Faster servos often have lower torque or higher cost

Servo Model Evaluations

Model Torque Speed Cost Notes
MG996R 11 kg-cm @ 6V 0.17 sec/60° $ Budget option, marginal for heavy heads
MG995 13 kg-cm @ 6V 0.19 sec/60° $ Similar to MG996R, slightly higher torque
DS3218 20 kg-cm @ 6V 0.16 sec/60° $$ Good balance of torque and speed
Hitec HS-805BB 24 kg-cm @ 6V 0.14 sec/60° $$$ High quality, very reliable
Dynamixel MX-28 24 kg-cm @ 12V 0.126 sec/60° $$$$ Smart servo with position feedback

Mechanical Design Details

Mounting Considerations

  • Servo Orientation: Output shaft vertical for yaw rotation
  • Centering: Align servo shaft with desired rotation center
  • Vibration Isolation: Rubber grommets reduce gear noise transmission
  • Accessibility: Allow servo removal without major disassembly

Load Support

Without Bearing

  • Servo shaft supports head weight and lateral forces
  • Works for lighter heads (under 2 kg)
  • May cause premature servo wear
  • Risk of shaft bending under side loads

With Bearing Support

  • Large bearing (40-60mm diameter) surrounds servo
  • Bearing handles lateral loads, servo only provides rotation torque
  • Dramatically extends servo life
  • Recommended for heads over 2 kg
  • Lazy Susan bearing or large ball bearing

Safety Stops

  • Software Limits: Prevent servo commands beyond safe range
  • Mechanical Stops: Physical barriers at rotation limits
  • Cable Protection: Limit rotation to prevent cable damage
  • Emergency Stop: Kill switch accessible during testing

Electrical Integration

Power Requirements

  • Voltage: 6V nominal (4.8-7.4V acceptable for most servos)
  • Current: Peak 2-3A per servo during movement
  • Continuous: 0.5-1A when holding position
  • Recommendation: Dedicated 6V power supply with 5A+ capacity

Control Signals

  • PWM Signal: 50Hz, 1-2ms pulse width
  • Source: Arduino, Raspberry Pi, or servo controller board
  • Wiring: Keep signal wires short and away from motor power lines
  • Decoupling: Large capacitor (1000μF+) near servo power input

Sensor Integration (Optional)

  • IMU: Detect head orientation for self-leveling
  • Encoders: Precise position feedback
  • Current Sensing: Detect collisions or binding
  • Limit Switches: Hardware end stops for safety

Testing and Calibration

Initial Testing (No Head Attached)

  1. Verify servo moves smoothly through full range
  2. Check for binding or unusual sounds
  3. Test at low power first, gradually increase
  4. Verify center position aligns with mechanical center
  5. Map PWM values to actual angles

Load Testing (Head Attached)

  1. Start with servo at neutral, slowly power on
  2. Test small movements first (±10°)
  3. Gradually increase range and speed
  4. Monitor servo temperature during continuous operation
  5. Check for vibration or oscillation
  6. Verify cables don't snag during full rotation

Calibration

  • Record PWM values at key positions (0°, 90°, 180°, etc.)
  • Create lookup table or interpolation function
  • Account for mechanical slop and backlash
  • Test repeatability: return to same position multiple times
  • Document final calibration values for future reference

Maintenance

Regular Checks

  • Weekly: Listen for unusual sounds, verify smooth operation
  • Monthly: Check fastener tightness, inspect cables for wear
  • Quarterly: Lubricate moving parts (bearing, slip ring if used)
  • Annually: Complete inspection, replace worn components
Note: Alternatively schedule maintenance based on operational hours (e.g., every 100 hours of operation) for robots in continuous use.

Common Issues

  • Jittering: Insufficient power, loose connection, or servo failure
  • Slow Response: Low voltage, overloaded servo, or binding mechanism
  • Position Drift: Mechanical slop, servo wear, or control signal noise
  • Clicking Sounds: Stripped gears, binding, or overload condition
Recommendation: Start with a simple single-axis rotation design. It provides 80% of the functionality with 20% of the complexity. Multi-axis capability can be added later if needed, but many applications work perfectly well with rotation alone.