<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>cartesian_speed_monitor.cpp</name>
    <path>/tmp/ws/src/pilz_robots/pilz_control/src/</path>
    <filename>cartesian__speed__monitor_8cpp.html</filename>
    <includes id="cartesian__speed__monitor_8h" name="cartesian_speed_monitor.h" local="no" imported="no">pilz_control/cartesian_speed_monitor.h</includes>
    <includes id="cartesian__speed__monitor__exception_8h" name="cartesian_speed_monitor_exception.h" local="no" imported="no">pilz_control/cartesian_speed_monitor_exception.h</includes>
    <namespace>pilz_control</namespace>
    <member kind="function">
      <type>bool</type>
      <name>hasOnlyFixedParentJoints</name>
      <anchorfile>namespacepilz__control.html</anchorfile>
      <anchor>a467d3550d8f39c91a89fdfbcacc6bdda</anchor>
      <arglist>(const moveit::core::LinkModel *const &amp;link)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isEndEffectorLink</name>
      <anchorfile>namespacepilz__control.html</anchorfile>
      <anchor>a66c27d43aeae2dc32f7a164afccbb015</anchor>
      <arglist>(const moveit::core::LinkModel *const &amp;link, const robot_model::RobotModelConstPtr &amp;robot_model)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>cartesian_speed_monitor.h</name>
    <path>/tmp/ws/src/pilz_robots/pilz_control/include/pilz_control/</path>
    <filename>cartesian__speed__monitor_8h.html</filename>
    <class kind="class">pilz_control::CartesianSpeedMonitor</class>
    <namespace>pilz_control</namespace>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>linkSpeed</name>
      <anchorfile>namespacepilz__control.html</anchorfile>
      <anchor>aa04d6399618864a657d70046ab1f36b3</anchor>
      <arglist>(const robot_state::RobotState *current_state, const robot_state::RobotState *desired_state, const moveit::core::LinkModel *link, const double &amp;time_delta)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>cartesian_speed_monitor_exception.h</name>
    <path>/tmp/ws/src/pilz_robots/pilz_control/include/pilz_control/</path>
    <filename>cartesian__speed__monitor__exception_8h.html</filename>
    <class kind="class">pilz_control::RobotModelVariableNamesMismatch</class>
    <namespace>pilz_control</namespace>
  </compound>
  <compound kind="file">
    <name>joint_states_speed_observer.cpp</name>
    <path>/tmp/ws/src/pilz_robots/pilz_control/test_utils/src/</path>
    <filename>joint__states__speed__observer_8cpp.html</filename>
    <includes id="joint__states__speed__observer_8h" name="joint_states_speed_observer.h" local="no" imported="no">pilz_control/joint_states_speed_observer.h</includes>
    <namespace>pilz_control</namespace>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>joint__states__speed__observer_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>JOINT_STATES_TOPIC_NAME</name>
      <anchorfile>namespacepilz__control.html</anchorfile>
      <anchor>a1082d6529ebcf0ff16cbf36e9e4bcf7d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>MAX_FRAME_SPEED_TOPIC_NAME</name>
      <anchorfile>namespacepilz__control.html</anchorfile>
      <anchor>a10b6fc1ba4e2f6dd4e98e96128771b6b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>MONITORED_LINK_NAMES_PARAMETER</name>
      <anchorfile>namespacepilz__control.html</anchorfile>
      <anchor>a0ea082dd4b79d787a8ed7c231c0c0d2e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>ROBOT_DESCRIPTION_PARAMETER</name>
      <anchorfile>namespacepilz__control.html</anchorfile>
      <anchor>a5baca1b8c4fdc184196a6cd421fffd86</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>joint_states_speed_observer.h</name>
    <path>/tmp/ws/src/pilz_robots/pilz_control/test_utils/include/pilz_control/</path>
    <filename>joint__states__speed__observer_8h.html</filename>
    <class kind="class">pilz_control::JointStatesSpeedObserver</class>
    <namespace>pilz_control</namespace>
  </compound>
  <compound kind="file">
    <name>pilz_joint_trajectory_controller.cpp</name>
    <path>/tmp/ws/src/pilz_robots/pilz_control/src/</path>
    <filename>pilz__joint__trajectory__controller_8cpp.html</filename>
    <includes id="pilz__joint__trajectory__controller_8h" name="pilz_joint_trajectory_controller.h" local="no" imported="no">pilz_control/pilz_joint_trajectory_controller.h</includes>
    <namespace>position_controllers</namespace>
    <member kind="typedef">
      <type>pilz_joint_trajectory_controller::PilzJointTrajectoryController&lt; trajectory_interface::QuinticSplineSegment&lt; double &gt;, hardware_interface::PositionJointInterface &gt;</type>
      <name>PilzJointTrajectoryController</name>
      <anchorfile>namespaceposition__controllers.html</anchorfile>
      <anchor>ac176c593a4fe4e2e33a917022aa2fb02</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>pilz_joint_trajectory_controller.h</name>
    <path>/tmp/ws/src/pilz_robots/pilz_control/include/pilz_control/</path>
    <filename>pilz__joint__trajectory__controller_8h.html</filename>
    <includes id="cartesian__speed__monitor_8h" name="cartesian_speed_monitor.h" local="no" imported="no">pilz_control/cartesian_speed_monitor.h</includes>
    <includes id="traj__mode__manager_8h" name="traj_mode_manager.h" local="no" imported="no">pilz_control/traj_mode_manager.h</includes>
    <includes id="pilz__joint__trajectory__controller__impl_8h" name="pilz_joint_trajectory_controller_impl.h" local="no" imported="no">pilz_control/pilz_joint_trajectory_controller_impl.h</includes>
    <class kind="class">pilz_joint_trajectory_controller::PilzJointTrajectoryController</class>
    <namespace>pilz_joint_trajectory_controller</namespace>
    <member kind="typedef">
      <type>std::vector&lt; Segment &gt;</type>
      <name>TrajectoryPerJoint</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>a6e5e2a2ff196481c44af33eafde0cdf4</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" static="yes">
      <type>static bool</type>
      <name>isTrajectoryExecuted</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>a7bad2633de298553093a62be264859a6</anchor>
      <arglist>(const std::vector&lt; TrajectoryPerJoint&lt; Segment &gt;&gt; &amp;traj, const ros::Time &amp;curr_uptime)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>pilz_joint_trajectory_controller_impl.h</name>
    <path>/tmp/ws/src/pilz_robots/pilz_control/include/pilz_control/</path>
    <filename>pilz__joint__trajectory__controller__impl_8h.html</filename>
    <namespace>pilz_joint_trajectory_controller</namespace>
    <member kind="function">
      <type>double</type>
      <name>calculateAcceleration</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>a94dc47f63bb022f77bbade848df6b820</anchor>
      <arglist>(const double &amp;desired_velocity, const double &amp;old_desired_velocity, const ros::Duration &amp;delta_t)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isTrajectoryExecuted</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>af5dafe6302c1c3e474217d0e25c6692e</anchor>
      <arglist>(const std::vector&lt; TrajectoryPerJoint&lt; Segment &gt;&gt; &amp;traj, const ros::Time &amp;curr_uptime)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>HAS_ACCELERATION_LIMITS_PARAM_NAME</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>abbbf76735b5c4db6778bfed3d562c761</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>HOLD_SERVICE_NAME</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>a20cc254f44c62ec2eb86db8df84f523d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>IS_EXECUTING_SERVICE_NAME</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>a6b33a1ae43a8198b6440d37b6a6a63dd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>LIMITS_NAMESPACE</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>a88a4c023b1d0242d18e79ce0b159cfd1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>MAX_ACCELERATION_PARAM_NAME</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>a9b38bdefd2d7468cb0be1202c412aac0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>MONITOR_CARTESIAN_SPEED_SERVICE_NAME</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>aaaf1af5c55aeab9cee54ac72aef17c1b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>ROBOT_DESCRIPTION_PARAM_NAME</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>acdcc4967fff9cb1079042a78304df724</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr double</type>
      <name>SPEED_LIMIT_ACTIVATED</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>a6aa707b2fb51a8321aa7d56717e848d2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr double</type>
      <name>SPEED_LIMIT_NOT_ACTIVATED</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>a04f81dec4e2fbb993e215104ecf86327</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>UNHOLD_SERVICE_NAME</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>ac4df4a5b83cba7296fa2eb8c3e203935</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>USER_NOTIFICATION_NOT_IMPLEMENTED_COMMAND_INTERFACE_INFO</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>a38badec67859f9ac768cc9d4b41e3fa8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>USER_NOTIFICATION_NOT_IMPLEMENTED_COMMAND_INTERFACE_WARN</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>a4e389dbf629e2aa14deae34b5114ca3a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>README.md</name>
    <path>/tmp/ws/src/pilz_robots/pilz_control/</path>
    <filename>README_8md.html</filename>
  </compound>
  <compound kind="file">
    <name>spec.dox</name>
    <path>/tmp/ws/src/pilz_robots/pilz_control/</path>
    <filename>spec_8dox.html</filename>
  </compound>
  <compound kind="file">
    <name>traj_mode_manager.h</name>
    <path>/tmp/ws/src/pilz_robots/pilz_control/include/pilz_control/</path>
    <filename>traj__mode__manager_8h.html</filename>
    <class kind="class">pilz_joint_trajectory_controller::HoldModeListener</class>
    <class kind="class">pilz_joint_trajectory_controller::TrajProcessingModeManager</class>
    <class kind="class">pilz_joint_trajectory_controller::TrajProcessingModeStateMachine</class>
    <namespace>pilz_joint_trajectory_controller</namespace>
    <member kind="enumeration">
      <type></type>
      <name>TrajProcessingMode</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>a1f71379d9cd4dfc5b43a0d84f817b622</anchor>
      <arglist></arglist>
      <enumvalue file="namespacepilz__joint__trajectory__controller.html" anchor="a1f71379d9cd4dfc5b43a0d84f817b622a3b97eddf3e2531ac6e5d7dc87082fa40">unhold</enumvalue>
      <enumvalue file="namespacepilz__joint__trajectory__controller.html" anchor="a1f71379d9cd4dfc5b43a0d84f817b622a3b2a3c8ed19fc3647432e72885d633e7">stopping</enumvalue>
      <enumvalue file="namespacepilz__joint__trajectory__controller.html" anchor="a1f71379d9cd4dfc5b43a0d84f817b622aaf1d8213f4a22b0f9803fec9259ff7a8">hold</enumvalue>
    </member>
  </compound>
  <compound kind="class">
    <name>pilz_control::CartesianSpeedMonitor</name>
    <filename>classpilz__control_1_1CartesianSpeedMonitor.html</filename>
    <member kind="function">
      <type>bool</type>
      <name>cartesianSpeedIsBelowLimit</name>
      <anchorfile>classpilz__control_1_1CartesianSpeedMonitor.html</anchorfile>
      <anchor>acd026c7d46e274e898c9000cb30b7937</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;current_position, const std::vector&lt; double &gt; &amp;desired_position, const double &amp;time_delta, const double &amp;speed_limit)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>CartesianSpeedMonitor</name>
      <anchorfile>classpilz__control_1_1CartesianSpeedMonitor.html</anchorfile>
      <anchor>a8732ea135c0dfb16554cf67ff2055ab7</anchor>
      <arglist>(const std::vector&lt; std::string &gt; &amp;joint_names, const robot_model::RobotModelConstPtr &amp;kinematic_model)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>init</name>
      <anchorfile>classpilz__control_1_1CartesianSpeedMonitor.html</anchorfile>
      <anchor>a25aa6fee901cd588aa74a774acc741b8</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const std::vector&lt; std::string &gt;</type>
      <name>joint_names_</name>
      <anchorfile>classpilz__control_1_1CartesianSpeedMonitor.html</anchorfile>
      <anchor>a99fbaf42c6bf1edf298fc30cd9ac9a41</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const robot_model::RobotModelConstPtr</type>
      <name>kinematic_model_</name>
      <anchorfile>classpilz__control_1_1CartesianSpeedMonitor.html</anchorfile>
      <anchor>a03055e307636e60eb6d95fcd3811dafd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; const robot_model::LinkModel * &gt;</type>
      <name>monitored_links_</name>
      <anchorfile>classpilz__control_1_1CartesianSpeedMonitor.html</anchorfile>
      <anchor>a912f13f705fec1d12bd70c06ad6469fc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>robot_state::RobotStatePtr</type>
      <name>state_current_</name>
      <anchorfile>classpilz__control_1_1CartesianSpeedMonitor.html</anchorfile>
      <anchor>ac9eeb527ff4b9f145a2f2506bf0ba209</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>robot_state::RobotStatePtr</type>
      <name>state_desired_</name>
      <anchorfile>classpilz__control_1_1CartesianSpeedMonitor.html</anchorfile>
      <anchor>a33cde87a079ce11add493d4854ca4900</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>pilz_joint_trajectory_controller::HoldModeListener</name>
    <filename>classpilz__joint__trajectory__controller_1_1HoldModeListener.html</filename>
    <member kind="function">
      <type>void</type>
      <name>triggerListener</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1HoldModeListener.html</anchorfile>
      <anchor>a0c4cbaf72dfcc733f64e0548e5c1688c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>wait</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1HoldModeListener.html</anchorfile>
      <anchor>ae1ae1e40dba591e42f0dafc3affcf025</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>cond_fulfilled_</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1HoldModeListener.html</anchorfile>
      <anchor>a246574112c3d72035d5c0402ed5539ee</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::condition_variable</type>
      <name>cond_variable_</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1HoldModeListener.html</anchorfile>
      <anchor>ae8d9070beaa1b52f119a5dab4b8591c9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::mutex</type>
      <name>mutex_</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1HoldModeListener.html</anchorfile>
      <anchor>a37d91fef062a28caf5b6c7b4f94aa8eb</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>pilz_control::JointStatesSpeedObserver</name>
    <filename>classpilz__control_1_1JointStatesSpeedObserver.html</filename>
    <member kind="function">
      <type></type>
      <name>JointStatesSpeedObserver</name>
      <anchorfile>classpilz__control_1_1JointStatesSpeedObserver.html</anchorfile>
      <anchor>af91cd50e7e34feba142b20151b049a0b</anchor>
      <arglist>(const ros::NodeHandle &amp;nh)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>jointStatesCallback</name>
      <anchorfile>classpilz__control_1_1JointStatesSpeedObserver.html</anchorfile>
      <anchor>a108b8a301770243bfef06d04b410b767</anchor>
      <arglist>(const sensor_msgs::JointStateConstPtr &amp;msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>publishMaxFrameSpeed</name>
      <anchorfile>classpilz__control_1_1JointStatesSpeedObserver.html</anchorfile>
      <anchor>ac723bf697d2d182b3b4d4f50d6919f7c</anchor>
      <arglist>(const double &amp;speed)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>setupKinematics</name>
      <anchorfile>classpilz__control_1_1JointStatesSpeedObserver.html</anchorfile>
      <anchor>abde1e751b71da7a3101d347a0eb05c45</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>validateLinkNames</name>
      <anchorfile>classpilz__control_1_1JointStatesSpeedObserver.html</anchorfile>
      <anchor>aada5961ea0208e5ad0511de4faae9f5f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; std::string &gt;</type>
      <name>frames_to_observe_</name>
      <anchorfile>classpilz__control_1_1JointStatesSpeedObserver.html</anchorfile>
      <anchor>a136544f93e8a9efe21b1ae717dd6a18a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Subscriber</type>
      <name>joint_states_sub_</name>
      <anchorfile>classpilz__control_1_1JointStatesSpeedObserver.html</anchorfile>
      <anchor>a5e4c75e4a5df4deb518a259a8e9dff0d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>robot_model::RobotModelPtr</type>
      <name>kinematic_model_</name>
      <anchorfile>classpilz__control_1_1JointStatesSpeedObserver.html</anchorfile>
      <anchor>a7aaa2e7b3101fbbb249351886d703c27</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>robot_state::RobotStatePtr</type>
      <name>kinematic_state_</name>
      <anchorfile>classpilz__control_1_1JointStatesSpeedObserver.html</anchorfile>
      <anchor>a2b535b788921202b415b1424f855bc1f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>max_frame_speed_pub_</name>
      <anchorfile>classpilz__control_1_1JointStatesSpeedObserver.html</anchorfile>
      <anchor>a62c8a943ea14c4160f4880c28c5f1d16</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classpilz__control_1_1JointStatesSpeedObserver.html</anchorfile>
      <anchor>a4aac7aad86dbd7d713a2128aa202fcc9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::map&lt; std::string, Eigen::Isometry3d &gt;</type>
      <name>previous_tfs_</name>
      <anchorfile>classpilz__control_1_1JointStatesSpeedObserver.html</anchorfile>
      <anchor>a1351987e7db5897e21ef48dea94bb7b7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Time</type>
      <name>previous_time_stamp_</name>
      <anchorfile>classpilz__control_1_1JointStatesSpeedObserver.html</anchorfile>
      <anchor>a1f1652509ff00ee7122d21b689ec9831</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>reference_frame_</name>
      <anchorfile>classpilz__control_1_1JointStatesSpeedObserver.html</anchorfile>
      <anchor>a9fa722184ba805872248c82de852ef52</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>robot_model_loader::RobotModelLoaderPtr</type>
      <name>robot_model_loader_</name>
      <anchorfile>classpilz__control_1_1JointStatesSpeedObserver.html</anchorfile>
      <anchor>a570432b098c411b532181f9afe287774</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>pilz_joint_trajectory_controller::PilzJointTrajectoryController</name>
    <filename>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</filename>
    <templarg></templarg>
    <templarg></templarg>
    <base>JointTrajectoryController&lt; SegmentImpl, HardwareInterface &gt;</base>
    <member kind="typedef">
      <type>trajectory_msgs::JointTrajectory::ConstPtr</type>
      <name>JointTrajectoryConstPtr</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>a56caeb70580d973c274ca710b1789aaa</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>joint_trajectory_controller::JointTrajectoryController&lt; SegmentImpl, HardwareInterface &gt;</type>
      <name>JointTrajectoryController</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>ad330e3c51650ab4a26ef9d0fc1f828d9</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>realtime_tools::RealtimeServerGoalHandle&lt; control_msgs::FollowJointTrajectoryAction &gt;</type>
      <name>RealtimeGoalHandle</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>a229c9289df29aab18f64602c6d539962</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; RealtimeGoalHandle &gt;</type>
      <name>RealtimeGoalHandlePtr</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>a4068b76bd5910b57c6618b6769ebf795</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>joint_trajectory_controller::JointTrajectorySegment&lt; SegmentImpl &gt;</type>
      <name>Segment</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>acdcf4431154d6e8fb2f08c15d2626b0f</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::vector&lt; TrajectoryPerJoint &gt;</type>
      <name>Trajectory</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>a725e3592a194f2dcffa0918cf9d7b374</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::vector&lt; Segment &gt;</type>
      <name>TrajectoryPerJoint</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>a3a4b6c8f54aaa07cf8b7f8a8cfff00fb</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::shared_ptr&lt; Trajectory &gt;</type>
      <name>TrajectoryPtr</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>af19854a73c5425c0f0ab05e59c220a77</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>handleHoldRequest</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>a968f580b702c734b646bbe3ddc88661a</anchor>
      <arglist>(std_srvs::TriggerRequest &amp;request, std_srvs::TriggerResponse &amp;response)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>handleIsExecutingRequest</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>a0ea449dfb100170e6207d653c3e4e3d9</anchor>
      <arglist>(std_srvs::TriggerRequest &amp;request, std_srvs::TriggerResponse &amp;response)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>handleMonitorCartesianSpeedRequest</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>aac57322ea8ee3467ef722149f3438c31</anchor>
      <arglist>(std_srvs::SetBool::Request &amp;request, std_srvs::SetBool::Response &amp;response)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>handleUnHoldRequest</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>a368a4914832f8c6c7576aac354dc5291</anchor>
      <arglist>(std_srvs::TriggerRequest &amp;request, std_srvs::TriggerResponse &amp;response)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>init</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>a56e79eb60ed5de929eb816e58af9e286</anchor>
      <arglist>(HardwareInterface *hw, ros::NodeHandle &amp;root_nh, ros::NodeHandle &amp;controller_nh) override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>is_executing</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>a320c65f63c645cd8f2653f410fa770d1</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>PilzJointTrajectoryController</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>a068ebb0162b9ca52330f8a6264415934</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static std::vector&lt; boost::optional&lt; double &gt; &gt;</type>
      <name>getJointAccelerationLimits</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>a78e5d3b1613928db99c9ea3f5c51f59f</anchor>
      <arglist>(const ros::NodeHandle &amp;nh, const std::vector&lt; std::string &gt; &amp;joint_names)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>makeParamNameWithSuffix</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>af452447824a669061c62bac3e0303a6d</anchor>
      <arglist>(std::string &amp;param_name, const std::string &amp;joint_name, const std::string &amp;suffix)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>trajectoryCommandCB</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>a40ddb263ebae249da8222748a645515d</anchor>
      <arglist>(const JointTrajectoryConstPtr &amp;msg) override</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>triggerMovementToHoldPosition</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>a69ec0320a2516493bd8b6863d68e937f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>updateStrategyDefault</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>a914f413527fb4ba3e33974777194e0ae</anchor>
      <arglist>(const JointTrajectoryConstPtr &amp;, RealtimeGoalHandlePtr, std::string *error_string=0)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>updateStrategyWhileHolding</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>afaeaf701ae75b8b6c78c4b61a541b176</anchor>
      <arglist>(const JointTrajectoryConstPtr &amp;, RealtimeGoalHandlePtr, std::string *error_string=0)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>updateTrajectoryCommand</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>a37c6c80ee44f41e09fda01900fca5a49</anchor>
      <arglist>(const JointTrajectoryConstPtr &amp;, RealtimeGoalHandlePtr, std::string *error_string=0) override</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>abortActiveGoal</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>a7c0b0db8528d2da29c5dbee88ce58c01</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>cancelActiveGoal</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>ac0db24a4a3aa280b260fa6d03d2583b1</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>isPlannedCartesianVelocityOK</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>a02e24247c7027019e96a242f9bfc99ca</anchor>
      <arglist>(const ros::Duration &amp;period) const</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>isPlannedJointAccelerationOK</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>a9958cdda822d4e3f5c6f1cbfb2182da4</anchor>
      <arglist>(const ros::Duration &amp;period) const</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>isPlannedUpdateOK</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>a8e47c1e0260135ac2ba222730192c4ad</anchor>
      <arglist>(const ros::Duration &amp;period) const</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>stopMotion</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>af22b188870f89ae9234cc945092d549e</anchor>
      <arglist>(const ros::Time &amp;curr_uptime)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>updateFuncExtensionPoint</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>a4cde9dfc7da8799ce19ba47752f46ebd</anchor>
      <arglist>(const typename JointTrajectoryController::Trajectory &amp;curr_traj, const typename JointTrajectoryController::TimeData &amp;time_data) override</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; boost::optional&lt; double &gt; &gt;</type>
      <name>acceleration_joint_limits_</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>a83010245ffbf00677d9aedc751e40bd6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::atomic&lt; double &gt;</type>
      <name>cartesian_speed_limit_</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>abb08786557f9a68e8573a6d7400bbd38</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::unique_ptr&lt; pilz_control::CartesianSpeedMonitor &gt;</type>
      <name>cartesian_speed_monitor_</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>a9750d5e213d25abf308711b2fc4d60b0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::ServiceServer</type>
      <name>hold_position_service</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>a9da1720a45a75f6de7981f3e94d40c3d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::ServiceServer</type>
      <name>is_executing_service_</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>a6c9c5abbcb70249deea15fcd272b82eb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::unique_ptr&lt; TrajProcessingModeManager &gt;</type>
      <name>mode_</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>aa50bf3c4112781051fa74b42114e2d6d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::ServiceServer</type>
      <name>monitor_cartesian_speed_service_</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>aaa1332e7ab0478f0576b42a9d7c72fb6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>robot_model_loader::RobotModelLoaderConstPtr</type>
      <name>robot_model_loader_</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>ac657ab19f9d3a1db9e8653406673e10a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::unique_ptr&lt; joint_trajectory_controller::StopTrajectoryBuilder&lt; SegmentImpl &gt; &gt;</type>
      <name>stop_traj_builder_</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>acc99ca1df17dad015b16194829d90958</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>TrajectoryPtr</type>
      <name>stop_traj_velocity_violation_</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>aff9cad9144bb5963dafce701ba13818f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::mutex</type>
      <name>sync_mutex_</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>a6b2026b8a614845960d9c4e3f1431b3a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::ServiceServer</type>
      <name>unhold_position_service</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1PilzJointTrajectoryController.html</anchorfile>
      <anchor>aaf3ae2d91ac301f7f233d954510115ab</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>pilz_control::RobotModelVariableNamesMismatch</name>
    <filename>classpilz__control_1_1RobotModelVariableNamesMismatch.html</filename>
    <member kind="function">
      <type></type>
      <name>RobotModelVariableNamesMismatch</name>
      <anchorfile>classpilz__control_1_1RobotModelVariableNamesMismatch.html</anchorfile>
      <anchor>a2b776d5f83224cf5778c86381f607574</anchor>
      <arglist>()</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>pilz_joint_trajectory_controller::TrajProcessingModeManager</name>
    <filename>classpilz__joint__trajectory__controller_1_1TrajProcessingModeManager.html</filename>
    <member kind="function">
      <type>TrajProcessingMode</type>
      <name>getCurrentMode</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1TrajProcessingModeManager.html</anchorfile>
      <anchor>a9949a4fb2d297d22de511d9297541d68</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isHolding</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1TrajProcessingModeManager.html</anchorfile>
      <anchor>a2eea818eaa6f1c698165a9b999442c20</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>startEvent</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1TrajProcessingModeManager.html</anchorfile>
      <anchor>a4f505ab1fab8e514ce3a12419e662ffe</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>stopEvent</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1TrajProcessingModeManager.html</anchorfile>
      <anchor>a29c14369ce29d07fdd1345e80657943c</anchor>
      <arglist>(HoldModeListener *const listener=nullptr)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>stopMotionFinishedEvent</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1TrajProcessingModeManager.html</anchorfile>
      <anchor>aef936e54ad04cdefe0a3223bf51a3ab1</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>callListener</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1TrajProcessingModeManager.html</anchorfile>
      <anchor>ab52e99cdb39836c5e898e002691a9465</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>registerListener</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1TrajProcessingModeManager.html</anchorfile>
      <anchor>a85638c5af45852e3cee32607959e052a</anchor>
      <arglist>(HoldModeListener *const listener)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>switchTo</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1TrajProcessingModeManager.html</anchorfile>
      <anchor>a79b177c0e3c7b844ec9be70c583e450d</anchor>
      <arglist>(const TrajProcessingMode &amp;mode)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>TrajProcessingMode</type>
      <name>current_mode_</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1TrajProcessingModeManager.html</anchorfile>
      <anchor>a6cd703a29af67b9858df393cf2739e6f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::list&lt; HoldModeListener * &gt;</type>
      <name>listener_</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1TrajProcessingModeManager.html</anchorfile>
      <anchor>aad9d3eecd76cf40a34d12f0e6180ebad</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const TrajProcessingModeStateMachine</type>
      <name>mode_state_machine_</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1TrajProcessingModeManager.html</anchorfile>
      <anchor>a82f5a1a8ec825ed775c0aac40683f816</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::mutex</type>
      <name>mutex_</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1TrajProcessingModeManager.html</anchorfile>
      <anchor>a938bcfd345e6b692714b553194470372</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>pilz_joint_trajectory_controller::TrajProcessingModeStateMachine</name>
    <filename>classpilz__joint__trajectory__controller_1_1TrajProcessingModeStateMachine.html</filename>
    <member kind="function">
      <type>bool</type>
      <name>isTransitionValid</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1TrajProcessingModeStateMachine.html</anchorfile>
      <anchor>aaeafe889514efe84652848779bc0af3a</anchor>
      <arglist>(const TrajProcessingMode &amp;current_mode, const TrajProcessingMode &amp;requested_mode) const</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const std::unordered_map&lt; TrajProcessingMode, TrajProcessingMode &gt;</type>
      <name>mode_machine_</name>
      <anchorfile>classpilz__joint__trajectory__controller_1_1TrajProcessingModeStateMachine.html</anchorfile>
      <anchor>acd62d240db8ba3e3e3c3cb66a55ffb0a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>pilz_control</name>
    <filename>namespacepilz__control.html</filename>
    <class kind="class">pilz_control::CartesianSpeedMonitor</class>
    <class kind="class">pilz_control::JointStatesSpeedObserver</class>
    <class kind="class">pilz_control::RobotModelVariableNamesMismatch</class>
    <member kind="function">
      <type>bool</type>
      <name>hasOnlyFixedParentJoints</name>
      <anchorfile>namespacepilz__control.html</anchorfile>
      <anchor>a467d3550d8f39c91a89fdfbcacc6bdda</anchor>
      <arglist>(const moveit::core::LinkModel *const &amp;link)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isEndEffectorLink</name>
      <anchorfile>namespacepilz__control.html</anchorfile>
      <anchor>a66c27d43aeae2dc32f7a164afccbb015</anchor>
      <arglist>(const moveit::core::LinkModel *const &amp;link, const robot_model::RobotModelConstPtr &amp;robot_model)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>linkSpeed</name>
      <anchorfile>namespacepilz__control.html</anchorfile>
      <anchor>aa04d6399618864a657d70046ab1f36b3</anchor>
      <arglist>(const robot_state::RobotState *current_state, const robot_state::RobotState *desired_state, const moveit::core::LinkModel *link, const double &amp;time_delta)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>JOINT_STATES_TOPIC_NAME</name>
      <anchorfile>namespacepilz__control.html</anchorfile>
      <anchor>a1082d6529ebcf0ff16cbf36e9e4bcf7d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>MAX_FRAME_SPEED_TOPIC_NAME</name>
      <anchorfile>namespacepilz__control.html</anchorfile>
      <anchor>a10b6fc1ba4e2f6dd4e98e96128771b6b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>MONITORED_LINK_NAMES_PARAMETER</name>
      <anchorfile>namespacepilz__control.html</anchorfile>
      <anchor>a0ea082dd4b79d787a8ed7c231c0c0d2e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>ROBOT_DESCRIPTION_PARAMETER</name>
      <anchorfile>namespacepilz__control.html</anchorfile>
      <anchor>a5baca1b8c4fdc184196a6cd421fffd86</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>pilz_joint_trajectory_controller</name>
    <filename>namespacepilz__joint__trajectory__controller.html</filename>
    <class kind="class">pilz_joint_trajectory_controller::HoldModeListener</class>
    <class kind="class">pilz_joint_trajectory_controller::PilzJointTrajectoryController</class>
    <class kind="class">pilz_joint_trajectory_controller::TrajProcessingModeManager</class>
    <class kind="class">pilz_joint_trajectory_controller::TrajProcessingModeStateMachine</class>
    <member kind="typedef">
      <type>std::vector&lt; Segment &gt;</type>
      <name>TrajectoryPerJoint</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>a6e5e2a2ff196481c44af33eafde0cdf4</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>TrajProcessingMode</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>a1f71379d9cd4dfc5b43a0d84f817b622</anchor>
      <arglist></arglist>
      <enumvalue file="namespacepilz__joint__trajectory__controller.html" anchor="a1f71379d9cd4dfc5b43a0d84f817b622a3b97eddf3e2531ac6e5d7dc87082fa40">unhold</enumvalue>
      <enumvalue file="namespacepilz__joint__trajectory__controller.html" anchor="a1f71379d9cd4dfc5b43a0d84f817b622a3b2a3c8ed19fc3647432e72885d633e7">stopping</enumvalue>
      <enumvalue file="namespacepilz__joint__trajectory__controller.html" anchor="a1f71379d9cd4dfc5b43a0d84f817b622aaf1d8213f4a22b0f9803fec9259ff7a8">hold</enumvalue>
    </member>
    <member kind="function">
      <type>double</type>
      <name>calculateAcceleration</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>a94dc47f63bb022f77bbade848df6b820</anchor>
      <arglist>(const double &amp;desired_velocity, const double &amp;old_desired_velocity, const ros::Duration &amp;delta_t)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static bool</type>
      <name>isTrajectoryExecuted</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>a7bad2633de298553093a62be264859a6</anchor>
      <arglist>(const std::vector&lt; TrajectoryPerJoint&lt; Segment &gt;&gt; &amp;traj, const ros::Time &amp;curr_uptime)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isTrajectoryExecuted</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>af5dafe6302c1c3e474217d0e25c6692e</anchor>
      <arglist>(const std::vector&lt; TrajectoryPerJoint&lt; Segment &gt;&gt; &amp;traj, const ros::Time &amp;curr_uptime)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>HAS_ACCELERATION_LIMITS_PARAM_NAME</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>abbbf76735b5c4db6778bfed3d562c761</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>HOLD_SERVICE_NAME</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>a20cc254f44c62ec2eb86db8df84f523d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>IS_EXECUTING_SERVICE_NAME</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>a6b33a1ae43a8198b6440d37b6a6a63dd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>LIMITS_NAMESPACE</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>a88a4c023b1d0242d18e79ce0b159cfd1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>MAX_ACCELERATION_PARAM_NAME</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>a9b38bdefd2d7468cb0be1202c412aac0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>MONITOR_CARTESIAN_SPEED_SERVICE_NAME</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>aaaf1af5c55aeab9cee54ac72aef17c1b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>ROBOT_DESCRIPTION_PARAM_NAME</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>acdcc4967fff9cb1079042a78304df724</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr double</type>
      <name>SPEED_LIMIT_ACTIVATED</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>a6aa707b2fb51a8321aa7d56717e848d2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr double</type>
      <name>SPEED_LIMIT_NOT_ACTIVATED</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>a04f81dec4e2fbb993e215104ecf86327</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>UNHOLD_SERVICE_NAME</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>ac4df4a5b83cba7296fa2eb8c3e203935</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>USER_NOTIFICATION_NOT_IMPLEMENTED_COMMAND_INTERFACE_INFO</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>a38badec67859f9ac768cc9d4b41e3fa8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>USER_NOTIFICATION_NOT_IMPLEMENTED_COMMAND_INTERFACE_WARN</name>
      <anchorfile>namespacepilz__joint__trajectory__controller.html</anchorfile>
      <anchor>a4e389dbf629e2aa14deae34b5114ca3a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>position_controllers</name>
    <filename>namespaceposition__controllers.html</filename>
    <member kind="typedef">
      <type>pilz_joint_trajectory_controller::PilzJointTrajectoryController&lt; trajectory_interface::QuinticSplineSegment&lt; double &gt;, hardware_interface::PositionJointInterface &gt;</type>
      <name>PilzJointTrajectoryController</name>
      <anchorfile>namespaceposition__controllers.html</anchorfile>
      <anchor>ac176c593a4fe4e2e33a917022aa2fb02</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="page">
    <name>Spec</name>
    <title></title>
    <filename>Spec</filename>
    <docanchor file="Spec.html" title="System Specification">system_specification</docanchor>
    <docanchor file="Spec.html">ISO-10218-1</docanchor>
    <docanchor file="Spec.html" title="Controller Hold">controller_hold</docanchor>
    <docanchor file="Spec.html" title="Speed Monitoring">speed_monitoring</docanchor>
  </compound>
  <compound kind="page">
    <name>index</name>
    <title>Overview</title>
    <filename>index</filename>
  </compound>
</tagfile>
