| 
    moveit2
    
   The MoveIt Motion Planning Framework for ROS 2. 
   | 
 
Classes | |
| class | CollisionCheck | 
| class | ParameterDescriptorBuilder | 
| struct | PIDConfig | 
| class | PoseTracking | 
| class | Servo | 
| class | ServoCalcs | 
| class | ServoNode | 
| struct | ServoParameters | 
| class | JoyToServoPub | 
| class | PoseTrackingFixture | 
| class | ServoFixture | 
Typedefs | |
| using | PoseTrackingPtr = std::shared_ptr< PoseTracking > | 
| using | ServoPtr = std::shared_ptr< Servo > | 
| using | SetParameterCallbackType = std::function< rcl_interfaces::msg::SetParametersResult(const rclcpp::Parameter &)> | 
| using | ServoServer = ServoNode | 
Enumerations | |
| enum class | PoseTrackingStatusCode : int8_t {  INVALID = -1 , SUCCESS = 0 , NO_RECENT_TARGET_POSE = 1 , NO_RECENT_END_EFFECTOR_POSE = 2 , STOP_REQUESTED = 3 }  | 
| enum class | ServoType { CARTESIAN_SPACE , JOINT_SPACE } | 
| enum class | StatusCode : int8_t {  INVALID = -1 , NO_WARNING = 0 , DECELERATE_FOR_APPROACHING_SINGULARITY = 1 , HALT_FOR_SINGULARITY = 2 , DECELERATE_FOR_COLLISION = 3 , HALT_FOR_COLLISION = 4 , JOINT_BOUND = 5 , DECELERATE_FOR_LEAVING_SINGULARITY = 6 }  | 
Functions | |
| void | enforceVelocityLimits (const moveit::core::JointModelGroup *joint_model_group, const double publish_period, sensor_msgs::msg::JointState &joint_state, const double override_velocity_scaling_factor=0.0) | 
| Decrease robot position change and velocity, if needed, to satisfy joint velocity limits.  More... | |
| const std::unordered_map< PoseTrackingStatusCode, std::string > | POSE_TRACKING_STATUS_CODE_MAP ({ { PoseTrackingStatusCode::INVALID, "Invalid" }, { PoseTrackingStatusCode::SUCCESS, "Success" }, { PoseTrackingStatusCode::NO_RECENT_TARGET_POSE, "No recent target pose" }, { PoseTrackingStatusCode::NO_RECENT_END_EFFECTOR_POSE, "No recent end effector pose" }, { PoseTrackingStatusCode::STOP_REQUESTED, "Stop requested" } }) | 
| const std::unordered_map< StatusCode, std::string > | SERVO_STATUS_CODE_MAP ({ { StatusCode::INVALID, "Invalid" }, { StatusCode::NO_WARNING, "No warnings" }, { StatusCode::DECELERATE_FOR_APPROACHING_SINGULARITY, "Moving closer to a singularity, decelerating" }, { StatusCode::HALT_FOR_SINGULARITY, "Very close to a singularity, emergency stop" }, { StatusCode::DECELERATE_FOR_COLLISION, "Close to a collision, decelerating" }, { StatusCode::HALT_FOR_COLLISION, "Collision detected, emergency stop" }, { StatusCode::JOINT_BOUND, "Close to a joint bound (position or velocity), halting" }, { StatusCode::DECELERATE_FOR_LEAVING_SINGULARITY, "Moving away from a singularity, decelerating" } }) | 
| bool | isNonZero (const geometry_msgs::msg::TwistStamped &msg) | 
| Helper function for detecting zeroed message.  More... | |
| bool | isNonZero (const control_msgs::msg::JointJog &msg) | 
| Helper function for detecting zeroed message.  More... | |
| geometry_msgs::msg::TransformStamped | convertIsometryToTransform (const Eigen::Isometry3d &eigen_tf, const std::string &parent_frame, const std::string &child_frame) | 
| Helper function for converting Eigen::Isometry3d to geometry_msgs/TransformStamped.  More... | |
| double | velocityScalingFactorForSingularity (const moveit::core::JointModelGroup *joint_model_group, const Eigen::VectorXd &commanded_twist, const Eigen::JacobiSVD< Eigen::MatrixXd > &svd, const Eigen::MatrixXd &pseudo_inverse, const double hard_stop_singularity_threshold, const double lower_singularity_threshold, const double leaving_singularity_threshold_multiplier, rclcpp::Clock &clock, moveit::core::RobotStatePtr ¤t_state, StatusCode &status) | 
| Possibly calculate a velocity scaling factor, due to proximity of singularity and direction of motion.  More... | |
| TEST_F (PoseTrackingFixture, OutgoingMsgTest) | |
| TEST_F (ServoFixture, SelfCollision) | |
| TEST_F (ServoFixture, ExternalCollision) | |
| TEST_F (ServoFixture, SendTwistStampedTest) | |
| TEST_F (ServoFixture, SendJointServoTest) | |
| TEST_F (ServoFixture, DynamicParameterTest) | |
| using moveit_servo::PoseTrackingPtr = typedef std::shared_ptr<PoseTracking> | 
Definition at line 194 of file pose_tracking.h.
| using moveit_servo::ServoPtr = typedef std::shared_ptr<Servo> | 
| using moveit_servo::ServoServer = typedef ServoNode | 
Definition at line 49 of file servo_server.h.
| using moveit_servo::SetParameterCallbackType = typedef std::function<rcl_interfaces::msg::SetParametersResult(const rclcpp::Parameter&)> | 
Definition at line 49 of file servo_parameters.h.
      
  | 
  strong | 
| Enumerator | |
|---|---|
| INVALID | |
| SUCCESS | |
| NO_RECENT_TARGET_POSE | |
| NO_RECENT_END_EFFECTOR_POSE | |
| STOP_REQUESTED | |
Definition at line 66 of file pose_tracking.h.
      
  | 
  strong | 
| Enumerator | |
|---|---|
| CARTESIAN_SPACE | |
| JOINT_SPACE | |
Definition at line 73 of file servo_calcs.h.
      
  | 
  strong | 
| Enumerator | |
|---|---|
| INVALID | |
| NO_WARNING | |
| DECELERATE_FOR_APPROACHING_SINGULARITY | |
| HALT_FOR_SINGULARITY | |
| DECELERATE_FOR_COLLISION | |
| HALT_FOR_COLLISION | |
| JOINT_BOUND | |
| DECELERATE_FOR_LEAVING_SINGULARITY | |
Definition at line 46 of file status_codes.h.
| geometry_msgs::msg::TransformStamped moveit_servo::convertIsometryToTransform | ( | const Eigen::Isometry3d & | eigen_tf, | 
| const std::string & | parent_frame, | ||
| const std::string & | child_frame | ||
| ) | 
Helper function for converting Eigen::Isometry3d to geometry_msgs/TransformStamped.
Definition at line 64 of file utilities.cpp.

| void moveit_servo::enforceVelocityLimits | ( | const moveit::core::JointModelGroup * | joint_model_group, | 
| const double | publish_period, | ||
| sensor_msgs::msg::JointState & | joint_state, | ||
| const double | override_velocity_scaling_factor = 0.0  | 
        ||
| ) | 
Decrease robot position change and velocity, if needed, to satisfy joint velocity limits.
| joint_model_group | Active joint group. Used to retrieve limits. | 
| joint_state | The command that will go to the robot. | 
| override_velocity_scaling_factor | Option if the user wants a constant override of the velocity scaling. a value greater than 0 will override the internal calculations done by getVelocityScalingFactor. | 
Definition at line 72 of file enforce_limits.cpp.

| bool moveit_servo::isNonZero | ( | const control_msgs::msg::JointJog & | msg | ) | 
Helper function for detecting zeroed message.
Definition at line 53 of file utilities.cpp.
| bool moveit_servo::isNonZero | ( | const geometry_msgs::msg::TwistStamped & | msg | ) | 
Helper function for detecting zeroed message.
Definition at line 46 of file utilities.cpp.

| const std::unordered_map<PoseTrackingStatusCode, std::string> moveit_servo::POSE_TRACKING_STATUS_CODE_MAP | ( | { { PoseTrackingStatusCode::INVALID, "Invalid" }, { PoseTrackingStatusCode::SUCCESS, "Success" }, { PoseTrackingStatusCode::NO_RECENT_TARGET_POSE, "No recent target pose" }, { PoseTrackingStatusCode::NO_RECENT_END_EFFECTOR_POSE, "No recent end effector pose" }, { PoseTrackingStatusCode::STOP_REQUESTED, "Stop requested" } } | ) | 
| const std::unordered_map<StatusCode, std::string> moveit_servo::SERVO_STATUS_CODE_MAP | ( | { { StatusCode::INVALID, "Invalid" }, { StatusCode::NO_WARNING, "No warnings" }, { StatusCode::DECELERATE_FOR_APPROACHING_SINGULARITY, "Moving closer to a singularity, decelerating" }, { StatusCode::HALT_FOR_SINGULARITY, "Very close to a singularity, emergency stop" }, { StatusCode::DECELERATE_FOR_COLLISION, "Close to a collision, decelerating" }, { StatusCode::HALT_FOR_COLLISION, "Collision detected, emergency stop" }, { StatusCode::JOINT_BOUND, "Close to a joint bound (position or velocity), halting" }, { StatusCode::DECELERATE_FOR_LEAVING_SINGULARITY, "Moving away from a singularity, decelerating" } } | ) | 
| moveit_servo::TEST_F | ( | PoseTrackingFixture | , | 
| OutgoingMsgTest | |||
| ) | 
Definition at line 156 of file pose_tracking_test.cpp.
| moveit_servo::TEST_F | ( | ServoFixture | , | 
| DynamicParameterTest | |||
| ) | 
Definition at line 147 of file test_servo_interface.cpp.
| moveit_servo::TEST_F | ( | ServoFixture | , | 
| ExternalCollision | |||
| ) | 
Definition at line 80 of file test_servo_collision.cpp.
| moveit_servo::TEST_F | ( | ServoFixture | , | 
| SelfCollision | |||
| ) | 
Definition at line 46 of file test_servo_collision.cpp.
| moveit_servo::TEST_F | ( | ServoFixture | , | 
| SendJointServoTest | |||
| ) | 
Definition at line 86 of file test_servo_interface.cpp.
| moveit_servo::TEST_F | ( | ServoFixture | , | 
| SendTwistStampedTest | |||
| ) | 
Definition at line 45 of file test_servo_interface.cpp.
| double moveit_servo::velocityScalingFactorForSingularity | ( | const moveit::core::JointModelGroup * | joint_model_group, | 
| const Eigen::VectorXd & | commanded_twist, | ||
| const Eigen::JacobiSVD< Eigen::MatrixXd > & | svd, | ||
| const Eigen::MatrixXd & | pseudo_inverse, | ||
| const double | hard_stop_singularity_threshold, | ||
| const double | lower_singularity_threshold, | ||
| const double | leaving_singularity_threshold_multiplier, | ||
| rclcpp::Clock & | clock, | ||
| moveit::core::RobotStatePtr & | current_state, | ||
| StatusCode & | status | ||
| ) | 
Possibly calculate a velocity scaling factor, due to proximity of singularity and direction of motion.
| [in] | joint_model_group | The MoveIt group | 
| [in] | commanded_twist | The commanded Cartesian twist | 
| [in] | svd | A singular value decomposition of the Jacobian | 
| [in] | pseudo_inverse | The pseudo-inverse of the Jacobian | 
| [in] | hard_stop_singularity_threshold | Halt if condition(Jacobian) > hard_stop_singularity_threshold | 
| [in] | lower_singularity_threshold | Decelerate if condition(Jacobian) > lower_singularity_threshold | 
| [in] | leaving_singularity_threshold_multiplier | Allow faster motion away from singularity | 
| [in,out] | clock | A ROS clock, for logging | 
| [in,out] | current_state | The state of the robot. Used in internal calculations. | 
| [out] | status | Singularity status | 
Definition at line 88 of file utilities.cpp.
