CHANGELOG

Changelog for package potential_fields

1.0.2 (2026-04-04)

  • Clarified Obstacle type’s geometry fields

  • Moved HSVtoRGB to pfield_manager instead

  • Estimate Robot Geometry using Ellipsoids and Control Points for smooth WBV Repulsion (#42) Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

  • 40 test main branch ruleset (testing Issue #40) (#41)

  • README edits and CONTRIBUTING.md

  • Created visualization method to visualize both TS and WBV

  • Fixed CSV bugs and tested demo1 and demo2, TS planning has problems

  • 1.0.1

  • Rename Packages (#35)

  • Enabling Github Workflow for building and testing repo (#33)

  • Successfully migrated all unit tests to pfield_library (#32)

  • December Final Demos (#26)

  • Use Robot Dynamics to convert Joint Torques to Joint Velocities (#24)

  • Independent pfield C++ Library (#22)

  • Updating ComputeAutonomyVector

  • Collision Avoidance between robot links and environment obstacles (#21)

  • XArm 7-DoF Arm Demo (#19)

  • Dynamic D* Threshold (#20)

  • Aligned AttractiveMoment Doc with Implementation

  • Fixing Rotational Attraction (#18)

  • Editing gains

  • Fixing goal and query pose visualizations

  • Fixing plotting functions and organizing code (#16) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

  • Adding Reference to Principles of Robot Motion and Updating PF Equations (#15)

  • Updating repulsive force computation from Choset text

  • Repulsive force piecewise equation includes equals to QStar

  • Merged in extra fixes

  • Comments cleanup

  • Using RK4 for integrating position from PF Twist (#13)

  • Tested another demo with plots

  • Docstrings for new functions

  • First pass at RK4

  • Fixing up tests

  • Prototyping path planning (#11)

  • Refactored influence scale and mesh collision (#12)

  • Merge branch ‘main’ of github.com:argallab/pfields_2025

  • Merged RobotParser into PFieldManager (#10)

  • Current TODO

  • Pinocchio for Obstacles and Motion Constraints (#9)

  • PlanPath Service Demo (#7)

  • Planning “World” for path-planning with robot (#6)

  • Motion Interface (#5)

  • Update license to Apache 2.0

  • Updating email to northwestern email for packages

  • Updating functions to write to folders

  • Documentation

  • Updating robot parser targets

  • typo

  • Custom service to plan path in PF

  • Merge pull request #4 from argallab/demo-package Example Package

  • Changing error to warn

  • Launch arguments and parsing raw URDF

  • Created robot parser node to listen for the transforms and parse the URDF collision objects

  • Typo

  • RViz sets fixed frame from user

  • Moving static transforms to demo repository

  • Updating build info

  • Removing extra forward slash

  • Another delta robot typo

  • Fixing typo with delta robot include dir

  • Created interpolate and integration functions for PField linear velocity and angular velocity

  • A bit of hacking to get obstacles where the URDF defines them

  • Created TF from world

  • Attempting to fix TF listener and collision objects

  • Fixed ID incrementing

  • Fixed parsing problem but collision objects aren’t showing up

  • Created URDF testing file

  • Adding urdf parser

  • Updating the transforms of every obstacle

  • Added path trajectory and tf at world frame

  • Merge pull request #2 from argallab/more-obstacles More Obstacle Support

  • Moved rotated object to new position

  • Fixed frequency in timer

  • Removed the Lerp

  • Updated Obstacle class, tests, and visualizer

  • Added default case to withinInfluenceZone

  • Converted SphereObstacle to PFObstacle class

  • Cleaned up file comment

  • documentation and normalizePosition

  • Deleted default constructor for sphereObstacle to force data entry

  • Followed NL.16 and removed extra public: statements

  • Adjusting units and adding notes

  • Deleted influence_scale_radius param since it’s unused

  • Changing query point size

  • Visualize a query point

  • Visualize a query point

  • Visualizing the orientation of the goal and setting the goal pose with subscriber to /goal_pose

  • Created an interfaces package

  • Merge pull request #1 from argallab/eigenify Implementing Vector operations with Eigen3

  • Few more tests for angular distance

  • Removed geodesic distance function and replaced with Eigen angularDistance function

  • euler functions are now YPR and comments accordingly

  • Added more tests and verified euler to quaternion method

  • Collapsed implementation into header

  • Fixed euler conversion

  • All tests pass but need to write more

  • Added normalizePosition function

  • Fixed manager with new syntax and Eigen vectors

  • Edited attraction and repulsion functions using Eigen and new SpatialVector formatting

  • Changed tests to match new syntax

  • Reimplemented position and orientation with eigen and removed operator overloads and changed floats to doubles

  • Changed position to an Eigen::Vector3d and changed floats to doubles

  • Adjusted language and changed floats to doubles

  • Built PKG with Eigen dependency and with include statement

  • Added rotational attractive gain and equation to README

  • Wrote geodesic formulation in README and function as commented code

  • Replaced geodesic distance with raw implementation inside Quaternion difference

  • Wrote tests but orientation methods are failing

  • Removing uncrustify tests

  • Reverted formatting of uncrustify

  • Reformated with uncrustify and created tests

  • Attraction now includes orientation

  • Vector3D -> SpatialVector

  • Meeting notes

  • Cleaning up docs in pfield vector markers

  • Drew arrows in RViz

  • Saved rviz config

  • Included RViz and added config and launch folders/files

  • Started writing node

  • Edited math to match the python version that created graphs

  • Updating force computation

  • Docstrings

  • Started working on implementation of C++ Potential Fields in a ROS2 pkg

  • Contributors: Demiana Barsoum, Sharwin Patil, Sharwin24