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
doublelink_padding_ = 0.0
boolinclude_octomap_ = false
boolskip_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
link_paddingInputdouble
include_octomapInputbool
skip_collision_checksInputbool

Definition at line 42 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 53 of file pose_jog.hpp, definition at line 168 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 71 of file pose_jog.hpp.

onHalted()

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

Declaration at line 68 of file pose_jog.hpp, definition at line 699 of file pose_jog.cpp.

onRunning()

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

Declaration at line 64 of file pose_jog.hpp, definition at line 636 of file pose_jog.cpp.

onStart()

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

Declaration at line 61 of file pose_jog.hpp, definition at line 565 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 78 of file pose_jog.hpp, definition at line 730 of file pose_jog.cpp.

Private Member Functions

changedInputs()

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

Declaration at line 169 of file pose_jog.hpp, definition at line 537 of file pose_jog.cpp.

checkIfParametersReceived()

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

Declaration at line 158 of file pose_jog.hpp, definition at line 512 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 150 of file pose_jog.hpp, definition at line 477 of file pose_jog.cpp.

initializeVFCBridges()

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

Declaration at line 154 of file pose_jog.hpp, definition at line 501 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 145 of file pose_jog.hpp, definition at line 322 of file pose_jog.cpp.

stopAllGroups()

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

Declaration at line 172 of file pose_jog.hpp, definition at line 552 of file pose_jog.cpp.

validateInputs()

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

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

visualizeCollisionResult()

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

Declaration at line 141 of file pose_jog.hpp, definition at line 280 of file pose_jog.cpp.

visualizePredictedPoses()

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

Declaration at line 138 of file pose_jog.hpp, definition at line 239 of file pose_jog.cpp.

Private Member Attributes

controller_names_

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

Definition at line 176 of file pose_jog.hpp.

include_octomap_

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

Definition at line 179 of file pose_jog.hpp.

link_padding_

double moveit_pro::behaviors::PoseJog::link_padding_ = 0.0

Definition at line 178 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 196 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 203 of file pose_jog.hpp.

parameters_received_

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

Definition at line 209 of file pose_jog.hpp.

planning_group_names_

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

Definition at line 175 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 192 of file pose_jog.hpp.

robot_model_

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

Definition at line 183 of file pose_jog.hpp.

skip_collision_checks_

bool moveit_pro::behaviors::PoseJog::skip_collision_checks_ = false

Definition at line 180 of file pose_jog.hpp.

start_time_

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

Definition at line 206 of file pose_jog.hpp.

state_prediction_valid_

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

Definition at line 193 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 200 of file pose_jog.hpp.

stop_safety_factor_

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

Definition at line 177 of file pose_jog.hpp.

vfc_bridges_

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

Definition at line 188 of file pose_jog.hpp.

vfc_bridges_mutex_

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

Definition at line 189 of file pose_jog.hpp.

Public Static Functions

metadata()

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

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

providedPorts()

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

Declaration at line 56 of file pose_jog.hpp, definition at line 209 of file pose_jog.cpp.

Public Static Attributes

kPortIdControllerNames

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

Definition at line 47 of file pose_jog.hpp.

kPortIdIncludeOctomap

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

Definition at line 50 of file pose_jog.hpp.

kPortIdLinkPadding

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

Definition at line 49 of file pose_jog.hpp.

kPortIdPlanningGroupNames

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

Definition at line 46 of file pose_jog.hpp.

kPortIdSkipCollisionChecks

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

Definition at line 51 of file pose_jog.hpp.

kPortIdStopSafetyFactor

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

Definition at line 48 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.