bapsf_motion.motion_builder
The motion builder (i.e. MotionBuilder) has three fundamental
roles for in the framework for probe drive motion:
It defines the physical motion space at probe drive will move in. This includes any excluded regions where a probe drive is not allowed to be, for example a region where a target was position in the LaPD chamber.
Building and generating the motion list that would be used for a data run.
Generating motion trajectories to avoid obstacles in the motion space.
Note, the motion builder does not move the probe drive, it only defines and calculates where a probe drive is allowed to be in the motion space.
The MotionBuilder class hase four fundamental building blocks:
The motion space which defines the \(N\)-D space the probe is supposed to move in. For example, this would be the physical space of the LaPD.
The
mask, which is a high resolution boolean array over the motion space indicating where a probe is allowed or not allowed to move to.The motion layers (sometimes also referred to as point layers), which defines an array of points where the probe ought to move to during a data run. A single motion layer can be defined or multiple layers can be defined to construct more complex point layers. The available layers are summarized below.
The motion exclusions (sometimes also referred to as exclusion layers), which defines regions in the motion space where a probe can not be moved to. A single exclusion layer can be defined or multiple layers can be defined to construct more complex exclusion layers. The available exclusions are summarized below.
The MotionBuilder manages all these fundamental building blocks within
a xarray DataSet. The final motion list is
generated by MotionBuilder by combining all the fundamental building
blocks.
About Point Layers
Note
Discuss the mechanics of a motion layer class. How it creates the DataArray. What the DataArray looks like. How it interacts with the motion list DataSet.
Available Layers
|
Class for defining a regularly spaced grid. |
|
Class for defining a regularly spaced grid. |
|
Class for defining a regularly spaced grid. |
Creating a New Layer Type
About Exclusion Layers
Note
Discuss the mechanics of an exclusion layer class. How it creates the DataArray. What the DataArray looks like. How it interacts with the motion list DataSet.
Available Exclusions
|
Class for defining circular exclusion layers in a 2D motion space. |
|
Class for defining a divider exclusion layer in a 2D motion space. |
|
Class for defining the :term`LaPD` exclusion layer in a XY motion space. |
|
Class for defining an exclusion layer that shadows existing exclusion layers in the motion builder. |
Creating a New Exclusion Type
API
Module containing functionality for creating and reading motion lists.
Sub-Packages & Modules
Module containing the definition of |
|
Module that contains all the functionality focused around motion exclusions. |
|
Module containing the definition of |
|
Module that contains all the functionality focused around motion layers |
Classes
|
A base class for any motion builder class that will interact with the |
|
A class that manages all the functionality around probe drive motion in the motion space. |
