README
potential_fields ROS Package Overview
This package hosts the pfield_manager node, which orchestrates the core library usage to interface with ROS:
Maintains instances of
PotentialField,MotionPlugin, and the plugin-providedIKSolver.Optionally initializes PF kinematics from a URDF path (parameter
urdf_file_path) to estimate robot extent and populate obstacles.Publishes RViz markers (goal/query triads, obstacles, influence volumes, velocity vectors) and a planned EE path.
Exposes a path-planning service and a convenience service for a local autonomy vector.
Topics and services
Publishers
pfield/markers(visualization_msgs/MarkerArray): goal, query pose, obstacles, influence zones, velocity vectors.pfield/planned_path(nav_msgs/Path): end-effector path from the last planning request.
Subscribers
pfield/planning_goal_pose(geometry_msgs/PoseStamped): sets the PF goal pose.pfield/obstacles(potential_fields_interfaces/ObstacleArray): external obstacles; any node may publish here.pfield/query_pose(geometry_msgs/Pose): live “query pose” to visualize field flow.
Services
pfield/plan_path(potential_fields_interfaces/srv/PlanPath): plan a path from a start pose to the current goal.pfield/compute_autonomy_vector(potential_fields_interfaces/srv/ComputeAutonomyVector): compute the limited twist at a pose.
Notes on robot geometry
You can supply obstacles directly via
pfield/obstaclesfrom any node.Alternatively, provide a URDF path to the node via
urdf_file_path; the PF library will initializePFKinematics, estimate robot extent (for influence distance), and can update geometry-derived obstacles as planning progresses.
Copyright Notice Sharwin Patil 2025