Commit Graph

515 Commits

Author SHA1 Message Date
Robert Haschke
745d6739bd fix typo 2020-09-22 11:06:01 +02:00
Robert Haschke
97e0b437f2 Silence -Wdeprecated-declarations due to std::auto_ptr 2020-09-07 23:18:43 +02:00
Robert Haschke
7306878b9e Merge branch master into wip-python-api 2020-09-07 23:18:20 +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
v4hn
72af8bc94b add convenience includes 2020-04-18 21:04:57 +02:00
v4hn
05ce4d796b expose group property 2020-04-17 18:48:18 +02:00
Robert Haschke
1f8dae86dd Merge #156: Rework interface resolution 2020-04-10 22:44:59 +02:00
Robert Haschke
c4d0ab0636 SerialContainer: Resolve interfaces of all stages 2020-04-10 20:25:54 +02:00
Robert Haschke
499fcfb04b cleanup / renaming
* Rename pruneInterface() -> resolveInterface()
* Rename accepted (interface) -> expected
* Improve exception strings
2020-04-10 20:11:51 +02:00
Robert Haschke
aa732d8c66 simplify internal API 2020-04-10 19:59:27 +02:00
Robert Haschke
e56c772ecb Combine pruneInterface() + validateConnectivity()
Validate interfaces during resolution. No need to separately validate interfaces.
Thus, validateConnectivity() is removed from Task::init().
Functions are kept (but simplified) for unit testing.
2020-04-10 19:59:27 +02:00
Robert Haschke
10260b9dd7 Further simplify interface resolution
* Do not modify explicitly configured direction of Propagator
* Avoid code duplication in pruneInterface() and validateConnectivity()
  Only implement pruneInterface() for stages that actually need to adapt their interface.
2020-04-10 19:59:23 +02:00
Robert Haschke
4d8d32dda5 New test: keep previously configured propagate interface 2020-04-10 19:39:32 +02:00
Robert Haschke
9116e92d08 minor cleanup, fixing warnings, improving comments 2020-04-10 19:39:32 +02:00
Robert Haschke
a98d5ed8ae templated flowSymbol<input/output mask>(flags)
* Enforce at compile time that either input or output flags are considered.
* Use horizontal flow symbols (as in console output).
* Replace redundant direction(flags).
2020-04-10 19:39:32 +02:00