pro_rrt Namespace
Definition
Namespaces Index
| namespace | internal |
| namespace | scenario_runner |
Classes Index
| struct | Constraints |
|
Definition of kinematic constraints to take into account during planning. More... | |
| struct | JointRangeConstraint |
| struct | JointRangeEntry |
|
One row of the joint_range_constraint BT input port (per-joint tightening of URDF limits). More... | |
| struct | PlanarRotationConstraint |
| struct | PlanningError |
|
Definition of planning error return type with a string and optional collision results. More... | |
| class | PlanningTestFixture |
| struct | RRTParams |
|
Configuration parameters for the RRT planner. More... | |
| struct | ScenarioInput |
| struct | ScenarioOutput |
|
Outcome of a single planTrajectoryToJointGoal(...) call as captured for scenario logging. More... | |
| struct | TrajectoryParams |
|
Parameters for the trajectory generation. More... | |
| struct | TrajectorySummary |
|
Summary statistics of the planned trajectory — present iff planning succeeded. More... | |
Typedefs Index
| using | ContactMap = moveit_pro::base::collision_detection::CollisionResult::ContactMap |
Functions Index
| Constraints | createPlanarOrientationConstraint (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... | |
| bool | 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. More... | |
| bool | 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. More... | |
| std::string | toJsonString (const ScenarioInput &req) |
| tl::expected< void, std::string > | fromJsonString (std::string_view json, ScenarioInput &out) |
| std::string | toJsonString (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
|
Definition at line 41 of file pro_rrt.cpp.
Functions
buildJointRangeConstraint()
|
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()
|
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()
|
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 group — size() == 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()
|
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()
|
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()
|
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()
|
Definition at line 342 of file scenario_interface.cpp.
fromJsonString()
|
Definition at line 347 of file scenario_interface.cpp.
planPathToJointGoal()
|
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()
|
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()
|
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()
|
Definition at line 314 of file scenario_interface.cpp.
toJsonString()
|
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.