13 validity_service_ =
context_->moveit_cpp_->getNode()->create_service<moveit_msgs::srv::GetMultiStateValidity>(
14 MULTI_STATE_VALIDITY_SERVICE_NAME,
15 [
this](
const std::shared_ptr<rmw_request_id_t>& request_header,
16 const std::shared_ptr<moveit_msgs::srv::GetMultiStateValidity::Request>& req,
17 const std::shared_ptr<moveit_msgs::srv::GetMultiStateValidity::Response>& res) {
18 return computeService(request_header, req, res);
22bool MoveGroupMultiStateValidationService::computeService(
23 const std::shared_ptr<rmw_request_id_t>& ,
24 const std::shared_ptr<moveit_msgs::srv::GetMultiStateValidity::Request>& req,
25 const std::shared_ptr<moveit_msgs::srv::GetMultiStateValidity::Response>& res)
30 for (
size_t i = 0; i < req->joint_states.size(); ++i)
36 res->valid =
isStateValid(ls, rs, req->group_name, req->constraints, res->contacts, res->cost_sources,
37 res->constraint_result);
51#include <pluginlib/class_list_macros.hpp>
PLUGINLIB_EXPORT_CLASS(cached_ik_kinematics_plugin::CachedIKKinematicsPlugin< kdl_kinematics_plugin::KDLKinematicsPlugin >, kinematics::KinematicsBase)
MoveGroupContextPtr context_
void initialize() override
bool isStateValid(const planning_scene_monitor::LockedPlanningSceneRO &ls, const moveit::core::RobotState &rs, const std::string &group_name, const moveit_msgs::msg::Constraints &constraints, std::vector< moveit_msgs::msg::ContactInformation > &contacts, std::vector< moveit_msgs::msg::CostSource > &cost_sources, std::vector< moveit_msgs::msg::ConstraintEvalResult > &constraint_result)
Representation of a robot's state. This includes position, velocity, acceleration and effort.
void setVariableValues(const sensor_msgs::msg::JointState &msg)
This is a convenience class for obtaining access to an instance of a locked PlanningScene.
bool robotStateMsgToRobotState(const Transforms &tf, const moveit_msgs::msg::RobotState &robot_state, RobotState &state, bool copy_attached_bodies=true)
Convert a robot state msg (with accompanying extra transforms) to a MoveIt robot state.