Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MSA] Merge Upstream into feature/msa #1119

Merged
merged 98 commits into from
Mar 14, 2022

Conversation

DLu
Copy link
Contributor

@DLu DLu commented Mar 14, 2022

Description

Hopefully this fixes CI?

Checklist

  • Required by CI: Code is auto formatted using clang-format
  • Extend the tutorials / documentation reference
  • Document API changes relevant to the user in the MIGRATION.md notes
  • Create tests, which fail without this PR reference
  • Include a screenshot if changing a GUI
  • While waiting for someone to review your request, please help review another open pull request to support the maintainers

rhaschke and others added 30 commits October 22, 2021 11:10
* waitForAction(): remove NodeHandle argument

* The NodeHandle was just for NodeHandle::ok(), which can be handled by ros::ok() as well.

* Fix initialization of params, etc. that depend on MoveGroupNS

* When the MoveGroupNS has changed, we should re-initialize all these
  params, subscribers, and topics.
  Thus having them in a central place is helpful ;-)

* Fix namespaces as pointed out by @v4hn

* Simplify nh_ naming

* update comments
)

There's no hard reason to do it this way or the other,
but a user reported unverified issues with the global include.
"attach_posture" is plain wrong.

I don't see why clang-tidy did not find this before.
to resolve links for attached objects as well
Merge branch 'pr-master-state-rigidly-attached-parent'
…gs (moveit#2928)

While we need to pass execution_type to fake_moveit_controller_manager.launch,
the controller_manager.launch files of real-robot shouldn't be required
to define this argument. However, if they don't roslaunch fails with an
`unused args` exception (see moveit#2786).
Passing arguments via pass_all_args should solve that issue.
* Switch CCOV to build type Debug
  RelWithDebInfo was using -DNDEBUG, thus ignoring all assertions.
  Also use -fno-omit-frame-pointer to have better coverage analysis.
* Use lcov-action to generate coverage info
* Unify syntax of `if` conditions
* fix enforce position bug

* remove unnecessary variable

* make clang tidy happy

* Update my comment

* implement same logic as in the moveit2! repo

* fix copy-pase error

Co-authored-by: Michael Wiznitzer <michael.wiznitzer@resquared.com>
Co-authored-by: AndyZe <andyz@utexas.edu>
- Downgrade ERROR to WARN
- Report affected joint name
- Quote (possibly empty) planner id
When planning an arm motion, Pilz's PTP planner shouldn't complain (and bail out)
on missing joint limits of hand joints!
Just complain about negative / zero values.
Otherwise, on a failure, the implicitly used success() will skip the step.
Gazebo requires a fixed joint from world to the first robot link.
This resembles the virtual_joint of SRDF.
However, the RobotModel parser issues the following warning:
Skipping virtual joint 'xxx' because its child frame 'xxx' does not match the URDF frame 'world'
Fixes the following error (occurring since 61d18f2)
```
[FATAL] ros.moveit_ros_planning.trajectory_execution_manager:
  Exception while loading controller manager 'robot':
  According to the loaded plugin descriptions the class robot
  with base class type moveit_controller_manager::MoveItControllerManager does not exist.
```

As we introduced `pass_all_args="true"`, the value of the argument
`moveit_controller_manager` was the robot name.
There are 3 basic MoveIt controller manager plugins:
- fake = `moveit_fake_controller_manager::MoveItFakeControllerManager`
  Used in demo.launch. Doesn't really control the robot, but just
  interpolates between via points. Allows these execution_types:
  - via points: just jumps to the via points
  - interpolate: linearly interpolates between via points (default)
  - last point: jumps to the final trajectory point (used for fast execution testing)

- ros_control = `moveit_ros_control_interface::MoveItControllerManager`
  Interfaces to ros_control controllers.

- simple = `moveit_simple_controller_manager/MoveItSimpleControllerManager`
  Interfaces to action servers for `FollowJointTrajectory` and/or `GripperCommand`
  that in turn interface to the low-level robot controllers (typically based on ros_control)

However, so far move_group.launch distinguished between `fake` and `robot` only.
The argument moveit_controller_manager now allows switching between all 3 variants.
Adding more *_moveit_controller_manager.launch files allows for an extension of this scheme.
- Reading both, the default and the existing package's sensors_3d.yaml
  into the config, the config file was growing by 2 configs each time.
- Not visiting the Perception tab, was writing the default config with 2 entries
- Selecting "None" was writing an invalid config:
  sensors:
    - {}
    - {}
We should write separate controller config files for different controller managers:
- simple_moveit_controllers.yaml handles everything relevant for SimpleMoveItControllerManager
- ros_controllers.yaml handles ros_control config
- gazebo_controllers.yaml handles controllers required for Gazebo
JafarAbdi and others added 17 commits February 7, 2022 19:24
Get parameter `trajectory_execution.execution_duration_monitoring` in
initialize().


Co-authored-by: Gaël Écorchard <gael.ecorchard@cvut.cz>
* Use a map of expected feedback codes

* Use a constexpr function instead of unordered_map

* Don't need this #include

* Minor function renaming
Co-authored-by: Jean-Christophe Ruel <jeanchristophe.ruel@elmec.ca>
* Create a copy of the planning scene. const robot state.

* Use LockedPlanningSceneRO over lockSceneRead()

* Use lambda function
* Use jammy dockers and clang-format-12
* Fix unused depend, and move to python3-lxml
* add ompl to repos, fix versions and ogre
* Remove ogre keys
* Fix boolean node operator
* Stop building dockers on branch and fix servo null pointer
* update pre-commit to clang-format-12 and pre-commit fixes
* clang-format workaround and more pre-commit fixes
* Add galactic CI
* Comment out rolling
* panda_ros_controllers -> panda_ros2_controllers
* Ignore flake8 tests
…oveit#1100)

* No lock in planning_component.cpp

* Make lockSceneRead(), lockSceneWrite() protected

* Add a migration note
@mergify
Copy link

mergify bot commented Mar 14, 2022

Please target the main branch for development, we will backport the changes to feature/msa for you if approved and if they don't break API.

@codecov
Copy link

codecov bot commented Mar 14, 2022

Codecov Report

Merging #1119 (a79c900) into feature/msa (dc80acc) will increase coverage by 3.16%.
The diff coverage is 63.55%.

Impacted file tree graph

@@               Coverage Diff               @@
##           feature/msa    #1119      +/-   ##
===============================================
+ Coverage        57.86%   61.02%   +3.16%     
===============================================
  Files              307      275      -32     
  Lines            25918    23761    -2157     
===============================================
- Hits             14996    14498     -498     
+ Misses           10922     9263    -1659     
Impacted Files Coverage Δ
..._core/collision_detection/src/collision_matrix.cpp 42.67% <0.00%> (ø)
...raint_samplers/src/default_constraint_samplers.cpp 72.71% <0.00%> (ø)
...kinematic_constraints/src/kinematic_constraint.cpp 74.44% <ø> (ø)
moveit_core/robot_model/src/robot_model.cpp 74.35% <0.00%> (-0.27%) ⬇️
...t_state/include/moveit/robot_state/attached_body.h 100.00% <ø> (ø)
...bot_state/include/moveit/robot_state/robot_state.h 90.28% <ø> (ø)
...cessing/src/time_optimal_trajectory_generation.cpp 76.12% <0.00%> (-1.37%) ⬇️
...ustrial_motion_planner/trajectory_generator_circ.h 100.00% <ø> (ø)
...dustrial_motion_planner/trajectory_generator_lin.h 100.00% <ø> (ø)
...dustrial_motion_planner/trajectory_generator_ptp.h 100.00% <ø> (ø)
... and 73 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a80c353...a79c900. Read the comment docs.

@vatanaksoytezer
Copy link
Contributor

lgtm

@vatanaksoytezer vatanaksoytezer merged commit 71d2ac5 into moveit:feature/msa Mar 14, 2022
@DLu DLu deleted the sync_msa_branch branch March 14, 2022 17:37
DLu added a commit to DLu/moveit2 that referenced this pull request May 19, 2022
vatanaksoytezer pushed a commit that referenced this pull request May 25, 2022
vatanaksoytezer pushed a commit that referenced this pull request May 31, 2022
vatanaksoytezer pushed a commit that referenced this pull request May 31, 2022
DLu added a commit to DLu/moveit2 that referenced this pull request Jun 13, 2022
DLu added a commit to DLu/moveit2 that referenced this pull request Jun 13, 2022
vatanaksoytezer pushed a commit that referenced this pull request Jun 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet