#include <pose_tracking.h>
|
bool | getCommandFrameTransform (geometry_msgs::TransformStamped &transform) |
|
void | getPIDErrors (double &x_error, double &y_error, double &z_error, double &orientation_error) |
|
PoseTrackingStatusCode | moveToPose (const Eigen::Vector3d &positional_tolerance, const double angular_tolerance, const double target_pose_timeout) |
|
| PoseTracking (const ros::NodeHandle &nh, const planning_scene_monitor::PlanningSceneMonitorPtr &planning_scene_monitor) |
| Constructor. Loads ROS parameters under the given namespace. More...
|
|
void | resetTargetPose () |
| Re-initialize the target pose to an empty message. Can be used to reset motion between waypoints. More...
|
|
void | stopMotion () |
| A method for a different thread to stop motion and return early from control loop. More...
|
|
void | updatePIDConfig (const double x_proportional_gain, const double x_integral_gain, const double x_derivative_gain, const double y_proportional_gain, const double y_integral_gain, const double y_derivative_gain, const double z_proportional_gain, const double z_integral_gain, const double z_derivative_gain, const double angular_proportional_gain, const double angular_integral_gain, const double angular_derivative_gain) |
| Change PID parameters. Motion is stopped before the udpate. More...
|
|
Class PoseTracking - subscribe to a target pose. Servo toward the target pose.
Definition at line 117 of file pose_tracking.h.
◆ PoseTracking()
moveit_servo::PoseTracking::PoseTracking |
( |
const ros::NodeHandle & |
nh, |
|
|
const planning_scene_monitor::PlanningSceneMonitorPtr & |
planning_scene_monitor |
|
) |
| |
Constructor. Loads ROS parameters under the given namespace.
Definition at line 46 of file pose_tracking.cpp.
◆ calculateTwistCommand()
geometry_msgs::TwistStampedConstPtr moveit_servo::PoseTracking::calculateTwistCommand |
( |
| ) |
|
|
private |
Use PID controllers to calculate a full spatial velocity toward a pose.
Definition at line 258 of file pose_tracking.cpp.
◆ doPostMotionReset()
void moveit_servo::PoseTracking::doPostMotionReset |
( |
| ) |
|
|
private |
Reset flags and PID controllers after a motion completes.
Definition at line 320 of file pose_tracking.cpp.
◆ getCommandFrameTransform()
bool moveit_servo::PoseTracking::getCommandFrameTransform |
( |
geometry_msgs::TransformStamped & |
transform | ) |
|
Get the End Effector link transform. The transform from the MoveIt planning frame to EE link
- Parameters
-
transform | the transform that will be calculated |
- Returns
- true if a valid transform was available
Definition at line 382 of file pose_tracking.cpp.
◆ getPIDErrors()
void moveit_servo::PoseTracking::getPIDErrors |
( |
double & |
x_error, |
|
|
double & |
y_error, |
|
|
double & |
z_error, |
|
|
double & |
orientation_error |
|
) |
| |
◆ haveRecentEndEffectorPose()
bool moveit_servo::PoseTracking::haveRecentEndEffectorPose |
( |
const double |
timeout | ) |
|
|
private |
Return true if an end effector pose has been received within timeout [seconds].
Definition at line 213 of file pose_tracking.cpp.
◆ haveRecentTargetPose()
bool moveit_servo::PoseTracking::haveRecentTargetPose |
( |
const double |
timeout | ) |
|
|
private |
Return true if a target pose has been received within timeout [seconds].
Definition at line 207 of file pose_tracking.cpp.
◆ initializePID()
Initialize a PID controller and add it to vector of controllers.
Definition at line 200 of file pose_tracking.cpp.
◆ moveToPose()
◆ readROSParams()
void moveit_servo::PoseTracking::readROSParams |
( |
| ) |
|
|
private |
◆ resetTargetPose()
void moveit_servo::PoseTracking::resetTargetPose |
( |
| ) |
|
Re-initialize the target pose to an empty message. Can be used to reset motion between waypoints.
Definition at line 375 of file pose_tracking.cpp.
◆ satisfiesPoseTolerance()
bool moveit_servo::PoseTracking::satisfiesPoseTolerance |
( |
const Eigen::Vector3d & |
positional_tolerance, |
|
|
const double |
angular_tolerance |
|
) |
| |
|
private |
Check if XYZ, roll/pitch/yaw tolerances are satisfied.
Definition at line 218 of file pose_tracking.cpp.
◆ stopMotion()
void moveit_servo::PoseTracking::stopMotion |
( |
| ) |
|
A method for a different thread to stop motion and return early from control loop.
Definition at line 306 of file pose_tracking.cpp.
◆ targetPoseCallback()
void moveit_servo::PoseTracking::targetPoseCallback |
( |
const geometry_msgs::PoseStampedConstPtr & |
msg | ) |
|
|
private |
◆ updateControllerSetpoints()
void moveit_servo::PoseTracking::updateControllerSetpoints |
( |
| ) |
|
|
private |
Update PID controller target positions & orientations.
◆ updateControllerStateMeasurements()
void moveit_servo::PoseTracking::updateControllerStateMeasurements |
( |
| ) |
|
|
private |
Update PID controller states (positions & orientations)
◆ updatePIDConfig()
void moveit_servo::PoseTracking::updatePIDConfig |
( |
const double |
x_proportional_gain, |
|
|
const double |
x_integral_gain, |
|
|
const double |
x_derivative_gain, |
|
|
const double |
y_proportional_gain, |
|
|
const double |
y_integral_gain, |
|
|
const double |
y_derivative_gain, |
|
|
const double |
z_proportional_gain, |
|
|
const double |
z_integral_gain, |
|
|
const double |
z_derivative_gain, |
|
|
const double |
angular_proportional_gain, |
|
|
const double |
angular_integral_gain, |
|
|
const double |
angular_derivative_gain |
|
) |
| |
Change PID parameters. Motion is stopped before the udpate.
Definition at line 333 of file pose_tracking.cpp.
◆ angular_error_
boost::optional<double> moveit_servo::PoseTracking::angular_error_ |
|
private |
◆ angular_pid_config_
PIDConfig moveit_servo::PoseTracking::angular_pid_config_ |
|
private |
◆ cartesian_orientation_pids_
◆ cartesian_position_pids_
◆ command_frame_transform_
Eigen::Isometry3d moveit_servo::PoseTracking::command_frame_transform_ |
|
private |
◆ command_frame_transform_stamp_
ros::Time moveit_servo::PoseTracking::command_frame_transform_stamp_ |
|
private |
◆ joint_model_group_
◆ loop_rate_
ros::Rate moveit_servo::PoseTracking::loop_rate_ |
|
private |
◆ move_group_name_
std::string moveit_servo::PoseTracking::move_group_name_ |
|
private |
◆ nh_
◆ planning_frame_
std::string moveit_servo::PoseTracking::planning_frame_ |
|
private |
◆ planning_scene_monitor_
planning_scene_monitor::PlanningSceneMonitorPtr moveit_servo::PoseTracking::planning_scene_monitor_ |
|
private |
◆ robot_model_
robot_model::RobotModelConstPtr moveit_servo::PoseTracking::robot_model_ |
|
private |
◆ servo_
◆ stop_requested_
std::atomic<bool> moveit_servo::PoseTracking::stop_requested_ |
|
private |
◆ target_pose_
geometry_msgs::PoseStamped moveit_servo::PoseTracking::target_pose_ |
|
private |
◆ target_pose_mtx_
std::mutex moveit_servo::PoseTracking::target_pose_mtx_ |
|
mutableprivate |
◆ target_pose_sub_
◆ transform_buffer_
◆ transform_listener_
◆ twist_stamped_pub_
◆ x_pid_config_
PIDConfig moveit_servo::PoseTracking::x_pid_config_ |
|
private |
◆ y_pid_config_
PIDConfig moveit_servo::PoseTracking::y_pid_config_ |
|
private |
◆ z_pid_config_
PIDConfig moveit_servo::PoseTracking::z_pid_config_ |
|
private |
The documentation for this class was generated from the following files: