Robert Haschke
6de570c7a6
new TrajectoryCostTerm: DistanceToReference
2022-12-09 11:19:41 +01:00
Robert Haschke
a9b4947845
PathLength: allow weighting of different joints
2022-12-09 10:16:19 +01:00
Robert Haschke
954089eae4
Merge PR #99 : Python API
...
... based on pybind11
2022-11-22 21:24:17 +01:00
Robert Haschke
164ce4eab8
clang-tidy: fix variable/method naming
2022-11-03 18:30:21 +01:00
Robert Haschke
7d5f9fe6e3
Fix clang-tidy warnings
2022-11-02 18:44:38 +01:00
Robert Haschke
f88e25fe74
Merge PR #380 : Fix Cartesian interpolation
...
Correctly consider an offset transform from link to reference frame,
such that rotations w.r.t. the reference frame don't move its origin.
2022-11-01 23:51:53 +01:00
Robert Haschke
0c9524930a
CI: stricter warnings
2022-11-01 23:41:17 +01:00
Robert Haschke
d66b2262ed
Rename variables in visualizePlan()
...
- link_pose -> start_pose
- pos_link -> pos_start
2022-10-31 19:53:07 +01:00
Robert Haschke
32d3454c1f
Fix getRobotTipForFrame()
...
When passing the root frame, getRigidlyConnectedParentLinkModel() returns
a nullptr for robot_link, causing a segfault.
Actually, we don't need to use that method at all. We just need to find
the robot_link of an associated body.
2022-10-31 19:53:07 +01:00
Robert Haschke
fd123cc4a7
Fix handling of ik_frame in Cartesian path planning
...
The ik_frame should move in a straight-line Cartesian path.
However, so far the link frame was following a Cartesian path.
2022-10-31 19:53:07 +01:00
Robert Haschke
ec366b26ee
MoveRelative: Correctly compute motion transform
...
The twist motion performs an angular rotation about the given axis _and_
the origin of ik_frame as well as a linear translation.
Both transforms are expressed w.r.t. the model frame and thus require
left-multiplication to ik_frame's current pose.
2022-10-31 19:53:07 +01:00
Robert Haschke
076957d4dc
Simplify MoveRelative
2022-10-31 19:53:07 +01:00
Robert Haschke
64a8df1fde
Merge CI fixes/improvements
2022-10-24 10:21:34 +02:00
Robert Haschke
4c9b16511b
Hopefully fix spurious test failure
2022-10-24 10:21:28 +02:00
v4hn
c60cd6c86f
Avoid unused-parameter warnings
2022-10-24 10:21:28 +02:00
v4hn
2b2689e8d7
Use catkin_INCLUDE_DIRS as system includes
...
... to suppress warnings outside the code base
2022-10-24 10:07:38 +02:00
Robert Haschke
28fb974adb
Remove MoveIt compatibility code
2022-10-23 22:16:58 +02:00
Niklas Fiedler
30512bcbb4
Report 1st collision pair for invalid IK solutions ( #376 )
2022-07-22 13:38:05 +02:00
Jafar
e923fbc0c6
Fix Task's move constructor ( #371 )
...
* Add unit test
* Fix TaskPrivate's move assignment operator
* Slightly simplify code
Co-authored-by: Robert Haschke <rhaschke@techfak.uni-bielefeld.de>
2022-06-14 22:13:19 +02:00
Wyatt Rees
60229db010
Add KinematicsQueryOptions property in CartesianPath solver ( #370 )
2022-06-03 19:39:51 +03:00
Robert Haschke
d2918f130d
Pruning: Relax too strong assertion: PRUNED => !ARMED ( #340 )
2022-05-08 11:56:17 +02:00
Robert Haschke
9026ac8746
Make TimeParamerization configurable ( #339 )
2022-05-08 11:54:05 +02:00
Robert Haschke
096c671887
Pruning: Relax too strong assertion: PRUNED => !ARMED
...
If two Connect stages are sequenced, both sides can become ARMED.
However, that means that the wave of PRUNED status updates, shouldn't
overwrite a present ARMED state.
Added unit test.
2022-03-04 15:01:19 +01:00
Robert Haschke
8d7225d3b6
Connect: better document suppressing recursive loop
2022-03-04 15:01:19 +01:00
v4hn
6d104e837e
polish: FixedState supports collision checking
2022-03-04 14:41:00 +01:00
v4hn
0a3dd3a314
properly set comment markAsFailure without prior comment
2022-03-04 14:39:53 +01:00
Robert Haschke
5310f9063a
operator<< for Interface::Direction
2022-03-04 13:13:01 +01:00
Robert Haschke
ee7cec2aab
FixedState: ignore_collisions=false
...
Check collisions for FixedState's scene and report failure if needed.
Optionally, disable the check via the property ignore_collisions=true.
2022-03-03 17:01:34 +01:00
Robert Haschke
95f24747b0
Pick+Place: Correctly configure forwarding of "pregrasp" property
...
... from Grasp to UnGrasp stage
2022-03-03 10:50:30 +01:00
Robert Haschke
d90b566b08
GeneratePlacePose: Remove property "ik_frame" from stage
...
- Instead, set ik_frame property on solution from passed object (frame).
- Allow subframes to be used as "object" frames
2022-03-03 10:50:30 +01:00
Robert Haschke
86093be94a
Merge branch 'master' into wip-python-api
2022-01-07 16:20:00 +01:00
Robert Haschke
c7b2067b86
Merge PR #309 : Fix Pruning
2022-01-05 20:19:51 +01:00
Robert Haschke
5956e70956
Merge PR #311 : fix Fallbacks
2022-01-05 19:49:38 +01:00
Robert Haschke
4cc1f567d6
FallbacksPrivateConnect
...
Implement Fallbacks behavior for children of type Connecting.
All other connect-like children are currently infeasible to handle,
because we cannot forward a single job, i.e. a pair (from, to)
to the next child, but only individual states.
However, passing states, will cause creation of undesired state pairs
as jobs in subsequent children.
2022-01-05 18:16:34 +01:00
Robert Haschke
7a04a9f603
ParallelContainerBasePrivate::propagateStateTo*All*Children
...
rename method to emphasize that state updates are propagated to all children
2022-01-05 16:45:57 +01:00
Robert Haschke
986d3c8766
FallbacksPrivateCommon: shared between Generator + Propagator
2022-01-05 16:45:57 +01:00
Robert Haschke
b82b70ed64
FallbacksPrivate::nextChild()
...
... factoring out functionality shared between FallbacksPrivateGenerator
and FallbacksPrivatePropagator to switch to next child in nextJob().
2022-01-05 16:37:46 +01:00
Robert Haschke
7af3d8ebd7
Improve readability
2022-01-05 16:37:46 +01:00
Robert Haschke
b2c116edab
reset(new Interface()) -> std::make_shared<Interface>()
2022-01-05 16:37:46 +01:00
Robert Haschke
184fab8e0a
GeneratePlacePose: add property 'allow_z_flip'
2022-01-04 15:58:19 +01:00
Robert Haschke
9630f4d789
ComputeIK: Improve markers
...
- always provide eef markers (also in case of success)
- tint failures in red
- use different names for "ik frame" and "target frame" markers
- reduce code duplication
2022-01-04 15:57:34 +01:00
Jafar Abdi
7dbe0b87e1
Return MoveItErrorCode from task::plan ( #319 )
...
... to know whether the plan failed due to timeout, preemption, or actual planning failure
2022-01-02 15:32:37 +01:00
v4hn
84f96ec74c
MoveRelative: Interpret direction relative to IKFrame
...
bugfix
2021-12-20 10:19:52 +01:00
Robert Haschke
4be448641f
Improve debug output
...
- printChildrenInterfaces(): fix/add usage
- printPendingPairs(): full colorization according to status
2021-11-28 18:28:20 +01:00
Robert Haschke
b4a9e2033d
Stage::reset() should reset total_compute_time_ ( #310 )
2021-11-25 19:47:00 +03:00
Robert Haschke
e296bd7aed
Simplify: job_has_solutions_
...
Just set a flag when we received a full solution
2021-11-25 07:37:28 +01:00
Robert Haschke
7237e81547
Rework FallbacksPrivate*
...
Further factorize and simplify FallbacksPrivate classes employing ideas from @v4hn.
The key difference between the variants his how they advance to the next job.
Thus, the only virtual method required is nextJob().
2021-11-25 07:36:32 +01:00
Robert Haschke
8dd8022ef9
Factorize implementation of FallbacksPrivate into 3 classes
2021-11-24 21:17:49 +01:00
Robert Haschke
e67b3252fc
static TaskPrivate::swap() -> ContainerBasePrivate::operator=()
...
- Enable moving/swapping of other container impls (e.g. Fallbacks)
- Clarify (via move semantics) that content of source impl will be lost
- Get rid of friend declarations
2021-11-24 21:17:49 +01:00
Robert Haschke
2e63c154aa
Reintroduce pending state
2021-11-22 01:39:45 +01:00