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 main into feature/msa (Part III) #1249

Merged
merged 263 commits into from
May 16, 2022

Conversation

DLu
Copy link
Contributor

@DLu DLu commented May 16, 2022

Description

https://www.youtube.com/watch?v=dTAAsCNK7RA

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 November 2, 2021 22:41
- 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
- Provide all types of JointTrajectoryController as well as
  FollowJointTrajectory and GripperCommand (use by simple manager)
- Use effort_controllers/JointTrajectoryController as default
- Create FollowJointTrajectory entries for any JointTrajectoryController
This will facilitate re-use of demo.launch.
henningkayser and others added 16 commits May 10, 2022 13:23
Signed-off-by: Tyler Weaver <tylerjw@gmail.com>
Signed-off-by: Gaël Écorchard <gael.ecorchard@cvut.cz>
Co-authored-by: jeoseo <jeongwooseo2012@gmail.com>
…ion algorithm (moveit#1195)

* A new function for common time-param calculations

* Flesh out the second computeTimeStamps function

* Reading of the custom limits

* Add a unit test

* Revert comment changes about exceptions

* Small efficiency improvements

* Add computeTimeStamps() overload to the base class

Co-authored-by: Jafar <cafer.abdi@gmail.com>
…1221)

* Move common functionality to utility functions
* Add a utility function to read RobotModel bounds
* Add a unit test for the new version of computeTimeStamps()
* Clean up Doxygen
* Use ruckig::DynamicDOFs everywhere
Co-authored-by: AndyZe <zelenak@picknik.ai>
@mergify
Copy link

mergify bot commented May 16, 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.

@DLu DLu requested a review from vatanaksoytezer May 16, 2022 14:34
@codecov
Copy link

codecov bot commented May 16, 2022

Codecov Report

Merging #1249 (c251d03) into feature/msa (f12f156) will increase coverage by 2.14%.
The diff coverage is 63.50%.

@@               Coverage Diff               @@
##           feature/msa    #1249      +/-   ##
===============================================
+ Coverage        59.13%   61.26%   +2.14%     
===============================================
  Files              275      274       -1     
  Lines            23732    24929    +1197     
===============================================
+ Hits             14032    15271    +1239     
+ Misses            9700     9658      -42     
Impacted Files Coverage Δ
...lude/moveit/collision_detection/collision_matrix.h 100.00% <ø> (ø)
...llision_detection/src/collision_octomap_filter.cpp 0.00% <0.00%> (ø)
...src/bullet_integration/bullet_cast_bvh_manager.cpp 51.43% <0.00%> (+0.71%) ⬆️
...bullet_integration/bullet_discrete_bvh_manager.cpp 50.00% <0.00%> (-3.84%) ⬇️
...sion_distance_field/collision_env_distance_field.h 4.77% <ø> (+0.22%) ⬆️
...lision_distance_field/src/collision_env_hybrid.cpp 0.00% <0.00%> (ø)
...ene/include/moveit/planning_scene/planning_scene.h 43.55% <0.00%> (-6.45%) ⬇️
...bot_state/include/moveit/robot_state/robot_state.h 89.96% <ø> (+8.05%) ⬆️
...processing/src/iterative_time_parameterization.cpp 91.99% <0.00%> (-1.25%) ⬇️
...e/moveit/ompl_interface/planning_context_manager.h 100.00% <ø> (ø)
... and 243 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 9c258fa...c251d03. Read the comment docs.

@vatanaksoytezer vatanaksoytezer merged commit bfda94c into moveit:feature/msa May 16, 2022
@DLu DLu deleted the merge_feature_msa_part_iii branch May 16, 2022 15:57
DLu added a commit to DLu/moveit2 that referenced this pull request May 19, 2022
DLu added a commit to DLu/moveit2 that referenced this pull request May 19, 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
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.