|  | OpTaS
    1.0.7
    An optimization-based task specification library for trajectory optimization and model predictive control. | 
A class that defines a robot model. More...


| Public Member Functions | |
| def | __init__ (self, Union[None, str] urdf_filename=None, Union[None, str] urdf_string=None, Union[None, str] xacro_filename=None, Union[None, str] name=None, List[int] time_derivs=[0], Union[None, ArrayType] qddlim=None, Union[None, int] T=None, List[str] param_joints=[]) | 
| Initializer for the robot model class.  More... | |
| def | get_urdf (self) | 
| def | get_urdf_dirname (self) | 
| List[str] | joint_names (self) | 
| Property that gives the list of joint names.  More... | |
| List[str] | link_names (self) | 
| Property that gives the list of link names.  More... | |
| List[str] | actuated_joint_names (self) | 
| Property that gives the names of the actuated joints.  More... | |
| List[str] | parameter_joint_names (self) | 
| Property that gives the names of the parameterized joints.  More... | |
| List[int] | optimized_joint_indexes (self) | 
| Property that gives the indexes of the optimized joints.  More... | |
| List[str] | optimized_joint_names (self) | 
| Property that gives the names of the optimized joints names.  More... | |
| List[int] | parameter_joint_indexes (self) | 
| Property that gives the indexes of the parameterized joints.  More... | |
| ArrayType | extract_parameter_dimensions (self, ArrayType values) | 
| Return the elements that correspond to the model dimensions.  More... | |
| ArrayType | extract_optimized_dimensions (self, ArrayType values) | 
| Return the elements that correspond to the model optimized dimensions.  More... | |
| int | ndof (self) | 
| Number of degrees of freedom.  More... | |
| int | num_opt_joints (self) | 
| Number of optimized joints.  More... | |
| int | num_param_joints (self) | 
| Number of parameterized joints.  More... | |
| float | get_joint_lower_limit (self, Joint joint) | 
| Return the lower limit for a given joint.  More... | |
| float | get_joint_upper_limit (self, Joint joint) | 
| Return the upper limit for a given joint.  More... | |
| float | get_velocity_joint_limit (self, Joint joint) | 
| Return the velocity limit for a given joint.  More... | |
| cs.DM | lower_actuated_joint_limits (self) | 
| Property that defines the lower actuated joint limits.  More... | |
| cs.DM | upper_actuated_joint_limits (self) | 
| Property that defines the upper actuated joint limits.  More... | |
| cs.DM | velocity_actuated_joint_limits (self) | 
| Property that defines the velocity actuated joint limits.  More... | |
| cs.DM | lower_optimized_joint_limits (self) | 
| Property that defines the lower optimized joint limits.  More... | |
| cs.DM | upper_optimized_joint_limits (self) | 
| Property that defines the upper optimized joint limits.  More... | |
| cs.DM | velocity_optimized_joint_limits (self) | 
| Property that defines the velocity limits for the optimized joints.  More... | |
| None | add_base_frame (self, str base_link, Union[None, List[float]] xyz=None, Union[None, List[float]] rpy=None, str joint_name=None) | 
| Add new base frame, note this changes the root link.  More... | |
| str | get_root_link (self) | 
| The root link name.  More... | |
| Tuple[cs.DM] | get_link_visual_origin (self, Link link) | 
| Get the link position and orientation for the link visual.  More... | |
| Tuple[cs.DM] | get_joint_origin (self, Joint joint) | 
| Get the origin for the joint.  More... | |
| cs.DM | get_joint_axis (self, Joint joint) | 
| Get the axis of a joint.  More... | |
| int | get_actuated_joint_index (self, str joint_name) | 
| Get the joint index for a given joint name.  More... | |
| cs.DM | get_random_joint_positions (self, int n=1, Union[None, Tuple[ArrayType]] xlim=None, Union[None, Tuple[ArrayType]] ylim=None, Union[None, Tuple[ArrayType]] zlim=None, Union[None, str] base_link=None) | 
| Random joint positions within actuator limits and optionally within a box for a given base link.  More... | |
| cs.DM | get_random_pose_in_global_link (self, str link_name) | 
| def | make_function (self, str label, str link, Callable method, int n=1, Union[None, str] base_link=None, Union[None, cs.DM] axis=None, numpy_output=False) | 
| Automate function generation.  More... | |
| CasADiArrayType | get_global_link_transform (self, str link, ArrayType q) | 
| Get the link transform in the global frame for a given joint state q.  More... | |
| cs.Function | get_global_link_transform_function (self, str link, int n=1, bool numpy_output=False) | 
| Get the function which computes the link transform in the global frame.  More... | |
| CasADiArrayType | get_link_transform (self, str link, ArrayType q, str base_link) | 
| Get the link transform in a given base frame.  More... | |
| CasADiArrayType | get_link_transform_function (self, str link, str base_link, int n=1, bool numpy_output=False) | 
| Get the function that computes the transform in a given base frame.  More... | |
| CasADiArrayType | get_global_link_position (self, str link, ArrayType q) | 
| Get the link position in the global frame for a given joint state q.  More... | |
| cs.Function | get_global_link_position_function (self, str link, int n=1, bool numpy_output=False) | 
| Get the function that computes the global position of a given link.  More... | |
| CasADiArrayType | get_link_position (self, str link, ArrayType q, str base_link) | 
| Get the link position in a given base frame.  More... | |
| cs.Function | get_link_position_function (self, str link, str base_link, int n=1, bool numpy_output=False) | 
| Get the function that computes the position of a link in a given base frame.  More... | |
| CasADiArrayType | get_global_link_rotation (self, str link, ArrayType q) | 
| Get the link rotation in the global frame for a given joint state q.  More... | |
| cs.Function | get_global_link_rotation_function (self, str link, int n=1, bool numpy_output=False) | 
| Get the function that computes a rotation matrix in the global link.  More... | |
| CasADiArrayType | get_link_rotation (self, str link, ArrayType q, str base_link) | 
| Get the rotation matrix for a link in a given base frame.  More... | |
| cs.Function | get_link_rotation_function (self, str link, str base_link, int n=1, bool numpy_output=False) | 
| Get the function that computes the rotation matrix for a link in a given base frame.  More... | |
| CasADiArrayType | get_global_link_quaternion (self, str link, ArrayType q) | 
| Get a quaternion in the global frame.  More... | |
| cs.Function | get_global_link_quaternion_function (self, str link, int n=1, bool numpy_output=False) | 
| Get the function that computes a quaternion in the global frame.  More... | |
| CasADiArrayType | get_link_quaternion (self, str link, ArrayType q, str base_link) | 
| Get the quaternion defined in a given base frame.  More... | |
| cs.Function | get_link_quaternion_function (self, str link, str base_link, int n=1, bool numpy_output=False) | 
| Get the function that computes a quaternion defined in a given base frame.  More... | |
| CasADiArrayType | get_global_link_rpy (self, str link, ArrayType q) | 
| Get the Roll-Pitch-Yaw angles in the global frame.  More... | |
| def | get_global_link_rpy_function (self, str link, int n=1, bool numpy_output=False) | 
| Get the function that computes the Roll-Pitch-Yaw angles in the global frame.  More... | |
| CasADiArrayType | get_link_rpy (self, str link, ArrayType q, str base_link) | 
| Get the the Roll-Pitch-Yaw angles defined in a given base frame.  More... | |
| cs.Function | get_link_rpy_function (self, str link, str base_link, int n=1, bool numpy_output=False) | 
| Get the function that computes the Roll-Pitch-Yaw angles defined in a given base frame.  More... | |
| CasADiArrayType | get_global_link_geometric_jacobian (self, str link, ArrayType q) | 
| Compute the geometric Jacobian matrix in the global frame.  More... | |
| cs.Function | get_global_link_geometric_jacobian_function (self, str link, int n=1, bool numpy_output=False) | 
| Get the function that computes the geometric jacobian in the global frame.  More... | |
| CasADiArrayType | get_global_link_analytical_jacobian (self, str link, ArrayType q) | 
| Compute the analytical Jacobian matrix in the global frame.  More... | |
| cs.Function | get_global_link_analytical_jacobian_function (self, str link, int n=1, bool numpy_output=False) | 
| Get the function that computes the analytical jacobian in the global frame.  More... | |
| CasADiArrayType | get_link_geometric_jacobian (self, str link, ArrayType q, str base_link) | 
| Get the geometric jacobian in a given base link.  More... | |
| cs.Function | get_link_geometric_jacobian_function (self, str link, str base_link, int n=1, bool numpy_output=False) | 
| CasADiArrayType | get_link_analytical_jacobian (self, str link, ArrayType q, str base_link) | 
| Compute the analytical Jacobian matrix in a given base link.  More... | |
| cs.Function | get_link_analytical_jacobian_function (self, str link, str base_link, int n=1, bool numpy_output=False) | 
| Get the function that computes the analytical jacobian in a given base frame.  More... | |
| CasADiArrayType | get_global_link_linear_jacobian (self, str link, ArrayType q) | 
| Compute the linear part of the geometric jacobian in the global frame.  More... | |
| cs.Function | get_global_link_linear_jacobian_function (self, str link, int n=1, bool numpy_output=False) | 
| Get the function that computes the linear part of the geometric jacobian in the global frame.  More... | |
| CasADiArrayType | get_link_linear_jacobian (self, str link, ArrayType q, str base_link) | 
| Get the linear part of the geometric jacobian in a given base frame.  More... | |
| cs.Function | get_link_linear_jacobian_function (self, str link, str base_link, int n=1, bool numpy_output=False) | 
| Get the function that computes the linear part of the geometric jacobian in a given base frame.  More... | |
| CasADiArrayType | get_global_link_angular_geometric_jacobian (self, str link, ArrayType q) | 
| Compute the angular part of the geometric jacobian in the global frame.  More... | |
| cs.Function | get_global_link_angular_geometric_jacobian_function (self, str link, int n=1, bool numpy_output=False) | 
| Get the function that computes the angular part of the geometric jacobian in the global frame.  More... | |
| CasADiArrayType | get_global_link_angular_analytical_jacobian (self, str link, ArrayType q) | 
| Compute the angular part of the analytical Jacobian matrix in the global frame.  More... | |
| cs.Function | get_global_link_angular_analytical_jacobian_function (self, str link, int n=1, bool numpy_output=False) | 
| Get the function that computes the angular part of the analytical jacobian in the global frame.  More... | |
| CasADiArrayType | get_link_angular_geometric_jacobian (self, str link, ArrayType q, str base_link) | 
| Get the angular part of the geometric jacobian in a given base frame.  More... | |
| cs.Function | get_link_angular_geometric_jacobian_function (self, str link, str base_link, int n=1, bool numpy_output=False) | 
| Get the function that computes the angular part of the geometric jacobian in a given base frame.  More... | |
| CasADiArrayType | get_link_angular_analytical_jacobian (self, str link, ArrayType q, str base_link) | 
| Compute the angular part of the analytical Jacobian matrix in a given base frame.  More... | |
| cs.Function | get_link_angular_analytical_jacobian_function (self, str link, str base_link, int n=1, bool numpy_output=False) | 
| Get the function that computes the angular part of the analytical jacobian in a given base frame.  More... | |
| CasADiArrayType | get_link_axis (self, str link, ArrayType q, Union[str, ArrayType] axis, str base_link) | 
| Compute the link axis, this is a direction vector defined in the end-effector frame (e.g.  More... | |
| cs.Function | get_link_axis_function (self, str link, Union[str, ArrayType] axis, str base_link, int n=1, bool numpy_output=False) | 
| Get function for computing the link axis.  More... | |
| CasADiArrayType | get_global_link_axis (self, str link, ArrayType q, Union[str, ArrayType] axis) | 
| Compute the link axis, this is a direction vector defined in the end-effector frame (e.g.  More... | |
| cs.Function | get_global_link_axis_function (self, str link, Union[str, ArrayType] axis, int n=1, bool numpy_output=False) | 
| Get function for computing the link axis in the global frame.  More... | |
| ArrayType | rnea (self, ArrayType q, ArrayType qd, ArrayType qdd) | 
| Compute inverse dynamics with RNEA.  More... | |
|  Public Member Functions inherited from optas.models.Model | |
| def | __init__ (self, str name, int dim, List[int] time_derivs, str symbol, Dict[int, Tuple[List[float]]] dlim, Union[None, int] T) | 
| The Model base class initializer.  More... | |
| str | get_name (self) | 
| Return the name of the model.  More... | |
| str | state_name (self, int time_deriv) | 
| Return the state name.  More... | |
| str | state_parameter_name (self, int time_deriv) | 
| Return the parameter name.  More... | |
| str | state_optimized_name (self, int time_deriv) | 
| Return the sate optimized name.  More... | |
| Tuple[ArrayType] | get_limits (self, int time_deriv) | 
| Return the model limits.  More... | |
| cs.DM | in_limit (self, ArrayType x, int time_deriv) | 
| Check if array is within model limits.  More... | |
| Public Attributes | |
| xacro_filename | |
| Filename for xacro file.  More... | |
| urdf | |
| URDF instance.  More... | |
| urdf_filename | |
| Filename for URDF file.  More... | |
| urdf_string | |
| URDF string.  More... | |
| param_joints | |
| List of parameterized joints.  More... | |
| F | |
| n | |
| call | |
|  Public Attributes inherited from optas.models.Model | |
| name | |
| The name of the model.  More... | |
| dim | |
| Model dimension.  More... | |
| time_derivs | |
| Time derivatives required for the model.  More... | |
| symbol | |
| A short symbol to represent the model.  More... | |
| dlim | |
| Model limits.  More... | |
| T | |
| Number of time steps.  More... | |
A class that defines a robot model.
Many methods here model the robot kinematics.
| def optas.models.RobotModel.__init__ | ( | self, | |
| Union[None, str] | urdf_filename = None, | ||
| Union[None, str] | urdf_string = None, | ||
| Union[None, str] | xacro_filename = None, | ||
| Union[None, str] | name = None, | ||
| List[int] | time_derivs = [0], | ||
| Union[None, ArrayType] | qddlim = None, | ||
| Union[None, int] | T = None, | ||
| List[str] | param_joints = [] | ||
| ) | 
Initializer for the robot model class.
Note, at least one of the parameters urdf_filename, urdf_string, or xacro_filename must be specified. @param urdf_filename Filename for a URDF. @param urdf_string URDF as a string. @param xacro_filename Filename for a xacro file. @param name Name of the robot model. @param time_derivs Time derivatives required for model, 0 means not time derivative, 1 means first derivative wrt to time is required, etc. @param qddlim Optionally specify limits on the joint acceleration. @param T Optionally use this to override the number of time-steps given in the OptimizationBuilder constructor. @param param_joints A list of joints that are considered parameters.
| List[str] optas.models.RobotModel.actuated_joint_names | ( | self | ) | 
Property that gives the names of the actuated joints.
@return List of actuated joint names.
| None optas.models.RobotModel.add_base_frame | ( | self, | |
| str | base_link, | ||
| Union[None, List[float]] | xyz = None, | ||
| Union[None, List[float]] | rpy = None, | ||
| str | joint_name = None | ||
| ) | 
Add new base frame, note this changes the root link.
   @param base_link The name for the new root link.
   @param xyz The position of the new link with respect to the current root link. Defaults to [0.0, 0.0, 0.0].
   @param rpy The orientation as Euler (RPY) angles, defined in radians, with respect to the current root link. Defaults to [0.0, 0.0, 0.0].
   @param joint_name The name for the joint that connects the current root link with the new base frame. Defaults to "{base_link}_and_{current_root_link}_joint".
 
| ArrayType optas.models.RobotModel.extract_optimized_dimensions | ( | self, | |
| ArrayType | values | ||
| ) | 
Return the elements that correspond to the model optimized dimensions.
@param values The values to extract elements from. @return A sub-array of the given values corresponding to the model optimized dimensions.
| ArrayType optas.models.RobotModel.extract_parameter_dimensions | ( | self, | |
| ArrayType | values | ||
| ) | 
Return the elements that correspond to the model dimensions.
@param values The values to extract elements from. @return A sub-array of the given values corresponding to the model parameterized dimension.
| int optas.models.RobotModel.get_actuated_joint_index | ( | self, | |
| str | joint_name | ||
| ) | 
Get the joint index for a given joint name.
@param The name of the joint. @return Index for the joint.
| CasADiArrayType optas.models.RobotModel.get_global_link_analytical_jacobian | ( | self, | |
| str | link, | ||
| ArrayType | q | ||
| ) | 
Compute the analytical Jacobian matrix in the global frame.
@param link Name of the end-effector link. @param q Joint position array. @return Analytic Jacobian.
| cs.Function optas.models.RobotModel.get_global_link_analytical_jacobian_function | ( | self, | |
| str | link, | ||
| int | n = 1, | ||
| bool | numpy_output = False | ||
| ) | 
Get the function that computes the analytical jacobian in the global frame.
@param link Name of the end-effector link. @param n Number of joint states to expect when the function is called. Default is 1. @param numpy_output When true, the output will be a NumPy array. @return A CasADi function that computes the analytic jacobian for a given joint state. If n > 1 then a list of arrays are computed whose corresponding to the respective joint state in the input.
| CasADiArrayType optas.models.RobotModel.get_global_link_angular_analytical_jacobian | ( | self, | |
| str | link, | ||
| ArrayType | q | ||
| ) | 
Compute the angular part of the analytical Jacobian matrix in the global frame.
@param link Name of the end-effector link. @param q Joint position array. @return Angular part of the analytical Jacobian.
| cs.Function optas.models.RobotModel.get_global_link_angular_analytical_jacobian_function | ( | self, | |
| str | link, | ||
| int | n = 1, | ||
| bool | numpy_output = False | ||
| ) | 
Get the function that computes the angular part of the analytical jacobian in the global frame.
@param link Name of the end-effector link. @param n Number of joint states to expect when the function is called. Default is 1. @param numpy_output When true, the output will be a NumPy array. @return A CasADi function that computes the angular part of the geometric Jacobian for a given joint state. If n > 1 then a list of arrays are computed whose corresponding to the respective joint state in the input.
| CasADiArrayType optas.models.RobotModel.get_global_link_angular_geometric_jacobian | ( | self, | |
| str | link, | ||
| ArrayType | q | ||
| ) | 
Compute the angular part of the geometric jacobian in the global frame.
@param link Name of the end-effector link. @param q Joint position array. @param base_link Name of the base frame link. @return Angular part of the geometric Jacobian.
| cs.Function optas.models.RobotModel.get_global_link_angular_geometric_jacobian_function | ( | self, | |
| str | link, | ||
| int | n = 1, | ||
| bool | numpy_output = False | ||
| ) | 
Get the function that computes the angular part of the geometric jacobian in the global frame.
@param link Name of the end-effector link. @param n Number of joint states to expect when the function is called. Default is 1. @param numpy_output When true, the output will be a NumPy array. @return A CasADi function that computes the angular part of the geometric Jacobian for a given joint state. If n > 1 then a list of arrays are computed whose corresponding to the respective joint state in the input.
| CasADiArrayType optas.models.RobotModel.get_global_link_axis | ( | self, | |
| str | link, | ||
| ArrayType | q, | ||
| Union[str, ArrayType] | axis | ||
| ) | 
Compute the link axis, this is a direction vector defined in the end-effector frame (e.g.
the x/y/z link axis) in the global frame.
@param link Name of the end-effector link. @param q Joint position array. @param axis The axis (direction vector) defined in the end-effector frame. If 'x', 'y', 'z' is passed then the corresponding sub-array of the homogenous transform is used. @return Axis defined in the end-effector frame as function of the joint angles.
| cs.Function optas.models.RobotModel.get_global_link_axis_function | ( | self, | |
| str | link, | ||
| Union[str, ArrayType] | axis, | ||
| int | n = 1, | ||
| bool | numpy_output = False | ||
| ) | 
Get function for computing the link axis in the global frame.
@param link Name of the end-effector link. @param axis The axis (direction vector) defined in the end-effector frame. If 'x', 'y', 'z' is passed then the corresponding sub-array of the homogenous transform is used. @param numpy_output When true, the output will be a NumPy array. @return A CasADi function that computes the link axis for a given joint state. If n > 1 then an array is computed whose columns correspond to the respective joint state in the input.
| CasADiArrayType optas.models.RobotModel.get_global_link_geometric_jacobian | ( | self, | |
| str | link, | ||
| ArrayType | q | ||
| ) | 
Compute the geometric Jacobian matrix in the global frame.
@param link Name of the end-effector link. @param q Joint position array. @return Geometric Jacobian.
| cs.Function optas.models.RobotModel.get_global_link_geometric_jacobian_function | ( | self, | |
| str | link, | ||
| int | n = 1, | ||
| bool | numpy_output = False | ||
| ) | 
Get the function that computes the geometric jacobian in the global frame.
@param link Name of the end-effector link. @param n Number of joint states to expect when the function is called. Default is 1. @param numpy_output When true, the output will be a NumPy array. @return A CasADi function that computes the geometric jacobian for a given joint state. If n > 1 then a list of arrays are computed whose corresponding to the respective joint state in the input.
| CasADiArrayType optas.models.RobotModel.get_global_link_linear_jacobian | ( | self, | |
| str | link, | ||
| ArrayType | q | ||
| ) | 
Compute the linear part of the geometric jacobian in the global frame.
@param link Name of the end-effector link. @param q Joint position array. @return Linear part of the Jacobian.
| cs.Function optas.models.RobotModel.get_global_link_linear_jacobian_function | ( | self, | |
| str | link, | ||
| int | n = 1, | ||
| bool | numpy_output = False | ||
| ) | 
Get the function that computes the linear part of the geometric jacobian in the global frame.
@param link Name of the end-effector link. @param n Number of joint states to expect when the function is called. Default is 1. @param numpy_output When true, the output will be a NumPy array. @return A CasADi function that computes the linear part of the Jacobian for a given joint state. If n > 1 then a list of arrays are computed whose corresponding to the respective joint state in the input.
| CasADiArrayType optas.models.RobotModel.get_global_link_position | ( | self, | |
| str | link, | ||
| ArrayType | q | ||
| ) | 
Get the link position in the global frame for a given joint state q.
@param link Name of the end-effector link. @param q Joint position array. @return Position array.
| cs.Function optas.models.RobotModel.get_global_link_position_function | ( | self, | |
| str | link, | ||
| int | n = 1, | ||
| bool | numpy_output = False | ||
| ) | 
Get the function that computes the global position of a given link.
@param link Name of the end-effector link. @param n Number of joint states to expect when the function is called. Default is 1. @param numpy_output When true, the output will be a NumPy array. @return A CasADi function that computes the position for a given joint state. If n > 1 then an array is computed whose columns each correspond to the respective joint state in the input.
| CasADiArrayType optas.models.RobotModel.get_global_link_quaternion | ( | self, | |
| str | link, | ||
| ArrayType | q | ||
| ) | 
Get a quaternion in the global frame.
@param link Name of the end-effector link. @param q Joint position array. @return Quaternion array.
| cs.Function optas.models.RobotModel.get_global_link_quaternion_function | ( | self, | |
| str | link, | ||
| int | n = 1, | ||
| bool | numpy_output = False | ||
| ) | 
Get the function that computes a quaternion in the global frame.
@param link Name of the end-effector link. @param n Number of joint states to expect when the function is called. Default is 1. @param numpy_output When true, the output will be a NumPy array. @return A CasADi function that computes the quaternion for a given joint state. If n > 1 then an array is computed whose columns correspond to the respective joint state in the input.
| CasADiArrayType optas.models.RobotModel.get_global_link_rotation | ( | self, | |
| str | link, | ||
| ArrayType | q | ||
| ) | 
Get the link rotation in the global frame for a given joint state q.
@param link Name of the end-effector link. @param q Joint position array. @return Rotation array.
| cs.Function optas.models.RobotModel.get_global_link_rotation_function | ( | self, | |
| str | link, | ||
| int | n = 1, | ||
| bool | numpy_output = False | ||
| ) | 
Get the function that computes a rotation matrix in the global link.
@param link Name of the end-effector link. @param n Number of joint states to expect when the function is called. Default is 1. @param numpy_output When true, the output will be a NumPy array. @return A CasADi function that computes the rotation for a given joint state. If n > 1 then a list of arrays are computed whose corresponding to the respective joint state in the input.
| CasADiArrayType optas.models.RobotModel.get_global_link_rpy | ( | self, | |
| str | link, | ||
| ArrayType | q | ||
| ) | 
Get the Roll-Pitch-Yaw angles in the global frame.
@param link Name of the end-effector link. @param q Joint position array. @return RPY euler angles in radians.
| def optas.models.RobotModel.get_global_link_rpy_function | ( | self, | |
| str | link, | ||
| int | n = 1, | ||
| bool | numpy_output = False | ||
| ) | 
Get the function that computes the Roll-Pitch-Yaw angles in the global frame.
| CasADiArrayType optas.models.RobotModel.get_global_link_transform | ( | self, | |
| str | link, | ||
| ArrayType | q | ||
| ) | 
Get the link transform in the global frame for a given joint state q.
@param link Name of the end-effector link. @param q Joint position array. @return Homogeneous transform array.
| cs.Function optas.models.RobotModel.get_global_link_transform_function | ( | self, | |
| str | link, | ||
| int | n = 1, | ||
| bool | numpy_output = False | ||
| ) | 
Get the function which computes the link transform in the global frame.
@param link Name of the end-effector link. @param n Number of joint states to expect when the function is called. Default is 1. @param numpy_output When true, the output will be a NumPy array. @return A CasADi function that computes the transform for a given joint state. If n > 1 then a list of transform are given for each corresponding joint state.
| cs.DM optas.models.RobotModel.get_joint_axis | ( | self, | |
| Joint | joint | ||
| ) | 
Get the axis of a joint.
@param The joint of interest. @return The normalized joint axis.
| float optas.models.RobotModel.get_joint_lower_limit | ( | self, | |
| Joint | joint | ||
| ) | 
Return the lower limit for a given joint.
@param joint The joint instance from the URDF. @return The lower limit, when undefined the value -1e9 is returned.
| Tuple[cs.DM] optas.models.RobotModel.get_joint_origin | ( | self, | |
| Joint | joint | ||
| ) | 
Get the origin for the joint.
@param The joint of interest. @return The position and orientation of the joint.
| float optas.models.RobotModel.get_joint_upper_limit | ( | self, | |
| Joint | joint | ||
| ) | 
Return the upper limit for a given joint.
@param joint The joint instance from the URDF. @return The upper limit, when undefined the value 1e9 is returned.
| CasADiArrayType optas.models.RobotModel.get_link_analytical_jacobian | ( | self, | |
| str | link, | ||
| ArrayType | q, | ||
| str | base_link | ||
| ) | 
Compute the analytical Jacobian matrix in a given base link.
@param link Name of the end-effector link. @param q Joint position array. @param base_link Name of the base frame link. @return Analytic Jacobian.
| cs.Function optas.models.RobotModel.get_link_analytical_jacobian_function | ( | self, | |
| str | link, | ||
| str | base_link, | ||
| int | n = 1, | ||
| bool | numpy_output = False | ||
| ) | 
Get the function that computes the analytical jacobian in a given base frame.
@param link Name of the end-effector link. @param base_link Name of the base frame link. @param n Number of joint states to expect when the function is called. Default is 1. @param numpy_output When true, the output will be a NumPy array. @return A CasADi function that computes the analytic jacobian for a given joint state. If n > 1 then a list of arrays are computed whose corresponding to the respective joint state in the input.
| CasADiArrayType optas.models.RobotModel.get_link_angular_analytical_jacobian | ( | self, | |
| str | link, | ||
| ArrayType | q, | ||
| str | base_link | ||
| ) | 
Compute the angular part of the analytical Jacobian matrix in a given base frame.
@param link Name of the end-effector link. @param q Joint position array. @param base_link Name of the base frame link. @return Angular part of the analytical Jacobian.
| cs.Function optas.models.RobotModel.get_link_angular_analytical_jacobian_function | ( | self, | |
| str | link, | ||
| str | base_link, | ||
| int | n = 1, | ||
| bool | numpy_output = False | ||
| ) | 
Get the function that computes the angular part of the analytical jacobian in a given base frame.
@param link Name of the end-effector link. @param base_link Name of the base frame link. @param n Number of joint states to expect when the function is called. Default is 1. @param numpy_output When true, the output will be a NumPy array. @return A CasADi function that computes the angular part of the analytical Jacobian for a given joint state. If n > 1 then a list of arrays are computed whose corresponding to the respective joint state in the input.
| CasADiArrayType optas.models.RobotModel.get_link_angular_geometric_jacobian | ( | self, | |
| str | link, | ||
| ArrayType | q, | ||
| str | base_link | ||
| ) | 
Get the angular part of the geometric jacobian in a given base frame.
@param link Name of the end-effector link. @param q Joint position array. @param base_link Name of the base frame link. @return Angular part of the geometric Jacobian.
| cs.Function optas.models.RobotModel.get_link_angular_geometric_jacobian_function | ( | self, | |
| str | link, | ||
| str | base_link, | ||
| int | n = 1, | ||
| bool | numpy_output = False | ||
| ) | 
Get the function that computes the angular part of the geometric jacobian in a given base frame.
@param link Name of the end-effector link. @param base_link Name of the base frame link. @param n Number of joint states to expect when the function is called. Default is 1. @param numpy_output When true, the output will be a NumPy array. @return A CasADi function that computes the angular part of the geometric Jacobian for a given joint state. If n > 1 then a list of arrays are computed whose corresponding to the respective joint state in the input.
| CasADiArrayType optas.models.RobotModel.get_link_axis | ( | self, | |
| str | link, | ||
| ArrayType | q, | ||
| Union[str, ArrayType] | axis, | ||
| str | base_link | ||
| ) | 
Compute the link axis, this is a direction vector defined in the end-effector frame (e.g.
the x/y/z link axis).
@param link Name of the end-effector link. @param q Joint position array. @param axis The axis (direction vector) defined in the end-effector frame. If 'x', 'y', 'z' is passed then the corresponding sub-array of the homogenous transform is used. @param base_link Name of the base frame link. @return Axis defined in the end-effector frame as function of the joint angles.
| cs.Function optas.models.RobotModel.get_link_axis_function | ( | self, | |
| str | link, | ||
| Union[str, ArrayType] | axis, | ||
| str | base_link, | ||
| int | n = 1, | ||
| bool | numpy_output = False | ||
| ) | 
Get function for computing the link axis.
@param link Name of the end-effector link. @param axis The axis (direction vector) defined in the end-effector frame. If 'x', 'y', 'z' is passed then the corresponding sub-array of the homogenous transform is used. @param base_link Name of the base frame link. @param numpy_output When true, the output will be a NumPy array. @return A CasADi function that computes the link axis for a given joint state. If n > 1 then an array is computed whose columns correspond to the respective joint state in the input.
| CasADiArrayType optas.models.RobotModel.get_link_geometric_jacobian | ( | self, | |
| str | link, | ||
| ArrayType | q, | ||
| str | base_link | ||
| ) | 
Get the geometric jacobian in a given base link.
@param link Name of the end-effector link. @param q Joint position array. @param base_link Name of the base frame link. @return Geometric Jacobian.
| cs.Function optas.models.RobotModel.get_link_geometric_jacobian_function | ( | self, | |
| str | link, | ||
| str | base_link, | ||
| int | n = 1, | ||
| bool | numpy_output = False | ||
| ) | 
Get the function that computes the geometric jacobian in a given base frame. @param link Name of the end-effector link. @param base_link Name of the base frame link. @param n Number of joint states to expect when the function is called. Default is 1. @param numpy_output When true, the output will be a NumPy array. @return A CasADi function that computes the geometric jacobian for a given joint state. If n > 1 then a list of arrays are computed whose corresponding to the respective joint state in the input.
| CasADiArrayType optas.models.RobotModel.get_link_linear_jacobian | ( | self, | |
| str | link, | ||
| ArrayType | q, | ||
| str | base_link | ||
| ) | 
Get the linear part of the geometric jacobian in a given base frame.
@param link Name of the end-effector link. @param q Joint position array. @param base_link Name of the base frame link. @return Linear part of the Jacobian.
| cs.Function optas.models.RobotModel.get_link_linear_jacobian_function | ( | self, | |
| str | link, | ||
| str | base_link, | ||
| int | n = 1, | ||
| bool | numpy_output = False | ||
| ) | 
Get the function that computes the linear part of the geometric jacobian in a given base frame.
@param link Name of the end-effector link. @param base_link Name of the base frame link. @param n Number of joint states to expect when the function is called. Default is 1. @param numpy_output When true, the output will be a NumPy array. @return A CasADi function that computes the linear part of the Jacobian for a given joint state. If n > 1 then a list of arrays are computed whose corresponding to the respective joint state in the input.
| CasADiArrayType optas.models.RobotModel.get_link_position | ( | self, | |
| str | link, | ||
| ArrayType | q, | ||
| str | base_link | ||
| ) | 
Get the link position in a given base frame.
@param link Name of the end-effector link. @param q Joint position array. @return Position array.
| cs.Function optas.models.RobotModel.get_link_position_function | ( | self, | |
| str | link, | ||
| str | base_link, | ||
| int | n = 1, | ||
| bool | numpy_output = False | ||
| ) | 
Get the function that computes the position of a link in a given base frame.
@param link Name of the end-effector link. @param base_link Name of the base frame link. @param n Number of joint states to expect when the function is called. Default is 1. @param numpy_output When true, the output will be a NumPy array. @return A CasADi function that computes the position for a given joint state. If n > 1 then an array is computed whose columns each correspond to the respective joint state in the input.
| CasADiArrayType optas.models.RobotModel.get_link_quaternion | ( | self, | |
| str | link, | ||
| ArrayType | q, | ||
| str | base_link | ||
| ) | 
Get the quaternion defined in a given base frame.
@param link Name of the end-effector link. @param q Joint position array. @param base_link Name of the base frame link. @return Quaternion array.
| cs.Function optas.models.RobotModel.get_link_quaternion_function | ( | self, | |
| str | link, | ||
| str | base_link, | ||
| int | n = 1, | ||
| bool | numpy_output = False | ||
| ) | 
Get the function that computes a quaternion defined in a given base frame.
@param link Name of the end-effector link. @param base_link Name of the base frame link. @param n Number of joint states to expect when the function is called. Default is 1. @param numpy_output When true, the output will be a NumPy array. @return A CasADi function that computes the quaternion for a given joint state. If n > 1 then an array is computed whose columns correspond to the respective joint state in the input.
| CasADiArrayType optas.models.RobotModel.get_link_rotation | ( | self, | |
| str | link, | ||
| ArrayType | q, | ||
| str | base_link | ||
| ) | 
Get the rotation matrix for a link in a given base frame.
@param link Name of the end-effector link. @param q Joint position array. @param base_link Name of the base frame link. @return Rotation array.
| cs.Function optas.models.RobotModel.get_link_rotation_function | ( | self, | |
| str | link, | ||
| str | base_link, | ||
| int | n = 1, | ||
| bool | numpy_output = False | ||
| ) | 
Get the function that computes the rotation matrix for a link in a given base frame.
@param link Name of the end-effector link. @param base_link Name of the base frame link. @param n Number of joint states to expect when the function is called. Default is 1. @param numpy_output When true, the output will be a NumPy array. @return A CasADi function that computes the rotation for a given joint state. If n > 1 then a list of arrays are computed whose corresponding to the respective joint state in the input.
| CasADiArrayType optas.models.RobotModel.get_link_rpy | ( | self, | |
| str | link, | ||
| ArrayType | q, | ||
| str | base_link | ||
| ) | 
Get the the Roll-Pitch-Yaw angles defined in a given base frame.
@param link Name of the end-effector link. @param q Joint position array. @param base_link Name of the base frame link. @return RPY euler angles in radians.
| cs.Function optas.models.RobotModel.get_link_rpy_function | ( | self, | |
| str | link, | ||
| str | base_link, | ||
| int | n = 1, | ||
| bool | numpy_output = False | ||
| ) | 
Get the function that computes the Roll-Pitch-Yaw angles defined in a given base frame.
@param link Name of the end-effector link. @param base_link Name of the base frame link. @param n Number of joint states to expect when the function is called. Default is 1. @param numpy_output When true, the output will be a NumPy array. @return A CasADi function that computes the RPY angles for a given joint state. If n > 1 then an array is computed whose columns correspond to the respective joint state in the input.
| CasADiArrayType optas.models.RobotModel.get_link_transform | ( | self, | |
| str | link, | ||
| ArrayType | q, | ||
| str | base_link | ||
| ) | 
Get the link transform in a given base frame.
@param link Name of the end-effector link. @param q Joint position array. @param base_link Name of the base frame link. @return Homogeneous transform array.
| CasADiArrayType optas.models.RobotModel.get_link_transform_function | ( | self, | |
| str | link, | ||
| str | base_link, | ||
| int | n = 1, | ||
| bool | numpy_output = False | ||
| ) | 
Get the function that computes the transform in a given base frame.
@param link Name of the end-effector link. @param base_link Name of the base frame link. @param n Number of joint states to expect when the function is called. Default is 1. @param numpy_output When true, the output will be a NumPy array. @return A CasADi function that computes the transform for a given joint state. If n > 1 then a list of transform are given for each corresponding joint state.
| Tuple[cs.DM] optas.models.RobotModel.get_link_visual_origin | ( | self, | |
| Link | link | ||
| ) | 
Get the link position and orientation for the link visual.
@param link The link of interest. @return The position and orientation.
| cs.DM optas.models.RobotModel.get_random_joint_positions | ( | self, | |
| int | n = 1, | ||
| Union[None, Tuple[ArrayType]] | xlim = None, | ||
| Union[None, Tuple[ArrayType]] | ylim = None, | ||
| Union[None, Tuple[ArrayType]] | zlim = None, | ||
| Union[None, str] | base_link = None | ||
| ) | 
Random joint positions within actuator limits and optionally within a box for a given base link.
@param n Number of joint positions. Default is 1. @param xlim Limit the robot link positions in the x axis for the base frame. None means there are no limits. @param ylim Limit the robot link positions in the y axis for the base frame. None means there are no limits. @param zlim Limit the robot link positions in the z axis for the base frame. None means there are no limits. @param base_link The link to define the x, y, z limits. None means the root link is used. @return Random joint positions with dimension ndof-by-n.
| cs.DM optas.models.RobotModel.get_random_pose_in_global_link | ( | self, | |
| str | link_name | ||
| ) | 
Random end-effector pose within robot limits. @param link_name Name of the end-effector link. @return Random homogeneous transformation array within robot limits defined in the global link frame.
| str optas.models.RobotModel.get_root_link | ( | self | ) | 
The root link name.
@return The name of the root link.
| def optas.models.RobotModel.get_urdf | ( | self | ) | 
| def optas.models.RobotModel.get_urdf_dirname | ( | self | ) | 
| float optas.models.RobotModel.get_velocity_joint_limit | ( | self, | |
| Joint | joint | ||
| ) | 
Return the velocity limit for a given joint.
@param joint The joint instance from the URDF. @return The velocity limit, when undefined the value 1e9 is returned.
| List[str] optas.models.RobotModel.joint_names | ( | self | ) | 
Property that gives the list of joint names.
@return List of joint names.
| List[str] optas.models.RobotModel.link_names | ( | self | ) | 
Property that gives the list of link names.
@return List of link names.
| cs.DM optas.models.RobotModel.lower_actuated_joint_limits | ( | self | ) | 
Property that defines the lower actuated joint limits.
@return The lower joint position limits.
| cs.DM optas.models.RobotModel.lower_optimized_joint_limits | ( | self | ) | 
Property that defines the lower optimized joint limits.
@return The lower joint position limits.
| def optas.models.RobotModel.make_function | ( | self, | |
| str | label, | ||
| str | link, | ||
| Callable | method, | ||
| int | n = 1, | ||
| Union[None, str] | base_link = None, | ||
| Union[None, cs.DM] | axis = None, | ||
| numpy_output = False | |||
| ) | 
Automate function generation.
This is an internal function for the RobotModel class and SHOULD NOT be used.
| int optas.models.RobotModel.ndof | ( | self | ) | 
Number of degrees of freedom.
@return The number of degrees of freedom for the robot.
| int optas.models.RobotModel.num_opt_joints | ( | self | ) | 
Number of optimized joints.
@return The number of optimized joints.
| int optas.models.RobotModel.num_param_joints | ( | self | ) | 
Number of parameterized joints.
@return The number of parameterized joints.
| List[int] optas.models.RobotModel.optimized_joint_indexes | ( | self | ) | 
Property that gives the indexes of the optimized joints.
@return List of the optimized joint indexes.
| List[str] optas.models.RobotModel.optimized_joint_names | ( | self | ) | 
Property that gives the names of the optimized joints names.
@return List of the optimized joint names.
| List[int] optas.models.RobotModel.parameter_joint_indexes | ( | self | ) | 
Property that gives the indexes of the parameterized joints.
@return List of the parameterized joint indexes.
| List[str] optas.models.RobotModel.parameter_joint_names | ( | self | ) | 
Property that gives the names of the parameterized joints.
@return List of the parameterized joint names.
| ArrayType optas.models.RobotModel.rnea | ( | self, | |
| ArrayType | q, | ||
| ArrayType | qd, | ||
| ArrayType | qdd | ||
| ) | 
Compute inverse dynamics with RNEA.
NOTE, currently this method only supports revolute/continuous joints. The first joint should be fixed and there is no fixed joints except the first joint and the last joint. @ param q: Joint position (unit rad). @ param qd: Joint velocity. @ param qdd: Joint accerleration.
| cs.DM optas.models.RobotModel.upper_actuated_joint_limits | ( | self | ) | 
Property that defines the upper actuated joint limits.
@return The upper joint position limits.
| cs.DM optas.models.RobotModel.upper_optimized_joint_limits | ( | self | ) | 
Property that defines the upper optimized joint limits.
@return The upper joint position limits.
| cs.DM optas.models.RobotModel.velocity_actuated_joint_limits | ( | self | ) | 
Property that defines the velocity actuated joint limits.
@return The velocity joint limits.
| cs.DM optas.models.RobotModel.velocity_optimized_joint_limits | ( | self | ) | 
Property that defines the velocity limits for the optimized joints.
@return The joint velocity limits.
| optas.models.RobotModel.call | 
| optas.models.RobotModel.F | 
| optas.models.RobotModel.n | 
| optas.models.RobotModel.param_joints | 
List of parameterized joints.
| optas.models.RobotModel.urdf | 
URDF instance.
| optas.models.RobotModel.urdf_filename | 
Filename for URDF file.
| optas.models.RobotModel.urdf_string | 
URDF string.
| optas.models.RobotModel.xacro_filename | 
Filename for xacro file.