personalrobotics / aikido

Artificial Intelligence for Kinematics, Dynamics, and Optimization
https://personalrobotics.github.io/aikido/
BSD 3-Clause "New" or "Revised" License
213 stars 30 forks source link

Add planToPoseOffset via VectorFieldPosePlanner #628

Closed egordon closed 1 year ago

egordon commented 1 year ago

Instead of creating a whole new ConfigurationToEndEffectorTwist problem and planner (which would be somewhat redundant with ConfigurationToEndEffectorOffset), piggy-back on top of the ConfigurationToEndEffectorPose problem to create a planToPoseOffset function in the Robot class.

In effect, if you add a desired translation and rotation of the end-effector, this will attempt to follow a Vector Field defined by the Jacobian of the configuration space to achieve that translation and rotation. If rotation is 0, Twist and Offset should output identical results.


Before creating a pull request

Before merging a pull request

codecov[bot] commented 1 year ago

Codecov Report

Merging #628 (f7ea32a) into master (bb5e7ce) will decrease coverage by 0.01%. The diff coverage is 60.36%.

@@            Coverage Diff             @@
##           master     #628      +/-   ##
==========================================
- Coverage   73.06%   73.05%   -0.02%     
==========================================
  Files         219      221       +2     
  Lines        7872     7972     +100     
==========================================
+ Hits         5752     5824      +72     
- Misses       2120     2148      +28     
Impacted Files Coverage Δ
...ner/vectorfield/MoveEndEffectorPoseVectorField.hpp 0.00% <ø> (ø)
include/aikido/robot/Robot.hpp 100.00% <ø> (ø)
include/aikido/robot/util.hpp 54.54% <0.00%> (ø)
src/robot/Robot.cpp 20.00% <0.00%> (-2.66%) :arrow_down:
src/planner/vectorfield/VectorFieldPlanner.cpp 78.46% <77.77%> (-2.19%) :arrow_down:
include/aikido/common/util.hpp 100.00% <100.00%> (ø)
...ner/dart/ConfigurationToEndEffectorPosePlanner.cpp 100.00% <100.00%> (ø)
...ner/vectorfield/MoveEndEffectorPoseVectorField.cpp 100.00% <100.00%> (+6.66%) :arrow_up:
...ctorFieldConfigurationToEndEffectorPosePlanner.cpp 100.00% <100.00%> (ø)
... and 3 more