Search documentation of bb

# BB.ExampleRobots.PanTiltCamera (bb v0.8.0)

View Source

A simple pan-tilt camera mount.

Structure:

- base_link
  - pan_joint (revolute, Z-axis)
    - pan_link
      - tilt_joint (revolute, Y-axis)
        - camera_link

# Summary

## Functions

child_spec(opts \\ [])

Returns a child specification for starting this robot under a supervisor.

robot()

Returns the optimised robot representation.

start_link(opts \\ [])

Starts the robot's supervision tree.

# Functions

# child_spec(opts \\ [])

    @spec child_spec(Keyword.t()) :: Supervisor.child_spec()

Returns a child specification for starting this robot under a supervisor.

# robot()

    @spec robot() :: BB.Robot.t()

Returns the optimised robot representation.

This struct is built at compile-time from the DSL definition and contains:

- All physical values converted to SI base units (floats)
- Flat maps for O(1) lookup of links, joints, sensors, and actuators
- Pre-computed topology metadata for efficient traversal

## Examples

    robot = Elixir.BB.ExampleRobots.PanTiltCamera.robot()
    link = BB.Robot.get_link(robot, :base_link)
    joint = BB.Robot.get_joint(robot, :shoulder)

# start_link(opts \\ [])

    @spec start_link(Keyword.t()) :: Supervisor.on_start()

Starts the robot's supervision tree.

## Options

All options are passed through to sensor and actuator child processes.