v4hn
e53d943b75
remove CostTransform
...
If required, this can hopefully be implemented through Wrapper stages soon.
2020-09-21 22:31:23 +02:00
v4hn
53c0964618
cost computation: provide valid interface states for Solution
...
The CostTerm's should get only a single solution that is well-setup
with its InterfaceStates. That's impossible though because these
states are stored in different places depending on the cost.
To avoid this, set stub states for cost computation
and change them to the real states later on.
This is motivated by the Clearance cost which can act on an InterfaceState only.
2020-09-21 22:31:23 +02:00
v4hn
bbf7d415f6
make cost operators const
2020-09-21 22:28:36 +02:00
v4hn
1f8feaaf0a
refactor addCost->computeCost
2020-09-21 22:26:25 +02:00
v4hn
d2bd0a0037
generalize Clearance cost
...
- can now be used to estimate cost for either interface state or the trajectory
- Introduced Interface::Direction NONE as a way of pointing to the trajectory in contrast to START or END
2020-09-21 22:26:25 +02:00
v4hn
7a00ac646e
add missing license
2020-09-21 22:24:44 +02:00
v4hn
14c885621f
remove Cost suffix for elements in mtc::cost::
2020-09-21 22:24:44 +02:00
v4hn
9a96a7e4f6
implement LinkMotionCost
2020-09-21 22:24:44 +02:00
v4hn
6dbc742f20
implement correct PathLengthCost
...
The previous implementation depends on the dynamics limits of the robot,
which might be interesting in some cases, but shouldn't be a default anywhere.
2020-09-21 22:24:44 +02:00
v4hn
a92753dafc
add cumulative distance to ClearanceCost
2020-09-21 22:24:44 +02:00
v4hn
18ed51d7f3
turn Clearance cost into parameterized struct
...
There is a lot of variations for how to compute clearance.
2020-09-21 22:24:44 +02:00
v4hn
cf0e4e3b01
establish struct cost pattern
...
for costs with multiple parameters, this option-style is more useful
than verbose getter/setter. There is nothing to hide here.
2020-09-21 22:24:07 +02:00
v4hn
f9ba302728
enable costs to (optionally) return a comment
...
With more complicated costs (such as the ClearanceCost), it's useful to get comments.
2020-09-21 22:22:37 +02:00
v4hn
a15204b40b
allow wrappers to use CostTerm
2020-09-21 22:22:37 +02:00
v4hn
56268cb6cc
first attempts on ClearanceCost
2020-09-21 22:22:37 +02:00
v4hn
9060404037
improve comments
2020-09-21 22:22:37 +02:00
v4hn
f3fec26f5a
add CostTransform
...
CostTerms only apply to primitive solutions and generalizing them
to Containers would make them quite unintuitive (and adds overhead).
Instead CostTransform can be used in any container to scale, crop, square
the cost of the solutions.
I initially thought about adding scaling factors, but then again,
other transforms are of interest just as well.
2020-09-21 22:22:37 +02:00
v4hn
f79625d1bd
fully restrict CostTerms to primitive solutions
...
simplify implementations.
2020-09-21 22:22:37 +02:00
v4hn
ffc62c2d11
add explicit default CostTerms to most basic stages
...
Simplifies code and makes the costs of each stage explicit.
2020-09-21 22:22:37 +02:00
v4hn
9eae554d89
provide Constant and PathLength cost terms
2020-09-21 22:22:37 +02:00
Robert Haschke
dd9ce974ce
tf2 compatibility for Noetic ( #206 )
2020-09-21 21:43:34 +02:00
v4hn
9337743de2
add CostTerm interface
...
basic stages can now be configured with arbitrary cost terms.
2020-09-21 18:02:49 +02:00
v4hn
1a2eafa256
fix stage test mock
...
base class init needs to be called although this didn't pose problems
until now.
2020-09-17 23:00:12 +02:00
Robert Haschke
b0b4db4bc5
Fix pick-place-demo: Correctly set hand group ( #205 )
2020-09-07 15:14:08 +02:00
v4hn
c510c6b5b6
WrappedSolution: expose child solution
...
SolutionSequence allows to access children already,
but WrappedSolution blocked access to the full hierarchy.
2020-08-21 14:41:22 +02:00
v4hn
4a6c389aee
expose WrappedSolution together with other Solution types
...
Moved out of private header.
Users can access these objects, so they should know about the type.
2020-08-21 14:41:22 +02:00
v4hn
7609f0b1e2
Solution: export public creator
...
It's a public interface, returning private pointer is not neat.
2020-08-21 14:41:22 +02:00
v4hn
3aa0cfc1a2
InterfaceState: provide constructor with initial Priority
...
most useful to prepare a valid InterfaceState in tests
2020-08-21 14:41:22 +02:00
v4hn
6e0e323a58
PredicateFilter: actually use declared property
2020-08-20 15:29:45 +02:00
v4hn
310ca3ef15
MoveTo: support map<string,double> joint target
...
There was a corresponding setGoal method already, but no implementation...
2020-08-20 15:20:29 +02:00
Michael Görner
ee6c50ad31
Apply clang-format-10 ( #199 )
2020-08-20 11:56:53 +02:00
Michael Görner
47f052b93d
adapt tests to new moveit_resources layout ( #200 )
2020-08-20 11:04:18 +02:00
v4hn
62813f33f7
fix c&p error in documentation
2020-08-11 20:43:34 +02:00
v4hn
62d894199f
expose Stage API to get the matching introspection ID
...
This was implicitly requested in #192 .
2020-08-11 20:43:34 +02:00
v4hn
6bebe3f3ed
do not mix pimpl() and impl for no reason
2020-08-11 20:43:34 +02:00
v4hn
03c7f55fcc
fix unused-parameter warning
2020-08-11 20:43:34 +02:00
v4hn
8cdd98943c
document axiom in StageStatistics.solved
...
If the axiom is violated, sorting in the rviz panel will fail.
2020-08-11 20:43:34 +02:00
v4hn
e861d311e0
fix comment typo
2020-08-11 20:43:34 +02:00
v4hn
8448a17b84
fixup: forward dataChanged signal for solutions too
2020-08-11 20:43:34 +02:00
Michael Görner
85940b4f3d
README: add tutorial reference
2020-08-10 10:27:03 +02:00
v4hn
d031f1b1e3
send a single reset message when introspection is enabled
...
My previous patches accidentally disabled *all* (3) reset messages,
instead of keeping exactly one. This patch sends exactly one empty description
(reset) message every time an introspection instance is constructed for a task.
Notice the additional increase of the description queue_size from 1 to 2 to avoid
directly dropping the reset message in favor of the new description likely to be send
shortly afterwards.
2020-07-22 12:57:34 +02:00
v4hn
e8324abb78
remove trail visualization if task is deleted
2020-07-22 12:57:34 +02:00
v4hn
7ba73306ca
introspection *can* be disabled
...
Otherwise a new task will always setup the publisher,
even if introspection is disabled afterwards.
It is a good idea to keep introspection on, but there should be a way to initialize the C++ classes without ROS communication.
2020-07-22 12:57:34 +02:00
v4hn
e8191bf14c
only subscribe to statistics after receiving a non-reset description
2020-07-22 12:57:34 +02:00
v4hn
0aff5d56dd
replace remaining typedefs by using declaration
...
I have no idea why these were not picked up by clang-tidy.
2020-07-22 12:57:34 +02:00
v4hn
21f3d95128
fix autocomplete typo
2020-07-22 12:57:34 +02:00
Michael Görner
4bee034768
Fixup: forward dataChanged() to QTreeView ( #186 )
2020-07-16 11:59:25 +02:00
Michael Görner
8cb57d65d4
README.md: fix formatting
...
Quotation environment does not allow link syntax
2020-07-09 17:34:46 +02:00
Robert Haschke
0902d432ce
Improve code readability
2020-07-01 22:13:21 +02:00
Michael Görner
a86bb4248a
Merge pull request #146 from v4hn/pr-master-rework-panel
...
rework RViz panel
2020-06-30 11:40:39 +02:00