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
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
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
e861d311e0
fix comment typo
2020-08-11 20:43:34 +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
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
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
Robert Haschke
0902d432ce
Improve code readability
2020-07-01 22:13:21 +02:00
Robert Haschke
ee7ebb3b96
SolutionMsg: always fill start_scene ( #175 )
...
So far, the start_scene field of a SolutionMsg was only filled by Introspection::fillSolution(),
but not yet by Task::execute().
Addendum(v4hn): The previous approach was actually reasonable too (although the scene should have been marked as `is_diff`) for solutions sent for execution, but keeping the full start_scene around can facilitate debugging from recorded data.
2020-06-18 11:07:05 +02:00
Robert Haschke
1610f5ab1d
MoveRelative: provide failure message
2020-06-13 22:48:48 +02:00
v4hn
15707673ed
clang-tidy: performance-*
...
I NOLINTed the noexcept move constructor for Task for now because
the constructor *can* indeed throw exceptions.
2020-06-11 11:03:50 +02:00
v4hn
8faba159f9
clang-tidy: llvm-namespace-comment
2020-06-11 11:03:50 +02:00
v4hn
2153237643
clang-format: readability-identifier-naming
...
Probably the most invasive format patch, also changing some internal API.
I deliberately disabled ClassCase and MethodCase checks for the moment
to avoid public API changes in this patch set.
2020-06-11 11:03:50 +02:00
v4hn
fa041ed2e6
clang-format: readability-container-size-empty
2020-06-11 11:03:50 +02:00
v4hn
b762079478
clang-tidy: readability-named-parameters
2020-06-11 11:03:50 +02:00
v4hn
5da2df4c61
clang-tidy: modernize-use-nullptr
2020-06-11 11:03:50 +02:00
v4hn
3fe4436ad7
clang-tidy: modernize-use-override
2020-06-11 11:03:50 +02:00
v4hn
36166348bc
clang-tidy: use using over typedef
...
$ run-clang-tidy.py -header-filter='.*' -checks='modernize-use-using' -fix
add .clang-tidy file
2020-06-11 11:03:50 +02:00
v4hn
c662311a78
grant access to subsolutions of a sequence
...
SubTrajectory allows to access the trajectory,
but for SolutionSequence is was not needed until now.
2020-06-11 11:03:50 +02:00
v4hn
98cac4fd7c
add informative comment
2020-06-11 11:03:50 +02:00
v4hn
ebf7b751d2
do not reset on plan
...
users can reset explicitly as needed.
Reset sends ROS messages and prevents { plan(1); plan(1) } style usage.
2020-06-11 11:03:50 +02:00
v4hn
b9839a3f22
check for valid robot model
...
Also, no need to reset() unless the model is different and not the first.
2020-06-11 11:03:50 +02:00
v4hn
b27939cb27
fix typo
2020-06-11 11:03:50 +02:00
v4hn
d224097f3f
extend comment on unintuitive setter
2020-06-11 11:03:50 +02:00
Jafar Abdi
b3b215a4f7
Add ability to add/remove objects to/from planning scene ( #165 )
2020-05-05 18:28:54 +02:00
Aris Synodinos
2d99017c17
Fix for GCC5 (Ubuntu 16.04 / Kinetic) call to non-constexpr function ( #163 )
...
Co-authored-by: Aris Synodinos <aris.synodinos@unibap.com>
2020-04-22 11:48:08 +02:00