# `BB.Error.Kinematics.Unreachable`
[🔗](https://github.com/beam-bots/bb/blob/main/lib/bb/error/kinematics/unreachable.ex#L5)

Target pose is outside the robot's workspace.

Raised when the inverse kinematics solver determines that the
target position cannot be reached by the robot.

# `t`

```elixir
@type t() :: %BB.Error.Kinematics.Unreachable{
  __exception__: true,
  bread_crumbs: term(),
  class: term(),
  iterations: non_neg_integer() | nil,
  path: term(),
  positions: map() | nil,
  reason: String.t() | nil,
  residual: float() | nil,
  splode: term(),
  stacktrace: term(),
  target_link: atom(),
  target_pose: term(),
  vars: term()
}
```

# `exception`

```elixir
@spec exception(opts :: Keyword.t()) :: %BB.Error.Kinematics.Unreachable{
  __exception__: true,
  bread_crumbs: term(),
  class: term(),
  iterations: term(),
  path: term(),
  positions: term(),
  reason: term(),
  residual: term(),
  splode: term(),
  stacktrace: term(),
  target_link: term(),
  target_pose: term(),
  vars: term()
}
```

Create an `Elixir.BB.Error.Kinematics.Unreachable` without raising it.

## Keys

- :target_link
- :target_pose
- :reason
- :iterations
- :residual
- :positions

---

*Consult [api-reference.md](api-reference.md) for complete listing*
