Skip to main content

pro_rrt Namespace

Definition

namespace pro_rrt { ... }

Namespaces Index

namespaceinternal
namespacescenario_runner

Classes Index

structConstraints

Definition of kinematic constraints to take into account during planning. More...

structJointRangeConstraint
structJointRangeEntry

One row of the joint_range_constraint BT input port (per-joint tightening of URDF limits). More...

structPlanarRotationConstraint
structPlanningError

Definition of planning error return type with a string and optional collision results. More...

classPlanningTestFixture
structRRTParams

Configuration parameters for the RRT planner. More...

structScenarioInput
structScenarioOutput

Outcome of a single planTrajectoryToJointGoal(...) call as captured for scenario logging. More...

structTrajectoryParams

Parameters for the trajectory generation. More...

structTrajectorySummary

Summary statistics of the planned trajectory — present iff planning succeeded. More...

Typedefs Index

usingContactMap = moveit_pro::base::collision_detection::CollisionResult::ContactMap

Functions Index

ConstraintscreatePlanarOrientationConstraint (const moveit_pro::base::LinkModel *link, double angle_tolerance)

Create planar orientation constraints for a set of links. More...

tl::expected< JointRangeConstraint, std::string >buildJointRangeConstraint (const moveit_pro::base::JointModelGroup &group, const std::vector< std::string > &joint_names, const std::vector< double > &lowers, const std::vector< double > &uppers)

Build a JointRangeConstraint sized to the group's active joints from per-joint bounds. More...

std::vector< Constraints >createPlanarOrientationConstraints (const moveit_pro::base::JointModelGroup &joint_model_group, const std::vector< std::string > &constrained_link_names, double angle_tolerance)

Create planar orientation constraints for a set of links. More...

tl::expected< trajectory_msgs::msg::JointTrajectory, PlanningError >planTrajectoryToJointGoal (const moveit_pro::base::JointModelGroup &group, const moveit_pro::base::RobotState &start_state, const moveit_pro::base::RobotState &goal_state, const RRTParams &rrt_params, const std::vector< Constraints > &constraints, const TrajectoryParams &trajectory_params, moveit_pro::base::planning_scene::PlanningScene &planning_scene)

Plan a trajectory from a start state to a goal state, for the given planning group, in the given planning_scene. More...

tl::expected< trajectory_msgs::msg::JointTrajectory, PlanningError >planTrajectoryToJointGoal (const moveit_pro::base::JointModelGroup &group, const Eigen::VectorXd &initial_joint_positions, const Eigen::VectorXd &goal_joint_positions, const RRTParams &rrt_params, const std::vector< Constraints > &constraints, const TrajectoryParams &trajectory_params, moveit_pro::base::planning_scene::PlanningScene &planning_scene)

Plan a trajectory from initial joint positions to goal joint positions, for the given planning group, in the given planning_scene. More...

tl::expected< rrtconnect::ConfigPath, PlanningError >planPathToJointGoal (const moveit_pro::base::JointModelGroup &group, const Eigen::VectorXd &initial_joint_positions, const Eigen::VectorXd &goal_joint_positions, const RRTParams &rrt_params, const std::vector< Constraints > &constraints, moveit_pro::base::planning_scene::PlanningScene &planning_scene)

Plan a path from initial joint positions to goal joint positions, for the given planning group, in the given planning_scene. More...

std::optional< std::string >checkInputsProRRT (double velocity_scale_factor, double acceleration_scale_factor, int trajectory_sampling_rate, double link_padding, bool keep_orientation, double keep_orientation_tolerance)

Check if a given set of inputs for ProRRT are valid. More...

boolcollisionValidationFunction (const moveit_pro::base::JointModelGroup &group, const Eigen::VectorXd &goal_positions, moveit_pro::base::planning_scene::PlanningScene &planning_scene)

Validate a joint-space configuration by checking for collisions in the given planning scene. More...

boolcollisionValidationFunction (const moveit_pro::base::JointModelGroup &group, const Eigen::VectorXd &goal_positions, moveit_pro::base::planning_scene::PlanningScene &planning_scene, bool pad_environment_collisions, bool pad_self_collisions)

Overload of collisionValidationFunction that chooses which collision checks apply the link padding set in the planning scene. More...

std::stringtoJsonString (const ScenarioInput &req)
tl::expected< void, std::string >fromJsonString (std::string_view json, ScenarioInput &out)
std::stringtoJsonString (const ScenarioOutput &res)
tl::expected< void, std::string >fromJsonString (std::string_view json, ScenarioOutput &out)

Description

JSON serialization for pro_rrt scenario capture/replay. Lives next to the planner so the input/output struct shapes stay synchronized with pro_rrt's public API. The public surface is string-based — nlohmann::json is an implementation detail of the .cpp, never exposed in the header. That isolation lets pro_rrt pick its own JSON library independently of consumers (notably behavior, which transitively pulls a different nlohmann ABI through BT.CPP's bundled contrib/json.hpp).

JSON serialization implementation. nlohmann::json is used here as a local helper and never leaks into the public header — the public API takes/returns std::string instead. Using the system nlohmann_json package (rather than the version vendored inside BT.CPP) keeps pro_rrt independent of behaviortree_cpp.

Typedefs

ContactMap

using pro_rrt::ContactMap = typedef moveit_pro::base::collision_detection::CollisionResult::ContactMap

Definition at line 41 of file pro_rrt.cpp.

Functions

buildJointRangeConstraint()

tl::expected< JointRangeConstraint, std::string > pro_rrt::buildJointRangeConstraint (const moveit_pro::base::JointModelGroup & group, const std::vector< std::string > & joint_names, const std::vector< double > & lowers, const std::vector< double > & uppers)

Build a JointRangeConstraint sized to the group's active joints from per-joint bounds.

Joints not present in joint_names get +/- infinity, so they are no-ops against the URDF limits because the existing cwiseMax/cwiseMin clamps the constraint against the joint model limits.

Parameters
group

The planning group. The size of the resulting JointRangeConstraint matches group.getActiveVariableCount().

joint_names

The names of the joints to constrain. Every entry must be an active joint of group. Duplicates are rejected.

lowers

The per-joint lower bounds, parallel to joint_names.

uppers

The per-joint upper bounds, parallel to joint_names.

Returns

The constraint, or an error string if any precondition is violated (mismatched sizes, unknown joint name, duplicate joint name, or lower > upper).

Definition at line 429 of file pro_rrt.cpp.

checkInputsProRRT()

std::optional< std::string > pro_rrt::checkInputsProRRT (double velocity_scale_factor, double acceleration_scale_factor, int trajectory_sampling_rate, double link_padding, bool keep_orientation, double keep_orientation_tolerance)

Check if a given set of inputs for ProRRT are valid.

Parameters
velocity_scale_factor

How much to scale the velocity of the trajectory, relative to the maximum robot velocity defined in configs.

acceleration_scale_factor

How much to scale the acceleration of the trajectory, relative to the maximum robot acceleration defined in configs.

trajectory_sampling_rate

The sampling rate of the output trajectory in Hz.

link_padding

The padding to be used for collision checking, in meters.

keep_orientation

Whether to keep the orientation of the robot's end effector fixed during planning.

keep_orientation_tolerance

The angle tolerance to use for the orientation constraint.

Returns

an optional string in case of invalid inputs, or nullptr otherwise.

Definition at line 812 of file pro_rrt.cpp.

collisionValidationFunction()

bool pro_rrt::collisionValidationFunction (const moveit_pro::base::JointModelGroup & group, const Eigen::VectorXd & goal_positions, moveit_pro::base::planning_scene::PlanningScene & planning_scene)

Validate a joint-space configuration by checking for collisions in the given planning scene.

This function sets the joint positions of the robot model in the input planning scene to the input goal_positions and performs a collision check. The collision check is performed against the robot's self-collision and the environment. The link padding set in the planning scene is taken into account in both collision checks, and the world object padding in the environment check.

Parameters
group

Joint model group associated with goal_positions.

goal_positions

Joint-space configuration to validate. Must hold one value per active variable of groupsize() == group.getActiveVariableCount() — since a longer vector would otherwise be silently truncated and the check would answer for a different configuration than the caller asked about.

planning_scene

Planning scene to perform the collision check against.

Returns

True if the input goal_positions are collision-free in the input planning_scene, false otherwise.

Definition at line 842 of file pro_rrt.cpp.

collisionValidationFunction()

bool pro_rrt::collisionValidationFunction (const moveit_pro::base::JointModelGroup & group, const Eigen::VectorXd & goal_positions, moveit_pro::base::planning_scene::PlanningScene & planning_scene, bool pad_environment_collisions, bool pad_self_collisions)

Overload of collisionValidationFunction that chooses which collision checks apply the link padding set in the planning scene.

Parameters
pad_environment_collisions

Whether the link padding applies to collision checks between robot links and the environment.

pad_self_collisions

Whether the link padding applies to self-collision checks (robot links against each other, against other robot bodies, and against attached objects).

Returns

True if the input goal_positions are collision-free in the input planning_scene, false otherwise.

Definition at line 849 of file pro_rrt.cpp.

createPlanarOrientationConstraint()

Constraints pro_rrt::createPlanarOrientationConstraint (const moveit_pro::base::LinkModel * link, double angle_tolerance)

Create planar orientation constraints for a set of links.

Parameters
link

The link to constrain.

angle_tolerance

The angle tolerance to use for the orientation constraint.

Returns

The planar orientation constraint.

Definition at line 404 of file pro_rrt.cpp.

createPlanarOrientationConstraints()

std::vector< Constraints > pro_rrt::createPlanarOrientationConstraints (const moveit_pro::base::JointModelGroup & joint_model_group, const std::vector< std::string > & constrained_link_names, double angle_tolerance)

Create planar orientation constraints for a set of links.

Parameters
joint_model_group

The joint model group to define constraints for.

constrained_link_names

The names of the links to constrain.

angle_tolerance

The angle tolerance to use for the orientation constraint.

Returns

The planar orientation constraints.

Definition at line 415 of file pro_rrt.cpp.

fromJsonString()

tl::expected< void, std::string > pro_rrt::fromJsonString (std::string_view json, ScenarioInput & out)

Definition at line 342 of file scenario_interface.cpp.

fromJsonString()

tl::expected< void, std::string > pro_rrt::fromJsonString (std::string_view json, ScenarioOutput & out)

Definition at line 347 of file scenario_interface.cpp.

planPathToJointGoal()

tl::expected< rrtconnect::ConfigPath, PlanningError > pro_rrt::planPathToJointGoal (const moveit_pro::base::JointModelGroup & group, const Eigen::VectorXd & initial_joint_positions, const Eigen::VectorXd & goal_joint_positions, const RRTParams & rrt_params, const std::vector< Constraints > & constraints, moveit_pro::base::planning_scene::PlanningScene & planning_scene)

Plan a path from initial joint positions to goal joint positions, for the given planning group, in the given planning_scene.

Parameters
group

Joint model group to plan motion for.

initial_joint_positions

The initial joint positions of group.

goal_joint_positions

The desired goal joint positions for group.

rrt_params

Configuration parameters for the RRT planner.

constraints

The kinematic constraints to take into account during planning.

planning_scene

The planning scene to plan in, i.e. the obstacles around the robot.

Returns

the planned path as a rrtconnect::ConfigPath if one is found, or a PlanningError if the planning fails.

Definition at line 640 of file pro_rrt.cpp.

planTrajectoryToJointGoal()

tl::expected< trajectory_msgs::msg::JointTrajectory, PlanningError > pro_rrt::planTrajectoryToJointGoal (const moveit_pro::base::JointModelGroup & group, const moveit_pro::base::RobotState & start_state, const moveit_pro::base::RobotState & goal_state, const RRTParams & rrt_params, const std::vector< Constraints > & constraints, const TrajectoryParams & trajectory_params, moveit_pro::base::planning_scene::PlanningScene & planning_scene)

Plan a trajectory from a start state to a goal state, for the given planning group, in the given planning_scene.

Parameters
group

Joint model group to plan motion for.

start_state

The start state of the robot.

goal_state

The goal state of the robot.

rrt_params

Configuration parameters for the RRT planner.

constraints

The kinematic constraints to take into account during planning.

trajectory_params

Parameters for the trajectory generation.

planning_scene

The planning scene to plan in, i.e. the obstacles around the robot.

Returns

the planned trajectory as a trajectory_msgs::msg::JointTrajectory if one is found, or a PlanningError if the planning fails.

Definition at line 487 of file pro_rrt.cpp.

planTrajectoryToJointGoal()

tl::expected< trajectory_msgs::msg::JointTrajectory, PlanningError > pro_rrt::planTrajectoryToJointGoal (const moveit_pro::base::JointModelGroup & group, const Eigen::VectorXd & initial_joint_positions, const Eigen::VectorXd & goal_joint_positions, const RRTParams & rrt_params, const std::vector< Constraints > & constraints, const TrajectoryParams & trajectory_params, moveit_pro::base::planning_scene::PlanningScene & planning_scene)

Plan a trajectory from initial joint positions to goal joint positions, for the given planning group, in the given planning_scene.

Parameters
group

Joint model group to plan motion for.

initial_joint_positions

The initial joint positions of group.

goal_joint_positions

The desired goal joint positions for group.

rrt_params

Configuration parameters for the RRT planner.

constraints

The kinematic constraints to take into account during planning.

trajectory_params

Parameters for the trajectory generation.

planning_scene

The planning scene to plan in, i.e. the obstacles around the robot.

Returns

the planned trajectory as a trajectory_msgs::msg::JointTrajectory if one is found, or a PlanningError if the planning fails.

Definition at line 514 of file pro_rrt.cpp.

toJsonString()

std::string pro_rrt::toJsonString (const ScenarioInput & req)

Definition at line 314 of file scenario_interface.cpp.

toJsonString()

std::string pro_rrt::toJsonString (const ScenarioOutput & res)

Definition at line 319 of file scenario_interface.cpp.


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


Generated via doxygen2docusaurus 2.2.2 by Doxygen 1.9.8.