v4hn
c046ec605d
streamline add/insert interfaces for Task/Container
...
`add` falls back to `insert` for both structures,
but `add` throws exceptions and does not provide a return value.
`insert` provides standard STL container access.
2020-04-01 15:05:20 +02:00
v4hn
df8a783239
enforce one-parent policy in StagePrivate
...
So new containers cannot get this wrong by accident.
2020-04-01 15:05:20 +02:00
Michael Görner
90f5d22e83
do not export inline functions ( #147 )
...
This makes sure that code using `pimpl()` will not compile out of the box unless the _p header is included.
2020-03-29 20:47:26 +02:00
Michael Görner
0eae0e652e
build tests using gmock via catkin_add_gmock ( #148 )
...
Otherwise these suddenly started to fail for me on Lunar Linux...
2020-03-20 20:33:33 +01:00
v4hn
8f56d4ae79
avoid copy from const id reference
...
This mustn't compile as users got confused about it:
```
Task t;
t.id() = "foobar";
```
2020-03-05 12:08:59 +01:00
Robert Haschke
9ee653453d
Container: abort traversal with false return value of processor
...
So far, returning false from the processor function, just skipped further traversing the current child (depth-wise).
Now, traversal is completely aborted, even not traversing the remaining siblings of the current child.
Having a single boolean return value, we cannot distinguish both cases.
We need the new behaviour for 8061945c15bea22e8f8899c987bc28e3542885aa.
2020-03-03 17:57:06 +01:00
Mark Moll
0d6f79050a
don't install PIMPL header files ( #119 )
2020-03-03 17:21:54 +01:00
Markus Vieth
534d520a04
Add return value to Task::execute ( #136 )
2020-02-20 11:31:51 +01:00
Aris Synodinos
8ac9957b55
Added C++11 flags for MOVEIT_MASTER check ( #129 )
2020-02-12 21:59:33 +01:00
Robert Haschke
463486257b
Merge #120 : Add computation timing
2020-02-06 16:18:49 +01:00
Jafar Abdi
fa9b177575
transmit and display computation in rviz
2020-02-06 16:18:20 +01:00
Jafar Abdi
aa11b66824
use runCompute()
2020-02-06 16:17:55 +01:00
Jafar Abdi
89fea00b33
Stage::runCompute() to measure computation time
2020-02-06 16:17:04 +01:00
Robert Haschke
ba815cff34
Task: don't publish solutions by default
...
Having multiple solutions, automatic publishing of intermediate solutions is confusing.
One never knows, which one is the final one. If desired, the user should setup a hook for this.
2020-01-11 09:00:34 +01:00
Henning Kayser
c1f6ca8e84
Expose SolutionCallback API in Task ( #121 )
2020-01-11 08:33:57 +01:00
v4hn
233d63aa7a
avoid deprecation warnings of MoveIt master branch
...
Use new methods
- moveit::core::isEmpty
- moveit::core::CartesianInterpolator::computeCartesianPath
2019-12-13 11:29:02 +01:00
Robert Haschke
acddc268ed
compatibility to MoveIt master branch
2019-11-27 17:43:57 +01:00
Robert Haschke
3887b32ba1
fix MoveRelative::getJointStateFromOffset
...
Fix for #114 : Accessing variable indexes was screwed.
2019-11-26 21:08:31 +01:00
Aris Synodinos
145bec1ed3
Added cost calculation in move_relative ( #108 )
2019-11-05 17:38:25 +01:00
Robert Haschke
facdc8e278
update RobotState in getJointStateGoal()
2019-11-02 22:02:56 +08:00
Robert Haschke
1ba4bc4508
MoveTo/MoveRelative: report failure on invalid trajectories ( #107 )
2019-10-22 12:06:11 +02:00
Robert Haschke
975491fba9
Fixup: adding cost calculations to connect and move_to
2019-07-26 11:05:52 +02:00
Robert Haschke
4225671ae4
PipelinePlanner: always forward trajectory
...
(also in case of failure)
2019-07-19 13:45:07 +02:00
Robert Haschke
6ff1a5162f
Fixup: adding cost calculations to connect and move_to
...
Need to handle nullptr trajectories.
2019-07-19 13:45:07 +02:00
Michael Görner
f7b259259e
Introduce clang-format ( #102 )
...
* fix catkin_lint issues
* introduce clang-format config and apply it
2019-07-18 11:04:35 +02:00
Tyler Weaver
7ca49bc29b
adding cost calculations to connect and move_to
2019-07-12 20:29:08 +02:00
v4hn
0b47224ef1
micro-fix whitespace
...
Let's use clang-format...
2019-07-12 13:51:21 +02:00
Robert Haschke
95455c2a26
fix Task::operator=(Task&&)
...
To move a task instance to another one, it's not sufficient to swap all task members,
but we also need to adapt all back pointers, i.e. me_ and parent_ pointers of children,
to point to the (swapped) task instances.
2019-06-04 14:20:47 +02:00
Robert Haschke
26f679bd8e
relax assertion
2019-05-16 18:12:20 +02:00
Robert Haschke
6cf0cbb4c9
improve comments
2019-05-16 18:02:08 +02:00
Michael Görner
267c214288
Overload setGoal to accept map of joint values as argument ( #87 )
2019-05-10 14:41:46 +02:00
Robert Haschke
fee73bcd78
Merge branch 'fix-interface-deduction' into master
2019-05-03 01:53:57 +02:00
Robert Haschke
11fb15fd0c
fix clang-tidy warnings
...
- virtual functions used in constructor / destructor
- captured variable in lambda expression not used
- unhandled enums in switch
2019-05-03 01:53:17 +02:00
Robert Haschke
102c80dda1
ParallelContainer: fix interface error reporting
...
need to separately check for start/end interface
2019-05-03 01:06:56 +02:00
Robert Haschke
d9a38f46ab
SerialContainer: fix nested interface resolution
...
We need to distinguish two cases for how the interface of a nested serial container is determined:
1. from its children
2. from its (outer) context
As long as the interface is not fully resolved, requiredInterface() returns UNKNOWN.
After pruning, the first/last child's interface is remembered and reported instead.
2019-05-03 01:06:56 +02:00
Robert Haschke
fd1aa38a39
fix unit test definitions
2019-05-03 01:06:56 +02:00
Robert Haschke
135951f690
replace assertion by exception
2019-05-03 01:06:56 +02:00
Robert Haschke
f402cdec5e
rename [INPUT|OUTPUT]_IF_MASK -> [START|END]_IF_MASK
2019-05-03 01:06:56 +02:00
Robert Haschke
28703af384
improve comments
2019-05-03 01:06:56 +02:00
Robert Haschke
ea75070155
cherry-pick changes from boost-python branch
...
stages: default arguments for constructors
properties: make iterator public
2019-05-02 14:55:34 +02:00
Robert Haschke
d4dfcf962b
FixedCartesianPoses
2019-05-02 14:55:34 +02:00
Robert Haschke
cef6eb64bb
ContainerBase::remove(Stage* child)
2019-05-02 14:55:34 +02:00
Robert Haschke
c62938a1c4
SimpleGrasp: only use generator if it's defined
...
UnGrasp doesn't need a grasp generator
2019-05-02 14:55:34 +02:00
Robert Haschke
29ecec7403
vary place pose depending on object shape
...
- boxes, cylinders: flip up/down, rotate about world's z
- spheres: rotate about world's z
2019-05-02 14:55:34 +02:00
Robert Haschke
168ff6f3f4
use simple InterpolationPlanner to open/close gripper
2019-05-02 14:55:34 +02:00
Robert Haschke
4063a3ca29
fix SimpleUnGrasp
...
- ComputeIK needs to be first sub stage for both, grasping and ungrasping
- correctly re-enable object collision checking
2019-05-02 14:55:34 +02:00
Robert Haschke
0fe18799d9
GeneratePlacePose
2019-05-02 14:55:34 +02:00
Robert Haschke
6de1c8dbe5
ContainerBase::findChild()
2019-05-02 14:55:34 +02:00
Robert Haschke
39427f89bf
Merge branches 'fix-interface-deduction' ( #84 ), 'compute-ik-default-timeout' ( #80 ),
...
'fix-visualization' (#76 ), and master-improvements (#81 )
2019-03-11 14:09:03 +01:00
Robert Haschke
c56c7294e4
fix pruning
...
Never augment already derived interfaces, only prune!
2019-03-11 13:54:54 +01:00
Robert Haschke
48d93e803d
improve SerialContainerPrivate::pruneInterface
2019-03-11 13:54:54 +01:00
Robert Haschke
905b6a3b0c
move validateConnectivity() from ContainerBase to StagePrivate
...
... to allow specific stage types (PropagatingEitherWay) implementing their own validation
No need for a public interface.
2019-03-11 13:54:54 +01:00
Robert Haschke
10c7a9cfd7
prune UNKNOWN *and* PROPAGATE_BOTHWAYS
...
If PropagatingEitherWay's interface is not met in *both* directions (but only one),
in BOTHWAY mode, issue a warning. Otherwise handle both, AUTO and BOTHWAY mode,
in the same fashion when resolving interfaces.
TODO: move validateConnectivity() in StagePrivate.
default action = default action from ContainerBase.
PropagatingEitherWay: issue warning for case above
2019-03-11 13:54:54 +01:00
Robert Haschke
f831fe5483
fix comments + typos
2019-03-11 13:54:54 +01:00
Robert Haschke
7d25c55978
Container: more unit tests for interface detection / validation
2019-03-11 13:54:54 +01:00
Robert Haschke
d741f36ee3
fixup! improve error msg for mismatching container/child interfaces
...
We need to consider input and output interfaces separately.
Also, use console output symbols (<- / -> / <->)
2019-03-11 13:54:54 +01:00
Robert Haschke
1e953db649
non-const Property::value()
2019-03-10 17:55:46 +01:00
Robert Haschke
36df4f9975
MoveTo/MoveRelative: reduce default timeout to 1s
2019-03-10 17:55:15 +01:00
Robert Haschke
0304c22f7d
ComputeIK: allow attached body as ik_frame
2019-03-10 17:50:45 +01:00
Robert Haschke
c72a6cddac
ComputeIK: auto-configure default timeout from JMG's default
...
TODO: actually set the default value but not the current value!
2019-02-21 00:53:26 +01:00
Robert Haschke
579c336558
Connecting: also check that attached objects match
2019-02-21 00:51:57 +01:00
Robert Haschke
e885c272fa
Merger: skip empty sub trajectories for merging
2019-02-21 00:50:25 +01:00
Robert Haschke
1047ef08a4
ComputeIK: fix typo
2019-02-21 00:47:52 +01:00
Robert Haschke
2da9e0d722
rework solution msgs
...
- to allow solution wrappers (WrappedSolution, SolutionSequence)
to transmit their comment and markers as well
- introduced new SolutionInfo.msg,
which is the info common to solution wrappers and actual SubTrajectories
2019-02-12 13:57:12 +01:00
Robert Haschke
527ec8edaa
correctly sort upstream_solutions_ in ComputeIK and GeneratePose
...
Reworked cost_queue to correctly sort pointer-like types.
Added unittests for new ValueOrPointeeLess<T> less operator, ordered<T>, and rviz cost ordering.
2019-02-12 03:05:36 +01:00
v4hn
8392ed5ad3
generate IK solutions incrementally
...
This is not a good approach.
The same can be achieved by generating targets incrementally.
The better approach, to generate IK solutions incrementally,
has to maintain previous solutions for each target.
2019-02-10 08:17:34 +01:00
Robert Haschke
1e0a9401e7
Merge PR #72 : rviz property visualization
2019-02-10 06:25:25 +01:00
Robert Haschke
e71376743c
yamp-cpp parsing
2019-02-10 06:21:51 +01:00
Robert Haschke
a1c81f1236
YAML property serialization
...
- switch from ROS serialization/deserialization to YAML
- no native C++ deserialization for ROS msg types available
- drop Propert::print()
2019-02-10 06:21:51 +01:00
Robert Haschke
4ca794cb86
unify property handling in LocalTaskModel and RemoteTaskModel
2019-02-10 06:21:51 +01:00
Robert Haschke
71099c68d4
Task: fix RobotModelPtr leak
...
On Task::clear() also need to reset introspection's cache.
2019-02-09 01:00:29 +01:00
Robert Haschke
a1f7c5d1c6
improve error msg for mismatching container/child interfaces
2019-02-06 10:29:10 +01:00
Robert Haschke
81cc0aecc6
Property::type_index -> boost::typeindex::type_info
...
avoid decl expressions, explicit public typedef
2019-01-17 23:54:35 +01:00
Robert Haschke
062cfe0b60
PropertyTypeRegistry to store serialization/deserialization functions
2019-01-17 23:54:35 +01:00
Robert Haschke
ae75c3aa7f
Eigen::Affine3 -> Eigen::Isometry3
2018-11-28 08:14:44 +01:00
v4hn
cd9115483b
let marker_ns default to stage name
...
The stages can still decide on their namespaces on their own,
but markerNS() at least provides a stage-specific name they can use.
2018-11-09 10:50:48 +01:00
v4hn
3176aff30f
add accessors for marker_ns property
2018-11-09 10:50:40 +01:00
v4hn
ac3b56a160
document timeout() helpers
2018-11-09 10:50:33 +01:00
v4hn
6b4b4ca624
ComputeIK: threshold for new solutions as property
2018-11-09 10:50:14 +01:00
v4hn
b379ba2268
fix broken rvalue-forward & SerialContainer assert
...
Release mode builds previously produced broken solutions with too many entries,
debug build triggered the assert
container.cpp:334: assert(solution.empty())
The standard guarantees std::vector(&&a) leaves a.empty() == true,
so the logic there is fine as long as subsolutions is actually
used for move-construction.
2018-11-09 10:47:51 +01:00
Robert Haschke
b9a86eb5be
use task id as default name of top-level stage
2018-11-08 12:55:45 +01:00
v4hn
a86eca9ada
predicate filter: fix documentation
2018-11-02 15:51:24 +01:00
v4hn
cc90d5f3f2
add PredicateFilter
2018-11-02 11:53:09 +01:00
Robert Haschke
5af54b5a21
GenerateGraspPose: spawn failure if object unknown
2018-11-02 11:36:00 +01:00
Robert Haschke
0f31cdee2e
move storeFailures() into public Stage API
2018-11-02 11:36:00 +01:00
Robert Haschke
915151fdd2
modify ps: add convenience functions
2018-11-02 11:21:48 +01:00
v4hn
e5fc8b62b4
MoveRelative: possibly update last waypoint before transform lookup
...
Apparently this RobotState is not necessarily updated,
this broke some pipeline testing over here.
2018-10-25 00:12:46 +02:00
v4hn
38cc4c6936
add comment to subtrajectory
2018-10-25 00:12:46 +02:00
v4hn
80adcb9e24
add comments to wrapped solutions
2018-10-24 11:53:14 +02:00
v4hn
73b35ef2bf
do not send failures to parent
...
It is enough for us to investigate these locally
2018-10-24 11:47:42 +02:00
v4hn
932497ce6d
do not pass failures on to monitors
...
They should not work with them and this
removes the need for the usual `if(s.isFailure) return`.
2018-10-24 11:44:26 +02:00
Robert Haschke
d6714e89ab
fixup! rename "goal" to "direction"
2018-10-23 21:09:07 +02:00
v4hn
9740179f7f
Merge branches 'cleanup-planner-interface', 'connect', 'fix-visualization' and 'rviz-createMarker' into master
2018-10-22 17:31:01 +02:00
v4hn
7fcef54a0e
fixup! add name to Connecting DEBUG output
...
This is important to differentiate between different Connect stages.
2018-10-22 17:28:52 +02:00
v4hn
13ad4d58f1
fixup! rename "goal" to "direction"
...
"Goal" implies a motion to a target configuration.
MoveRelative explicitly does not do that.
"Direction" is usually not used for rotations,
but perfectly valid to describe them.
I merged 544f574166
together with the first version of this rename
that got force-pushed because it was incomplete.
2018-10-22 17:07:00 +02:00
v4hn
a05a76fd8c
fixup! add properties for conditional debug output
...
in MoveIt planner.
These can be quite helpful.
I agree, we really don't need them enabled by default.
2018-10-22 16:59:24 +02:00
Robert Haschke
70e32cb0b3
Connect: skip initial PlanningScene::diff()
2018-10-21 00:27:50 +02:00
Robert Haschke
18bf5246ed
cleanup PlannerInterface
...
- remove group + timeout properties: they are passed as arguments to plan()
- move max_velocity_scaling_factor, max_acceleration_scaling_factor to PlannerInterface base class
2018-10-21 00:02:10 +02:00
Robert Haschke
b5b58ea0ca
Introspection::solutionFromId()
2018-10-20 23:33:54 +02:00
Robert Haschke
02ed4d3579
Connect: verbose debugging output in case of state incompatibilities
2018-10-20 23:32:43 +02:00
Robert Haschke
c6f985be3a
Connect: allow different merge modes
...
for now:
SEQUENTIAL (no merging)
WAYPOINTS (naive)
2018-10-20 23:32:43 +02:00
Robert Haschke
ba88c59201
Merge pull request #54 from ros-planning/pr-capability
...
ExecuteTaskSolution capability
2018-10-20 23:25:48 +02:00
Robert Haschke
1e39da2388
fix stage "FixCollisionObjects"
...
... correction wasn't initialized to zero, resulting in random NaNs
2018-10-20 22:59:27 +02:00
Robert Haschke
a0a9738a00
update PlanningScene's RobotState before storing it
2018-10-20 22:02:05 +02:00
Robert Haschke
e894d8bce2
fix caching of PlanningPipeline ptrs
...
Need to reset cache if corresponding RobotModel was destroyed.
To this end, we cannot simply use the RobotModel's name.
2018-10-20 21:50:05 +02:00
Robert Haschke
f548b7edcc
PipelinePlanner: disable publishing of plan request + computed path
2018-10-20 12:21:18 +02:00
Robert Haschke
36fe4c98be
reduce copying of shared ptrs
2018-10-20 12:21:18 +02:00
Robert Haschke
d648a4091e
guard use of introspection_ pointer
2018-10-20 02:38:11 +02:00
Robert Haschke
af6f7b12bf
pick_pa10: fix initialization of RobotState
...
only a subset of joints was initialized
2018-10-20 02:38:11 +02:00
Robert Haschke
e9b16ba7c0
fix destruction order
2018-10-20 02:38:11 +02:00
v4hn
1a4f6c0e57
keep RobotModelLoader around
...
Otherwise the robot_model_ does not remain valid
2018-10-17 01:55:28 +02:00
Robert Haschke
a745f55ab7
fix compiler warnings in release mode
2018-10-17 01:55:28 +02:00
Robert Haschke
1787a66d37
fix compiler warnings
2018-10-16 23:14:58 +02:00
Robert Haschke
f1764d0de4
fix tests
2018-10-16 23:14:58 +02:00
Robert Haschke
940543a063
fixup! allow preemption of Task::plan()
2018-10-16 23:14:58 +02:00
Robert Haschke
b5bc97b3eb
Task::execute()
2018-09-25 22:17:42 +02:00
Robert Haschke
7bd9bcf972
allow preemption of Task::plan()
2018-09-25 22:16:45 +02:00
Robert Haschke
e5e291d86f
FixCollisions stage
2018-09-25 22:16:45 +02:00
Robert Haschke
a7b74673ce
PlannerInterface for joint-space interpolation
2018-09-25 22:16:45 +02:00
Robert Haschke
4860462076
ComputeIK: forward child solution's comment
2018-09-25 16:25:22 +02:00
Robert Haschke
c70db65578
fixup! MoveTo: store goal as any type
2018-09-25 16:25:13 +02:00
Robert Haschke
ca9d50e7d8
fix compiler warnings
2018-09-25 13:30:53 +02:00
Robert Haschke
f2573e9bfd
fix include order
...
Local headers should be preferred over those from underlay.
Consequently use target_include_directories() to properly define include order.
2018-09-25 13:30:53 +02:00
Robert Haschke
ff2474f262
pa10 doesn't need move_group
2018-06-03 12:36:12 +02:00
Robert Haschke
932ab5eba3
cast demos as integration unit tests
...
- moved demos from demo to test folder
- run them as unittest, checking range of solutions
2018-06-03 12:36:01 +02:00
Robert Haschke
3215880b98
Merge branches 'move-to', 'simple-grasp' and 'properties' into master
...
These branches only work together:
- MoveTo / MoveRelative: common handling of "goal" property
- properties: required changes to allow for multiple inheritance
- generalize SimpleGrasp / GenerateGraspPose
2018-06-03 11:38:50 +02:00
Robert Haschke
2e46082521
remove Container::exposePropertiesOfChild()
2018-06-03 11:36:50 +02:00
Robert Haschke
157caac385
generalize SimpleGrasp / GenerateGraspPose
...
- move "pregrasp", "grasp" property from SimpleGrasp to GenerateGraspPose
- Container::exposePropertiesOfChild: decouple exposure from inheritance
2018-06-03 11:36:50 +02:00
Robert Haschke
544f574166
MoveRelative: store goal as any type
2018-06-03 09:22:06 +02:00
Robert Haschke
00260d62b5
MoveTo: store goal as any type
2018-06-03 09:22:06 +02:00
Robert Haschke
941dee7fc1
exposeTo: const method
2018-06-03 09:22:06 +02:00
Robert Haschke
abc4c5de50
PropertyMap: allow any type
2018-06-03 09:18:37 +02:00
Robert Haschke
a8431ce661
Container::exposePropertiesOfChild: allow skipping of undefined props
2018-06-03 06:46:12 +02:00
Robert Haschke
0dab499533
Stage: generally allow forwarding of interface properties
2018-06-03 06:46:12 +02:00
Robert Haschke
92296e020f
SimpleGrasp(GraspGenerator)
...
allow any GraspGenerator stage that provides "pregrasp" and "grasp"
postures as well as a target_pose for grasping.
2018-06-03 06:46:12 +02:00
Robert Haschke
beffe27987
improve property debugging
2018-06-03 06:42:11 +02:00
Robert Haschke
cbb2cd69f7
property inheritance: both from PARENT and INTERFACE
...
- source_id -> source_flags: bits indicating configured paths
- initializers, e.g. fromName(), should throw
- ignore undeclared errors during inheritance
- on undefined error, reset the value to None
- override value only if previously set by lower-priority source
MANUAL > CURRENT > PARENT > INTERFACE
2018-06-03 06:36:15 +02:00
Robert Haschke
abea2ee82b
reuse boost::any's type_index type
2018-06-02 17:46:37 +02:00
Robert Haschke
2e9932cfbc
fix: don't report config issues as successful (but empty) solutions
2018-06-02 17:46:28 +02:00
v4hn
381210f43d
compatibility with boost 1.54
...
This is required for ROS indigo on ubuntu 14.04
2018-06-01 15:02:11 +02:00
Michael Görner
5739bf39d9
use correct frame in pick ( #52 )
2018-06-01 14:55:23 +02:00
v4hn
0091c76208
compute ik: ignore collisions skips early eef check
2018-06-01 11:34:07 +02:00
v4hn
4026661bfe
Rewrite and relax approx comparisons
...
This is more readable.
Adjusting the threshold to 1e-4 is required to allow for tolerances
in potential sampling planner steps in between.
2018-06-01 11:32:29 +02:00
v4hn
bd1edcbde7
add max_solutions param to plan()
...
For big problems you just don't want *all* solutions
2018-06-01 11:13:44 +02:00
Robert Haschke
ac1ccba883
minor formatting changes ( #51 )
2018-05-31 18:01:30 +02:00
Robert Haschke
b35aba6e19
validate merged trajectories
2018-05-30 21:23:34 +02:00
Robert Haschke
941e9df737
declare properties "timeout", "marker_ns" for all stages
2018-05-30 21:21:14 +02:00
Robert Haschke
c2dd28abae
rework storing of solutions
...
- solutions_, failures_ as SolutionBaseConstPtrs in StagePrivate
- replace processSolutions() / processFailures() by direct const-access to storage containers
- generic sendForward(), sendBackward(), spawn(), connect() methods in StagePrivate
- reuse StagePrivate's sendForward(), sendBackward(), spawn() in containers
- store created InterfaceStates in StagePrivate::states_
- Interface: ordered<InterfaceState*> (only store pointers)
allows for common handling of states of valid and failure solutions
- remove additional state+solution storages
- containers: internal->external state mapping as InterfaceState* -> InterfaceState*
2018-05-30 21:02:50 +02:00
v4hn
ae6b86c7d7
remove void line
...
?
2018-05-30 21:02:19 +02:00
Robert Haschke
5878e8ab6b
correctly reset FixedState
2018-05-30 21:02:03 +02:00
Robert Haschke
52fdf30433
simplify compute() API
...
- remove bool return value
- always create a solution trajectory, also in case of failures
- success/failure determined from solution.isFailure()
minor adjustments during cherry-pick
2018-05-30 21:01:34 +02:00
Robert Haschke
eb50aaed0e
SolutionBase: rename 'name' to 'comment'
2018-05-30 20:25:42 +02:00
Robert Haschke
84dec07565
MoveTo/MoveRelative: generic IK target frame
...
...instead of simple link name
2018-05-30 20:25:07 +02:00
v4hn
495c80350b
Merge branches 'joint_pose', 'move-relative-joints', 'basic-merger' and 'compute-ik'
2018-05-30 19:35:58 +02:00
v4hn
015b1466f4
MoveRel: handle unknown links with hard failure
2018-05-30 19:09:57 +02:00
v4hn
56c9128d99
MoveTo: cleaner strict handling of invalid properties
2018-05-30 18:53:39 +02:00
v4hn
b8e6e5e2fa
MoveTo: reduce scope of try-catch
2018-05-30 18:44:26 +02:00
v4hn
bbd274da96
MoveTo: simplify getJointStateGoal
2018-05-30 18:42:31 +02:00
Robert Haschke
b7b7a916df
basic merger functionality
2018-05-18 17:44:55 +02:00
Robert Haschke
5e8117720e
ignore failures for further processing
2018-05-18 17:44:43 +02:00
Robert Haschke
abb68da083
forward properties
2018-05-18 17:44:43 +02:00
Robert Haschke
ce10d96c5c
ComputeIK: report collision pairs
2018-05-18 17:44:43 +02:00
Robert Haschke
41e64ed7e1
remove std::map serialization
2018-05-18 17:44:30 +02:00
Robert Haschke
40ca35085a
cleanup
2018-05-18 17:44:30 +02:00
llach
9a7aa4dad7
Pick: added setter for relative joint lift motion
2018-05-18 17:44:30 +02:00
llach
d0c8f7f819
MoveRelative: added relative joint space goals to
2018-05-18 17:44:30 +02:00
llach
0779c255df
added stream serialization for std::map<std::string, T>
2018-05-18 17:44:30 +02:00
Robert Haschke
9e19f2187b
moved implementations of property setters to header
2018-05-18 17:44:17 +02:00
Robert Haschke
17e487be06
cleanup
...
- indentation: space -> tabs
- only consider joints of JMG
2018-05-18 17:44:17 +02:00
llach
2be3ee611b
adapted MoveTo api change. joint_pose -> named_joint_pose
2018-05-18 17:44:17 +02:00
llach
55470062c9
MoveTo: converting named joint poses to robot state msg in init; property names refactoring
2018-05-18 17:44:17 +02:00
llach
97c2312d67
MoveTo: can now take RobotState msg as goal
2018-05-18 17:44:17 +02:00
Robert Haschke
19fa7349d3
Task: only accept containers
2018-05-18 17:42:34 +02:00
Robert Haschke
e3ca832497
Property: silently return empty string when serialization is not supported
2018-05-18 17:42:34 +02:00
Robert Haschke
2106c51c9d
Property: provide a fallback serialize() implementation
...
... in case operator<< is not defined for type T
2018-04-28 22:13:52 +02:00
Robert Haschke
ae3b9126bd
get rid off empty JointState errors
2018-04-27 12:07:27 +02:00
Robert Haschke
ecf8029f75
add timing to merged trajectories
2018-04-27 12:06:59 +02:00
Robert Haschke
872e3cc004
unittest for Priority comparisons
2018-04-27 12:04:55 +02:00
Robert Haschke
8fb47e99e8
update ordering on any change of priority
2018-04-27 12:04:55 +02:00
Robert Haschke
67b6dcb49b
move implementation into cpp file
2018-04-27 12:04:55 +02:00
v4hn
bbb64f2f8c
inf cost states always go last
...
Also update sorted interface when state becomes inf or get's new cost.
2018-04-27 12:04:55 +02:00
Robert Haschke
728c1b40e2
Merge branches 'travis', 'fixes', 'visualization' and 'todos'
2018-04-15 12:01:19 +02:00
Robert Haschke
b8a4653f31
relax equality condition for joint values for inactive groups
2018-04-15 11:55:45 +02:00
Robert Haschke
5c525f8729
consider v4hn's comment
2018-04-15 11:55:45 +02:00
Robert Haschke
433db67cf9
only attempt to merge if there is something to merge
2018-04-15 11:55:45 +02:00
Robert Haschke
90b0b006eb
more todo
2018-04-15 11:26:00 +02:00
Robert Haschke
6d6f185870
feedback
2018-04-15 11:26:00 +02:00
v4hn
ade42456b8
list of random todos
2018-04-15 11:26:00 +02:00
Robert Haschke
51e1dda6ec
minor improvements: variable names, comments
2018-04-10 01:52:40 +02:00
Robert Haschke
564f3b0514
fix MoveRelative
...
Ignore success of planner_->plan() when min_distance is specified (and >= 0).
In this case, compute the achieved distance myself.
2018-04-10 01:52:40 +02:00
Robert Haschke
525ac10bbf
std::string -> const std::string&
2018-04-10 01:52:40 +02:00
Robert Haschke
f2c0c7bf90
rename enableCollision -> allowCollision
2018-04-10 01:52:40 +02:00
Robert Haschke
fee7352961
renamed demo: plan_pick_trixi -> plan_pick_pr2
2018-04-10 01:52:40 +02:00
Robert Haschke
a044b719ac
removed old stages: Move, Gripper, CartesianPositionMotion
2018-04-10 01:52:40 +02:00
Robert Haschke
b22217deab
fix trajectory merging: initialize from well-defined RobotState
2018-04-10 01:52:40 +02:00
Robert Haschke
c553275276
SolutionSequence::fillMessage: ignore sub solutions with same creator as parent
2018-04-10 01:52:40 +02:00
Robert Haschke
556d9e1a5e
Merge branches 'robot-model', 'task-move-constructor' and 'const-robot-trajectory'
2018-04-09 21:11:19 +02:00
Robert Haschke
2b79f15244
SubTrajectory: promise to not modify encapsulated RobotTrajectory
2018-04-09 21:10:18 +02:00
Robert Haschke
7463621f56
move assignment operator
2018-04-09 21:10:08 +02:00
Robert Haschke
7ebc4b2c7e
Task: move constructor
2018-04-09 21:10:08 +02:00