Skip to main content

PoseJog Class

A Behavior to protect a robot from collisions when using the MoveIt Pro Velocity Force Controller (VFC). More...

Declaration​

class moveit_pro::behaviors::PoseJog { ... }

Included Headers​

#include <pose_jog.hpp>

Base class​

classSharedResourcesNode<BehaviorTreeNodeT>

The SharedResourcesNode class provides a BehaviorContext object when constructing a BehaviorTree.Cpp node. More...

Public Constructors Index​

PoseJog (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< moveit_pro::behaviors::BehaviorContext > &shared_resources)

Public Member Functions Index​

BT::NodeStatusonStart () override
BT::NodeStatusonRunning () override
voidonHalted () override
std::shared_ptr< moveit_pro::planning_scene_monitor::PlanningSceneMonitor >getPlanningSceneMonitor () const
voidsetParametersForVFC (std::string_view controller_name, std::string_view tip_link_name, const Eigen::VectorXd &max_joint_acceleration, const Eigen::Vector6d &max_cartesian_acceleration, const Eigen::Vector6d &max_cartesian_velocity)

Private Member Functions Index​

tl::expected< void, std::string >validateInputs () const
voidvisualizePredictedPoses (const std::vector< Eigen::Isometry3d > &predicted_tip_poses) const
voidvisualizeCollisionResult (const moveit_pro::base::collision_detection::CollisionResult &collision_result) const
voidsceneUpdateCallback (const moveit_pro::planning_scene_monitor::PlanningSceneMonitor::SceneUpdateType &update_type)
tl::expected< void, moveit_pro::base::collision_detection::CollisionResult >collisionCheck (const moveit_pro::base::RobotState &robot_state) const
tl::expected< void, std::string >initializeVFCBridges ()
tl::expected< void, std::string >checkIfParametersReceived () const
std::optional< JogInputs >changedInputs () const
voidstopAllGroups () const

Private Member Attributes Index​

std::vector< std::string >planning_group_names_
std::vector< std::string >controller_names_
doublestop_safety_factor_ = 1.0
std::optional< double >link_padding_
std::stringlast_link_padding_deprecation_warning_
boolinclude_octomap_ = false
std::atomic< bool >skip_collision_checks_ = false
std::shared_ptr< moveit_pro::base::RobotModel >robot_model_
std::vector< std::shared_ptr< VFCBridge > >vfc_bridges_
std::mutexvfc_bridges_mutex_
std::shared_ptr< moveit_pro::planning_scene_monitor::PlanningSceneMonitor >planning_scene_monitor_
std::atomic< bool >state_prediction_valid_ = true
std::shared_ptr< rclcpp::Subscription< moveit_msgs::msg::PlanningScene > >main_scene_subscriber_
std::unique_ptr< moveit_pro::base::RobotState >stop_robot_state_
std::shared_ptr< rclcpp::Publisher< visualization_msgs::msg::MarkerArray > >marker_publisher_
rclcpp::Timestart_time_
std::atomic< bool >parameters_received_ = false

Public Static Functions Index​

static BT::PortsListprovidedPorts ()
static BT::KeyValueVectormetadata ()

Public Static Attributes Index​

static constexpr autokPortIdPlanningGroupNames = "planning_group_names"
static constexpr autokPortIdControllerNames = "controller_names"
static constexpr autokPortIdStopSafetyFactor = "stop_safety_factor"
static constexpr autokPortIdLinkPadding = "link_padding"
static constexpr autokPortIdIncludeOctomap = "include_octomap"
static constexpr autokPortIdSkipCollisionChecks = "skip_collision_checks"

Description​

A Behavior to protect a robot from collisions when using the MoveIt Pro Velocity Force Controller (VFC).

This Behavior will subscribe to messages of type moveit_pro_controllers_msgs/VelocityForceCommand, check that they are valid (e.g. kinematically feasible and non-colliding), and forward them to a Velocity Force Controller (VFC) for execution. Multiple planning groups can be controlled by this Behavior, each with its own VFC.

Data Port NamePort TypeObject Type
planning_group_namesInputstd::vector<std::string>
controller_namesInputstd::vector<std::string>
stop_safety_factorInputdouble
collision_check_paramsInputmoveit_studio_msgs::msg::CollisionCheckParams
link_paddingInputdouble (deprecated)
include_octomapInputbool
skip_collision_checksInputbool

Definition at line 44 of file pose_jog.hpp.

Public Constructors​

PoseJog()​

moveit_pro::behaviors::PoseJog::PoseJog (const std::string & name, const BT::NodeConfiguration & config, const std::shared_ptr< moveit_pro::behaviors::BehaviorContext > & shared_resources)

Declaration at line 55 of file pose_jog.hpp, definition at line 171 of file pose_jog.cpp.

Public Member Functions​

getPlanningSceneMonitor()​

std::shared_ptr< moveit_pro::planning_scene_monitor::PlanningSceneMonitor > moveit_pro::behaviors::PoseJog::getPlanningSceneMonitor ()
inline

Definition at line 73 of file pose_jog.hpp.

onHalted()​

void moveit_pro::behaviors::PoseJog::onHalted ()

Declaration at line 70 of file pose_jog.hpp, definition at line 721 of file pose_jog.cpp.

onRunning()​

BT::NodeStatus moveit_pro::behaviors::PoseJog::onRunning ()

Declaration at line 66 of file pose_jog.hpp, definition at line 658 of file pose_jog.cpp.

onStart()​

BT::NodeStatus moveit_pro::behaviors::PoseJog::onStart ()

Declaration at line 63 of file pose_jog.hpp, definition at line 574 of file pose_jog.cpp.

setParametersForVFC()​

void moveit_pro::behaviors::PoseJog::setParametersForVFC (std::string_view controller_name, std::string_view tip_link_name, const Eigen::VectorXd & max_joint_acceleration, const Eigen::Vector6d & max_cartesian_acceleration, const Eigen::Vector6d & max_cartesian_velocity)

Declaration at line 80 of file pose_jog.hpp, definition at line 752 of file pose_jog.cpp.

Private Member Functions​

changedInputs()​

std::optional< PoseJog::JogInputs > moveit_pro::behaviors::PoseJog::changedInputs ()

Declaration at line 171 of file pose_jog.hpp, definition at line 546 of file pose_jog.cpp.

checkIfParametersReceived()​

tl::expected< void, std::string > moveit_pro::behaviors::PoseJog::checkIfParametersReceived ()

Declaration at line 160 of file pose_jog.hpp, definition at line 521 of file pose_jog.cpp.

collisionCheck()​

tl::expected< void, moveit_pro::base::collision_detection::CollisionResult > moveit_pro::behaviors::PoseJog::collisionCheck (const moveit_pro::base::RobotState & robot_state)

Declaration at line 152 of file pose_jog.hpp, definition at line 486 of file pose_jog.cpp.

initializeVFCBridges()​

tl::expected< void, std::string > moveit_pro::behaviors::PoseJog::initializeVFCBridges ()

Declaration at line 156 of file pose_jog.hpp, definition at line 510 of file pose_jog.cpp.

sceneUpdateCallback()​

void moveit_pro::behaviors::PoseJog::sceneUpdateCallback (const moveit_pro::planning_scene_monitor::PlanningSceneMonitor::SceneUpdateType & update_type)

Declaration at line 147 of file pose_jog.hpp, definition at line 331 of file pose_jog.cpp.

stopAllGroups()​

void moveit_pro::behaviors::PoseJog::stopAllGroups ()

Declaration at line 174 of file pose_jog.hpp, definition at line 561 of file pose_jog.cpp.

validateInputs()​

tl::expected< void, std::string > moveit_pro::behaviors::PoseJog::validateInputs ()

Declaration at line 137 of file pose_jog.hpp, definition at line 177 of file pose_jog.cpp.

visualizeCollisionResult()​

void moveit_pro::behaviors::PoseJog::visualizeCollisionResult (const moveit_pro::base::collision_detection::CollisionResult & collision_result)

Declaration at line 143 of file pose_jog.hpp, definition at line 289 of file pose_jog.cpp.

visualizePredictedPoses()​

void moveit_pro::behaviors::PoseJog::visualizePredictedPoses (const std::vector< Eigen::Isometry3d > & predicted_tip_poses)

Declaration at line 140 of file pose_jog.hpp, definition at line 248 of file pose_jog.cpp.

Private Member Attributes​

controller_names_​

std::vector<std::string> moveit_pro::behaviors::PoseJog::controller_names_

Definition at line 178 of file pose_jog.hpp.

include_octomap_​

bool moveit_pro::behaviors::PoseJog::include_octomap_ = false

Definition at line 186 of file pose_jog.hpp.

last_link_padding_deprecation_warning_​

std::string moveit_pro::behaviors::PoseJog::last_link_padding_deprecation_warning_

Definition at line 185 of file pose_jog.hpp.

link_padding_​

std::optional<double> moveit_pro::behaviors::PoseJog::link_padding_

Definition at line 182 of file pose_jog.hpp.

main_scene_subscriber_​

std::shared_ptr<rclcpp::Subscription<moveit_msgs::msg::PlanningScene> > moveit_pro::behaviors::PoseJog::main_scene_subscriber_

Definition at line 206 of file pose_jog.hpp.

marker_publisher_​

std::shared_ptr<rclcpp::Publisher<visualization_msgs::msg::MarkerArray> > moveit_pro::behaviors::PoseJog::marker_publisher_

Definition at line 213 of file pose_jog.hpp.

parameters_received_​

std::atomic<bool> moveit_pro::behaviors::PoseJog::parameters_received_ = false

Definition at line 219 of file pose_jog.hpp.

planning_group_names_​

std::vector<std::string> moveit_pro::behaviors::PoseJog::planning_group_names_

Definition at line 177 of file pose_jog.hpp.

planning_scene_monitor_​

std::shared_ptr<moveit_pro::planning_scene_monitor::PlanningSceneMonitor> moveit_pro::behaviors::PoseJog::planning_scene_monitor_

Definition at line 202 of file pose_jog.hpp.

robot_model_​

std::shared_ptr<moveit_pro::base::RobotModel> moveit_pro::behaviors::PoseJog::robot_model_

Definition at line 193 of file pose_jog.hpp.

skip_collision_checks_​

std::atomic<bool> moveit_pro::behaviors::PoseJog::skip_collision_checks_ = false

Definition at line 190 of file pose_jog.hpp.

start_time_​

rclcpp::Time moveit_pro::behaviors::PoseJog::start_time_

Definition at line 216 of file pose_jog.hpp.

state_prediction_valid_​

std::atomic<bool> moveit_pro::behaviors::PoseJog::state_prediction_valid_ = true

Definition at line 203 of file pose_jog.hpp.

stop_robot_state_​

std::unique_ptr<moveit_pro::base::RobotState> moveit_pro::behaviors::PoseJog::stop_robot_state_

Definition at line 210 of file pose_jog.hpp.

stop_safety_factor_​

double moveit_pro::behaviors::PoseJog::stop_safety_factor_ = 1.0

Definition at line 179 of file pose_jog.hpp.

vfc_bridges_​

std::vector<std::shared_ptr<VFCBridge> > moveit_pro::behaviors::PoseJog::vfc_bridges_

Definition at line 198 of file pose_jog.hpp.

vfc_bridges_mutex_​

std::mutex moveit_pro::behaviors::PoseJog::vfc_bridges_mutex_

Definition at line 199 of file pose_jog.hpp.

Public Static Functions​

metadata()​

BT::KeyValueVector moveit_pro::behaviors::PoseJog::metadata ()
static

Declaration at line 60 of file pose_jog.hpp, definition at line 242 of file pose_jog.cpp.

providedPorts()​

BT::PortsList moveit_pro::behaviors::PoseJog::providedPorts ()
static

Declaration at line 58 of file pose_jog.hpp, definition at line 208 of file pose_jog.cpp.

Public Static Attributes​

kPortIdControllerNames​

constexpr auto moveit_pro::behaviors::PoseJog::kPortIdControllerNames = "controller_names"
constexpr static

Definition at line 49 of file pose_jog.hpp.

kPortIdIncludeOctomap​

constexpr auto moveit_pro::behaviors::PoseJog::kPortIdIncludeOctomap = "include_octomap"
constexpr static

Definition at line 52 of file pose_jog.hpp.

kPortIdLinkPadding​

constexpr auto moveit_pro::behaviors::PoseJog::kPortIdLinkPadding = "link_padding"
constexpr static

Definition at line 51 of file pose_jog.hpp.

kPortIdPlanningGroupNames​

constexpr auto moveit_pro::behaviors::PoseJog::kPortIdPlanningGroupNames = "planning_group_names"
constexpr static

Definition at line 48 of file pose_jog.hpp.

kPortIdSkipCollisionChecks​

constexpr auto moveit_pro::behaviors::PoseJog::kPortIdSkipCollisionChecks = "skip_collision_checks"
constexpr static

Definition at line 53 of file pose_jog.hpp.

kPortIdStopSafetyFactor​

constexpr auto moveit_pro::behaviors::PoseJog::kPortIdStopSafetyFactor = "stop_safety_factor"
constexpr static

Definition at line 50 of file pose_jog.hpp.


The documentation for this class was generated from the following files:


Generated via doxygen2docusaurus 2.2.2 by Doxygen 1.9.8.