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
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
263 commits
Select commit Hold shift + click to select a range
c65260d
Improve error messages
rhaschke Nov 2, 2021
ed78706
Avoid duplicate error messages
rhaschke Nov 2, 2021
a6ec352
Don't complain about missing limits for irrelevant JMGs
rhaschke Nov 2, 2021
38e93f7
Fix unittests by providing a valid JMG
rhaschke Nov 3, 2021
8f61377
Remove deprecated xacro --inorder
rhaschke Nov 3, 2021
18cfe72
Fix typo: demangel -> demangle
rhaschke Nov 3, 2021
0d0a6dd
Drop the minimum velocity/acceleration limits for TOTG (#2937)
Nov 3, 2021
8992f16
CI: Explicitly add always() to if conditions
rhaschke Nov 3, 2021
0d7462f
Merge PR #2940: Improve error messages of Pilz planner
rhaschke Nov 3, 2021
8d2f961
Reset markers on display_contacts topic after a new planning attempt
rhaschke Nov 3, 2021
1d2e28a
Silent warning about virtual_joint in Gazebo setups
rhaschke Oct 23, 2021
7194e26
Remove execution_type argument from real-robot controller_manager.launch
rhaschke Oct 23, 2021
b4d485a
Fix definition of real-robot moveit_controller_manager
rhaschke Oct 23, 2021
19ab016
Rework moveit_controller_manager handling
rhaschke Nov 4, 2021
08fe55d
Cleanup generation of ros_controllers.yaml
rhaschke Nov 4, 2021
6779c14
Fix handling of sensors_3d.yaml
rhaschke Nov 4, 2021
7f30892
Add gazebo_controllers.yaml
rhaschke Nov 4, 2021
0216b59
Rework controller config generation
rhaschke Nov 4, 2021
a60571d
Fix ros_controllers.yaml: always handle joints as sequence
rhaschke Nov 4, 2021
72cbf75
Rename ROSControlConfig -> ControllerConfig
rhaschke Nov 4, 2021
f7ab083
Rename functions *ROSController* -> *Controller*
rhaschke Nov 4, 2021
2c243c6
Rename ros_controllers_config_ -> controller_configs_
rhaschke Nov 4, 2021
8fbd8a0
Rename files ros_controllers_widget.* -> controllers_widget.*
rhaschke Nov 4, 2021
89c6ba7
Rename ROSControllersWidget -> ControllersWidget
rhaschke Nov 4, 2021
42fafe5
Update widget texts to speak about generic controllers
rhaschke Nov 4, 2021
5e21f02
Simplify code
rhaschke Nov 4, 2021
c56d86a
Fix controller choice
rhaschke Nov 4, 2021
42c48ac
Formatting
rhaschke Nov 4, 2021
b95ba80
demo.launch: start joint + robot-state publishers in fake mode only
rhaschke Nov 4, 2021
ce8e824
Modularize demo_gazebo.launch: draw on demo.launch
rhaschke Nov 4, 2021
0461e6f
gazebo.launch: Load URDF via xacro if neccessary
rhaschke Nov 4, 2021
feaf72e
gazebo.yaml: Allow initial_joint_positions
rhaschke Nov 4, 2021
9dc3e35
gazebo.launch: delayed unpause
rhaschke Nov 4, 2021
592c864
Pilz unittests: use test_environment.launch
rhaschke Nov 4, 2021
cc71b61
Rename launch argument execution_type -> fake_execution_type
rhaschke Nov 4, 2021
251b1a2
moveit.rviz template: remove link names
rhaschke Nov 4, 2021
12bf90b
moveit.rviz: Use Orbit view controller
rhaschke Nov 4, 2021
a9307c6
Improve instructions
rhaschke Nov 4, 2021
c976011
Allow checking/unchecking multiple files for generation
rhaschke Nov 4, 2021
e2c3c3d
Simplify definition of `planning_plugin` parameter
rhaschke Nov 4, 2021
170e6d2
Pilz: Define default planner
rhaschke Nov 4, 2021
25a63b9
Various improvements to MSA: #2932, #2945, #2946
rhaschke Nov 5, 2021
776ff53
Enable compiler warnings
rhaschke Nov 5, 2021
5795c6c
Use catkin_tools_devel builder from industrial_ci
rhaschke Nov 5, 2021
1e18c60
Add comments
rhaschke Nov 5, 2021
0785f1e
Use test_environment.launch in unittests
rhaschke Nov 5, 2021
98767ef
Remove unused moveit_planning_execution.launch
rhaschke Nov 5, 2021
a91a652
Merge PRs #2948 (improve CI) and #2949 (simplify ROS .test files)
rhaschke Nov 5, 2021
e30c6fa
Fix orientation of subframe offset in Pilz planners (#2890)
Nov 5, 2021
304ae6a
CI: rename cross_platform_ci -> robostack
rhaschke Nov 6, 2021
331aff5
CI: prerelease.yaml: only allow manual triggering
rhaschke Nov 6, 2021
5681544
README.md: Update badges
rhaschke Nov 6, 2021
679d285
1.1.6
rhaschke Nov 6, 2021
ccbfdac
GHA: auto-sync noetic-devel to master (#2952)
rhaschke Nov 7, 2021
15c8a6e
Fixup auto-sync noetic-devel to master
rhaschke Nov 7, 2021
fb9fc79
Upload controller_list for simple controller manager (#2954)
rhaschke Nov 8, 2021
4db626d
Fixup auto-sync noetic-devel to master
rhaschke Nov 8, 2021
8a6c6ba
Add ns for depth image & pointcloud octomap updaters (#2916)
Tuebel Nov 16, 2021
82ece8e
MSA: Notice file updates (#2964)
rickstaa Nov 16, 2021
c481576
RDFLoader: clear buffer before reading content (#2963)
rickstaa Nov 16, 2021
d0d76f1
Add waypoint duration to the trajectory deep copy unit test (#2961)
Nov 16, 2021
928afab
MoveitCpp - added ability to set path constraints for PlanningCompone…
Colin-Kohler Nov 16, 2021
ed7b877
Joints widget: avoid flickering of the nullspace slider
rhaschke Nov 3, 2021
03ce4cf
MPD: Avoid flickering of the progress bar
rhaschke Nov 18, 2021
ab42a1d
Switch to std::bind (#2967)
jspricke Nov 18, 2021
fd36674
Add marker for subgroups even if no endeffector is defined for them (…
v4hn Nov 28, 2021
fb0a5b5
Use termination condition for simplification step (#2981)
simonschmeisser Dec 7, 2021
32a1883
Merge #2944: various fixes to the rviz plugins
rhaschke Dec 7, 2021
9d78be4
Add backwards compatibility for old scene serialization format (#2986)
wxmerkt Dec 10, 2021
9bfb2c7
Allow restricting collision pairs to a group (#2987)
simonschmeisser Dec 10, 2021
983f494
Increase ccache size (#2990)
tylerjw Dec 13, 2021
70b0368
RoboStack CI: Pin tinyxml2 version (#2993)
wolfv Dec 13, 2021
953f58d
quietly use backward_cpp/ros if available (#2988)
v4hn Dec 14, 2021
a4e023b
add comment to mention loading of old scene files
v4hn Dec 14, 2021
125d5e7
Provide MOVEIT_VERSION_CHECK macro (#2997)
rhaschke Dec 15, 2021
38b84de
feat(simple_controller_manager): add `max_effort` parameter to Grippe…
rickstaa Dec 15, 2021
3471bc1
Remove all remaining usage of robot_model
JafarAbdi Dec 15, 2021
b6895ab
Merge PR #2925: Fix "ClassLoader: SEVERE WARNING" on reset of MPD
rhaschke Dec 15, 2021
5ddb027
round_collada_numbers.py: python 2/3 compatibility (#2983)
tbazina Dec 15, 2021
c32bbd2
Do not assert on printTransform with non-isometry (#3005)
v4hn Dec 21, 2021
6a46aa0
add pilz planner to moveit_planners dependency
v4hn Dec 15, 2021
f6dffc4
pilz: report joint name with invalid limits in start state
v4hn Dec 15, 2021
38395dc
pilz: restrict start state check to active group
v4hn Dec 15, 2021
7bb9d12
Add API stress tests for TOTG
henningkayser Nov 11, 2021
2827369
TOTG: catch division by 0
jspricke Nov 17, 2021
d913145
Merge pr #3000: Pilz planner: improve reporting of invalid start joints
rhaschke Dec 22, 2021
23dff03
Add API stress tests for TOTG, fix undefined behavior (#2957)
henningkayser Dec 22, 2021
a25515b
Fix MoveGroupInterface uninitialized RobotState (#3008)
captain-yoshi Dec 23, 2021
dffc178
RobotState::attachBody: Migrate to unique_ptr argument (#3011)
pvanlaar Dec 28, 2021
872d33d
Disable (flaky) timing tests in DEBUG mode (#3012)
rhaschke Dec 28, 2021
a47e2c7
Pass xacro_args to both, urdf and srdf loading
rhaschke Oct 29, 2021
a334d8b
Modernize loops
rhaschke Oct 29, 2021
1249c2b
Move MoveItErrorCode class to moveit_core (#3009)
JafarAbdi Dec 28, 2021
b02e90e
Merge PR #3013: MSA cleanup
rhaschke Dec 28, 2021
a956b2a
Adapt to API changes in srdfdom
rhaschke Oct 29, 2021
2c9d26b
Don't fill all ACM entries by default
rhaschke Oct 29, 2021
9e268e7
Improve formatting of comments
rhaschke Oct 30, 2021
341e71d
ACM: specific pair entries take precedence over defaults
rhaschke Oct 30, 2021
cb1ea39
Add comment to prefer setDefaultEntry() over setEntry()
rhaschke Oct 30, 2021
9c7d8dd
Optimization: Check for most common case first
rhaschke Oct 31, 2021
e44e8e2
Adapt message passing of AllowedCollisionMatrix
rhaschke Oct 31, 2021
66066b5
ACM:print(): show default value
rhaschke Nov 2, 2021
6679901
Adapt to API changes in srdfdom
rhaschke Dec 22, 2021
47a6615
Unify initialization of ACM from SRDF
rhaschke Dec 28, 2021
2a66413
Move MoveItConfigData::setCollisionLinkPairs to collisions_updater.cpp
rhaschke Dec 28, 2021
890a80e
Disable slow robot_interaction tests in DEBUG mode (#3014)
v4hn Dec 29, 2021
155eefa
1.1.7
rhaschke Dec 31, 2021
2a71c9c
collision_distance_field: Fix undefined behavior vector insertion (#3…
JafarAbdi Dec 31, 2021
ac6b7d6
Fix deprecation warning in moveit_cpp (#3019)
JeroenDM Jan 4, 2022
30139c1
Fix wrong transform in distance fields' determineCollisionSpheres() (…
Martin-Oehler Jan 6, 2022
834ebb9
Make TimeParameterization classes polymorphic (#3021)
JafarAbdi Jan 6, 2022
ea86018
MSA: Add STOMP + OMPL-CHOMP configs (#2955)
rickstaa Jan 7, 2022
7da00c1
Fix CI: update apt packages before install
rhaschke Jan 14, 2022
024e663
CI: Fetch srdfdom from source
rhaschke Jan 17, 2022
424a5b7
Merge PR #2938: Rework ACM
rhaschke Jan 17, 2022
920eae6
Update .rosinstall: Include srdfdom
rhaschke Jan 18, 2022
abc1532
Resolve ambiguous function specification (#3040)
jspricke Jan 27, 2022
97776ca
:test_tube: testspace (#955)
tylerjw Jan 27, 2022
5c40566
[hybrid planning] Add action abortion and test; improve the existing …
Jan 27, 2022
b098c33
Improve loading of planning pipelines (#3036)
rhaschke Jan 27, 2022
4b7fcd2
Avoid downgrading default C++ standard (#3043)
jspricke Jan 28, 2022
e7b388d
1.1.8
rhaschke Jan 30, 2022
1c5cd5c
Disable hybrid planning test, don't cache ci docker at all and don't …
Feb 2, 2022
b8f4fcf
Fix use of std::bind (#3048)
Tobias-Fischer Feb 3, 2022
ee48dc5
Fix missing include (#3051)
Tobias-Fischer Feb 4, 2022
05858db
Explicitly set is_primary_planning_scene_monitor in Servo example con…
schornakj Feb 4, 2022
80d974d
Merge https://github.com/ros-planning/moveit/commit/0d7462f140e03b4c3…
Abishalini Feb 4, 2022
84869ed
Fix race condition in SynchronizedStringParameter::waitForMessage (#1…
corycrean Feb 4, 2022
8050b71
Merge https://github.com/ros-planning/moveit/commit/25a63b920adf46f0a…
Abishalini Feb 4, 2022
5244bc7
Misc fixes for time and transforms (#768)
JafarAbdi Feb 7, 2022
d7a3504
Fix object interactive marker in wrong pose after changing the fixed …
JafarAbdi Feb 7, 2022
3b5efca
Get parameter on initialize (rebased version of #893) (#996)
JafarAbdi Feb 7, 2022
aaff6d1
Add cleaning action (#641)
Feb 7, 2022
42f4c64
[hybrid planning] Use a map of expected feedback codes (#1065)
Feb 7, 2022
77e43f3
Fix docker cleanup action (#1071)
Feb 8, 2022
dd240ef
[Hybrid Planning] configurable planning scene topics (#1052)
Feb 10, 2022
d4b7197
Fix Python versioned dependency (#3063)
jspricke Feb 18, 2022
5bd7d98
Use galactic in main CI (#1077)
Feb 18, 2022
1cc4074
Do not automatically load robot description in move_group.launch (#3065)
v4hn Feb 20, 2022
16f3466
fix move_group_commander.go(tuple(...)) (#3066)
v4hn Feb 21, 2022
ce14888
Fix mixed-up implementations in TfSubscription creation (#1073)
jeanchristopheruel Feb 21, 2022
92c3e84
[hybrid planning] Adjust planning scene locking (#1087)
Feb 23, 2022
420b4b0
Add option to use simulation time for rviz trajectory display (#3055)
Martin-Oehler Mar 2, 2022
6f7ce13
MSA: boost::bind -> std::bind (#3039)
jspricke Mar 2, 2022
419db3b
Compilation fixes for Jammy and bring back Rolling CI (#1095)
Mar 3, 2022
d7e1985
Fix collisions_updater's set comparison (#3076)
LoyVanBeek Mar 4, 2022
3df9522
Use GLEW::GLEW link target (#3079)
v4hn Mar 4, 2022
3ba0a07
Add Ptr definitions for TimeParameterization classes (#3078)
v4hn Mar 4, 2022
1270815
Add special case for sphere bodies in sphere decomposition (#3056)
Martin-Oehler Mar 4, 2022
51e9d15
moveit joy: add PS3 dual shock model (#3025)
job-1994 Mar 4, 2022
3dacf20
Avoid creating duplicate transmission tags
rickstaa Nov 16, 2021
12b6dab
1.1.9
rhaschke Mar 6, 2022
a87f80f
fixup: fix variable name: transitions_elements -> transmission_elements
rhaschke Mar 4, 2022
a759c56
fixup: avoid segfaults if expected XML elements are missing
rhaschke Mar 4, 2022
e420170
fixup: (slightly) improve comment
rhaschke Mar 4, 2022
b692484
static_cast<std::string>(*) -> std::string(*)
rhaschke Mar 4, 2022
20b406d
Use more specific check for correct tag
rhaschke Mar 4, 2022
ee644c1
Allow (over)writing the Gazebo-compatible URDF
rickstaa Nov 12, 2021
fe5e53f
fixup: avoid code duplication
rhaschke Mar 4, 2022
1871b3e
fixup: Improve message boxes
rhaschke Mar 5, 2022
8e7995c
fixup: Drop hidden_func_ from ConfigurationFilesWidget
rhaschke Mar 5, 2022
577d629
fixup: Simplify saving
rhaschke Mar 6, 2022
7ad8528
fixup: config_path_ -> static const CONFIG_PATH
rhaschke Mar 6, 2022
ba84592
getGazeboCompatibleURDF(): Skip catching YAML exceptions
rhaschke Mar 6, 2022
6dc55b6
getGazeboCompatibleURDF(): Compare original and final XML
rhaschke Mar 6, 2022
6cfcd61
Simplify getGazeboCompatibleURDF()
rhaschke Mar 6, 2022
ed07c36
Replace manual highlighting with a SyntaxHighlighter
rhaschke Mar 5, 2022
2b8e6cf
XmlSyntaxHighlighter: allow nested highlighting
rhaschke Mar 5, 2022
ecce74e
Use focusGiven() + focusLost() to generate and validate Gazebo URDF
rhaschke Mar 6, 2022
334f09b
Fix widget layout
rhaschke Mar 6, 2022
1a967b8
Provide button to open original URDF file
rhaschke Mar 6, 2022
573f0db
Move getGazeboCompatibleURDF() from MoveItConfigData to SimulationWidget
rhaschke Mar 7, 2022
f2cc234
Filter more invalid values in moveit_benchmark_statistics.py (#3084)
Hugal31 Mar 9, 2022
2c75c9f
Temporarily add galactic CI (#1107)
Mar 10, 2022
6a2a2c2
[moveit_configs_utils] Minor fixes (#1103)
DLu Mar 10, 2022
44ff32b
Make lockSceneRead() and lockSceneWrite() protected member functions …
Mar 11, 2022
a589e54
Merge https://github.com/ros-planning/moveit/commit/ab42a1d7017b27eb6…
Abishalini Mar 11, 2022
875276e
Fix missing boost::ref -> std::ref
henningkayser Mar 11, 2022
a7b757d
Fix copyright notice in README script (#1115)
henningkayser Mar 11, 2022
d5b2d26
Off by one in getAverageSegmentDuration (#1079)
stephanie-eng Mar 14, 2022
54d2983
Remove include of OgrePrerequisites header (#1099)
Mar 15, 2022
81ec447
New Launch Files using moveit_configs_utils (#1113)
DLu Mar 16, 2022
8ed8c1b
Merge https://github.com/ros-planning/moveit/commit/a25515b73d682df03…
Abishalini Mar 18, 2022
3b6b0d1
[moveit_cpp] Fix double param declaration (#1097)
galou Mar 18, 2022
d59a463
[moveit_cpp] Fix config of multiple pipelines (#1096)
galou Mar 18, 2022
7db7d6c
Remove launch_param_builder (#1133)
DLu Mar 21, 2022
1b08006
Simply MoveItCpp::getPlanningPipelineNames() (#1114)
henningkayser Mar 22, 2022
64326ca
Don't overwrite existing attributes
rhaschke Mar 22, 2022
6fa02b7
RDFLoader Broken with Xacro Files (#1132)
DLu Mar 22, 2022
27ab5a2
Add inertial/origin tag
rhaschke Mar 22, 2022
9271e6a
Consider eef's parent group when creating eef markers (#3095)
rhaschke Mar 22, 2022
65509ba
ACM: Consider default entries when packing a ROS message (#3096)
rhaschke Mar 23, 2022
72d9192
Merge #3081: Improve Gazebo-compatible URDF generation in MSA
rhaschke Mar 23, 2022
a772d8e
Remove new operators (#1135)
senceryazici Mar 24, 2022
b6c0e0e
Update black version, formatting changes (#1148)
stephanie-eng Mar 29, 2022
9e30bdc
Set controller status before it is checked on trajectory execution (#…
destogl Mar 29, 2022
dec4d8f
Return `ExecutionStatus` from `MoveItCpp::execute()` (#1147)
galou Mar 29, 2022
9bf64de
[ompl] Small code refactor (#1138)
galou Mar 31, 2022
9ae8aad
Enable rolling / jammy CI (again) (#1134)
Mar 31, 2022
867aa49
Use a steady clock for timeout for IK (#795)
galou Mar 31, 2022
f7c59a7
Merge https://github.com/ros-planning/moveit/commit/424a5b7b8b774424f…
Abishalini Apr 4, 2022
0ce1c29
Suppress clang tidy warning performance-no-int-to-ptr
Abishalini Apr 5, 2022
49d21ba
[moveit_ros_benchmarks] Add missing moveit_core dependency (#1157)
galou Apr 6, 2022
99939d3
Fix prbt_ikfast win compilation (#1161)
Tobias-Fischer Apr 6, 2022
9601643
Revert OMPL parameter loading
Apr 7, 2022
39639b7
Comment failing rdf integration test
Apr 7, 2022
c95084e
Rename panda controllers
Apr 7, 2022
f8da951
Fix failing test
JafarAbdi Apr 7, 2022
a0c4d34
Remove moveit_msgs and ompl from moveit2.repos (#1166)
DLu Apr 7, 2022
3fe5b82
Replace num_dof and idx variables with JointGroup API (#1152)
burkap Apr 12, 2022
0f3f882
Fix Moveit Configs Utils Bug (#1174)
DLu Apr 12, 2022
84e482c
Ruckig smoothing cleanup (#1111)
Apr 12, 2022
a6ae014
[Servo] Add override parameter to set constant velocity scaling in Se…
MarqRazz Apr 12, 2022
438f6d2
Remove sbpl planner (#1173)
sjahr Apr 13, 2022
14d2a93
RCLCPP Upgrade Bugfixes (#1181)
DLu Apr 14, 2022
81f10f1
Add launch file configurations for static tfs and spawning controller…
DLu Apr 14, 2022
d27518d
Delete an unused variable and a redundant log message (#1179)
Apr 15, 2022
7f04091
move_group launch for moveit_configs_utils (#1131)
DLu Apr 19, 2022
6b985cc
Add a warning for TOTG if vel/accel limits aren't specified. (#1186)
Apr 19, 2022
cd39fc2
Disable separate TransformListener thread in OccupancyMapServer (#1130)
henningkayser Apr 21, 2022
a06554e
Demo launch for moveit_configs_utils (#1189)
DLu Apr 22, 2022
002dcbf
Fix CI permission errors (#1206)
May 2, 2022
4d1549d
Clamp inputs to Ruckig. Use current waypoint as input for next iterat…
May 4, 2022
78574bc
Use orocos_kdl_vendor package (#1207)
henningkayser May 5, 2022
ddc931e
simplify distance field method binding
v4hn Apr 21, 2022
fd21421
drop unused arguments not needed for lambda binding
v4hn Apr 21, 2022
76a52c1
migrate PRA internals to lambdas
v4hn Apr 21, 2022
8262fcc
remove unused arguments from kinematics test
v4hn Apr 22, 2022
9c832b3
planning_context_manager: rename protected methods
rhaschke Apr 30, 2022
e488102
various: prefer object and references over pointers
v4hn Apr 25, 2022
7793df0
banish bind()
v4hn Apr 28, 2022
59a1307
add check for bind() to clang-tidy
v4hn Apr 30, 2022
b04c7bb
Fix clang-tidy warning (#1208)
rhaschke May 9, 2022
806cce4
CI: More generically fix permission errors (#1215)
rhaschke May 9, 2022
3aa74ec
Fix double delete in PILZ CIRC generation (#1229)
henningkayser May 10, 2022
8a5357a
Avoid bind(), use lambdas instead (#1204)
henningkayser May 10, 2022
2e7b4c0
Fix deprecated namespace (#1228)
tylerjw May 10, 2022
a6f600f
Remove unused includes for boost::bind (#1220)
stephanie-eng May 10, 2022
d4c05f1
Make moveit_common a 'depend' rather than 'build_depend' (#1226)
JafarAbdi May 10, 2022
624b6b4
Change condition for loading default OMPL config (#1222)
stephanie-eng May 10, 2022
40b7a4b
Fix reading joint weights in KDLKinematicsPlugin (#1216)
galou May 10, 2022
4ace026
Make TOTG the default time-parameterization algorithm everywhere (#1218)
May 10, 2022
05aedac
Enable cppcheck (#1224)
jeoseo May 10, 2022
9e08880
Allow custom velocity/acceleration limits for TOTG time-parameterizat…
May 10, 2022
e4c7b71
Allow custom velocity/accel/jerk limits for Ruckig smoothing (#1221)
May 10, 2022
924b9a1
Tidy up the mess (#1243)
DLu May 12, 2022
7f2927c
Alternate Package Name Specification (#1244)
DLu May 12, 2022
3dcf953
Merge https://github.com/ros-planning/moveit/commit/72d919299796bffc2…
Abishalini May 13, 2022
28f87cf
Declare the default_planning_pipeline parameter (#1227)
stephanie-eng May 14, 2022
c251d03
Merge remote-tracking branch 'upstream/main' into feature/msa
DLu May 16, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions MIGRATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ API changes in MoveIt releases
- In case you start RViz in a namespace, the default topic for the trajectory visualization display now uses the relative instead of the absolute namespace (i.e. `<ns>/move_group/display_planned_path` instead of `/move_group/display_planned_path`).
- `RobotState::attachBody()` now takes a unique_ptr instead of an owning raw pointer.
- Moved the class `MoveItErrorCode` from both `moveit_ros_planning` and `moveit_ros_planning_interface` to `moveit_core`. The class now is in namespace `moveit::core`, access via `moveit::planning_interface` or `moveit_cpp::PlanningComponent` is deprecated.
- End-effector markers in rviz are shown only if the eef's parent group is active _and_ the parent link is part of that group. Before, these conditions were _OR_-connected.
You might need to define additional end-effectors.

## ROS Melodic

Expand Down
2 changes: 1 addition & 1 deletion moveit_commander/src/moveit_commander/move_group.py
Original file line number Diff line number Diff line change
Expand Up @@ -603,7 +603,7 @@ def go(self, joints=None, wait=True):
elif joints is not None:
try:
self.set_joint_value_target(self.get_remembered_joint_values()[joints])
except TypeError:
except (KeyError, TypeError):
self.set_joint_value_target(joints)
if wait:
return self._g.move()
Expand Down
46 changes: 30 additions & 16 deletions moveit_commander/test/python_moveit_commander.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,12 +43,21 @@
import os

from moveit_msgs.msg import RobotState
from sensor_msgs.msg import JointState

from moveit_commander import RobotCommander, PlanningSceneInterface


class PythonMoveitCommanderTest(unittest.TestCase):
PLANNING_GROUP = "manipulator"
JOINT_NAMES = [
"joint_1",
"joint_2",
"joint_3",
"joint_4",
"joint_5",
"joint_6",
]

@classmethod
def setUpClass(self):
Expand All @@ -67,14 +76,7 @@ def test_enforce_bounds_empty_state(self):
def test_enforce_bounds(self):
in_msg = RobotState()
in_msg.joint_state.header.frame_id = "base_link"
in_msg.joint_state.name = [
"joint_1",
"joint_2",
"joint_3",
"joint_4",
"joint_5",
"joint_6",
]
in_msg.joint_state.name = self.JOINT_NAMES
in_msg.joint_state.position = [0] * 6
in_msg.joint_state.position[0] = 1000

Expand All @@ -87,14 +89,7 @@ def test_get_current_state(self):
expected_state = RobotState()
expected_state.joint_state.header.frame_id = "base_link"
expected_state.multi_dof_joint_state.header.frame_id = "base_link"
expected_state.joint_state.name = [
"joint_1",
"joint_2",
"joint_3",
"joint_4",
"joint_5",
"joint_6",
]
expected_state.joint_state.name = self.JOINT_NAMES
expected_state.joint_state.position = [0] * 6
self.assertEqual(self.group.get_current_state(), expected_state)

Expand Down Expand Up @@ -141,6 +136,25 @@ def test_validation(self):
self.assertTrue(success3)
self.assertTrue(self.group.execute(plan3))

def test_gogogo(self):
current_joints = np.asarray(self.group.get_current_joint_values())

self.group.set_joint_value_target(current_joints)
self.assertTrue(self.group.go(True))

self.assertTrue(self.group.go(current_joints))
self.assertTrue(self.group.go(list(current_joints)))
self.assertTrue(self.group.go(tuple(current_joints)))
self.assertTrue(
self.group.go(JointState(name=self.JOINT_NAMES, position=current_joints))
)

self.group.remember_joint_values("current")
self.assertTrue(self.group.go("current"))

current_pose = self.group.get_current_pose()
self.assertTrue(self.group.go(current_pose))

def test_planning_scene_interface(self):
planning_scene = PlanningSceneInterface()

Expand Down
14 changes: 8 additions & 6 deletions moveit_core/collision_detection/src/collision_matrix.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -344,10 +344,14 @@ void AllowedCollisionMatrix::getAllEntryNames(std::vector<std::string>& names) c
{
names.clear();
for (const auto& entry : entries_)
if (!names.empty() && names.back() == entry.first)
continue;
else
names.push_back(entry.first);
names.push_back(entry.first);

for (const auto& item : default_entries_)
{
auto it = std::lower_bound(names.begin(), names.end(), item.first);
if (it != names.end() && *it != item.first)
names.insert(it, item.first);
}
}

void AllowedCollisionMatrix::getMessage(moveit_msgs::msg::AllowedCollisionMatrix& msg) const
Expand All @@ -358,7 +362,6 @@ void AllowedCollisionMatrix::getMessage(moveit_msgs::msg::AllowedCollisionMatrix
msg.default_entry_values.clear();

getAllEntryNames(msg.entry_names);
std::sort(msg.entry_names.begin(), msg.entry_names.end());

msg.entry_values.resize(msg.entry_names.size());
for (std::size_t i = 0; i < msg.entry_names.size(); ++i)
Expand Down Expand Up @@ -389,7 +392,6 @@ void AllowedCollisionMatrix::print(std::ostream& out) const
{
std::vector<std::string> names;
getAllEntryNames(names);
std::sort(names.begin(), names.end());

std::size_t spacing = 4;
for (auto& name : names)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,17 +51,26 @@ std::vector<CollisionSphere> determineCollisionSpheres(const bodies::Body* body,
{
std::vector<CollisionSphere> css;

bodies::BoundingCylinder cyl;
body->computeBoundingCylinder(cyl);
unsigned int num_points = ceil(cyl.length / (cyl.radius / 2.0));
double spacing = cyl.length / ((num_points * 1.0) - 1.0);
relative_transform = cyl.pose;

for (unsigned int i = 1; i < num_points - 1; ++i)
if (body->getType() == shapes::ShapeType::SPHERE)
{
CollisionSphere cs(relative_transform * Eigen::Vector3d(0, 0, (-cyl.length / 2.0) + i * spacing), cyl.radius);
collision_detection::CollisionSphere cs(body->getPose().translation(), body->getDimensions()[0]);
css.push_back(cs);
}
else
{
bodies::BoundingCylinder cyl;
body->computeBoundingCylinder(cyl);
unsigned int num_points = ceil(cyl.length / (cyl.radius / 2.0));
double spacing = cyl.length / ((num_points * 1.0) - 1.0);
relative_transform = cyl.pose;

for (unsigned int i = 1; i < num_points - 1; i++)
{
collision_detection::CollisionSphere cs(
relative_transform * Eigen::Vector3d(0, 0, (-cyl.length / 2.0) + i * spacing), cyl.radius);
css.push_back(cs);
}
}

return css;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ namespace trajectory_processing
{
/// \brief This class modifies the timestamps of a trajectory to respect
/// velocity and acceleration constraints.
MOVEIT_CLASS_FORWARD(IterativeParabolicTimeParameterization);
class IterativeParabolicTimeParameterization : public TimeParameterization
{
public:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ class Trajectory
mutable std::list<TrajectoryStep>::const_iterator cached_trajectory_segment_;
};

MOVEIT_CLASS_FORWARD(TimeOptimalTrajectoryGeneration);
class TimeOptimalTrajectoryGeneration : public TimeParameterization
{
public:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ namespace trajectory_processing
/**
* @brief Base class for trajectory parameterization algorithms
*/
MOVEIT_CLASS_FORWARD(TimeParameterization);
class TimeParameterization
{
public:
Expand Down
7 changes: 5 additions & 2 deletions moveit_ros/benchmarks/scripts/moveit_benchmark_statistics.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,9 @@ def readRequiredMultilineValue(filevar):
def readBenchmarkLog(dbname, filenames):
"""Parse benchmark log files and store the parsed data in a sqlite3 database."""

def isInvalidValue(value):
return len(value) == 0 or value in ["nan", "-nan", "inf", "-inf"]

conn = sqlite3.connect(dbname)
c = conn.cursor()
c.execute("PRAGMA FOREIGN_KEYS = ON")
Expand Down Expand Up @@ -313,7 +316,7 @@ def readBenchmarkLog(dbname, filenames):
runIds = []
for j in range(numRuns):
runValues = [
None if len(x) == 0 or x == "nan" or x == "inf" else x
None if isInvalidValue(x) else x
for x in logfile.readline().split("; ")[:-1]
]
values = tuple([experimentId, plannerId] + runValues)
Expand Down Expand Up @@ -362,7 +365,7 @@ def readBenchmarkLog(dbname, filenames):
values = tuple(
[runIds[j]]
+ [
None if len(x) == 0 or x == "nan" or x == "inf" else x
None if isInvalidValue(x) else x
for x in dataSample.split(",")[:-1]
]
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
#pragma once

#include <rclcpp/rclcpp.hpp>
#include <string>
#include <moveit/macros/class_forward.h>

namespace moveit_cpp
Expand Down
6 changes: 3 additions & 3 deletions moveit_ros/move_group/src/move_group.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -236,16 +236,16 @@ int main(int argc, char** argv)
std::string default_planning_pipeline;
if (nh->get_parameter("default_planning_pipeline", default_planning_pipeline))
{
// Ignore default_planning_pipeline if there is no known entry in pipeline_names
// Ignore default_planning_pipeline if there is no matching entry in pipeline_names
if (std::find(pipeline_names.begin(), pipeline_names.end(), default_planning_pipeline) == pipeline_names.end())
{
RCLCPP_WARN(LOGGER,
"MoveGroup launched with ~default_planning_pipeline '%s' not configured in ~/planning_pipelines",
"MoveGroup launched with ~default_planning_pipeline '%s' not configured in ~planning_pipelines",
default_planning_pipeline.c_str());
default_planning_pipeline = ""; // reset invalid pipeline id
}
}
else
else if (pipeline_names.size() > 1) // only warn if there are multiple pipelines to choose from
{
// Handle deprecated move_group.launch
RCLCPP_WARN(LOGGER,
Expand Down
2 changes: 1 addition & 1 deletion moveit_ros/robot_interaction/src/robot_interaction.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,7 @@ void RobotInteraction::decideActiveEndEffectors(const std::string& group, Intera
auto add_active_end_effectors_for_single_group = [&](const moveit::core::JointModelGroup* single_group) {
bool found_eef{ false };
for (const srdf::Model::EndEffector& eef : eefs)
if ((single_group->hasLinkModel(eef.parent_link_) || single_group->getName() == eef.parent_group_) &&
if (single_group->hasLinkModel(eef.parent_link_) && single_group->getName() == eef.parent_group_ &&
single_group->canSetStateFromIK(eef.parent_link_))
{
// We found an end-effector whose parent is the group.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -619,6 +619,13 @@ void MotionPlanningFrame::initFromMoveGroupNS()
planning_scene_world_publisher_ =
node_->create_publisher<moveit_msgs::msg::PlanningSceneWorld>("planning_scene_world", 1);

// Declare parameter for default planning pipeline
if (!node_->has_parameter(planning_display_->getMoveGroupNS() + "default_planning_pipeline"))
node_->declare_parameter<std::string>(planning_display_->getMoveGroupNS() + "default_planning_pipeline", "");

// Query default planning pipeline id
node_->get_parameter(planning_display_->getMoveGroupNS() + "default_planning_pipeline", default_planning_pipeline_);

// Set initial velocity and acceleration scaling factors from ROS parameters
double factor;
node_->get_parameter_or("robot_description_planning.default_velocity_scaling_factor", factor, 0.1);
Expand All @@ -638,10 +645,6 @@ void MotionPlanningFrame::initFromMoveGroupNS()
{
ui_->database_port->setValue(port);
}

// Query default planning pipeline id
node_->get_parameter(planning_display_->getMoveGroupNS() + "/move_group/default_planning_pipeline",
default_planning_pipeline_);
}

void MotionPlanningFrame::disable()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ class TrajectoryVisualization : public QObject

~TrajectoryVisualization() override;

virtual void update(float wall_dt, float ros_dt);
virtual void update(float wall_dt, float sim_dt);
virtual void reset();

void onInitialize(const rclcpp::Node::SharedPtr& node, Ogre::SceneNode* scene_node,
Expand Down Expand Up @@ -172,6 +172,7 @@ private Q_SLOTS:
rviz_common::properties::RosTopicProperty* trajectory_topic_property_;
rviz_common::properties::FloatProperty* robot_path_alpha_property_;
rviz_common::properties::BoolProperty* loop_display_property_;
rviz_common::properties::BoolProperty* use_sim_time_property_;
rviz_common::properties::BoolProperty* trail_display_property_;
rviz_common::properties::BoolProperty* interrupt_display_property_;
rviz_common::properties::ColorProperty* robot_color_property_;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,10 @@ TrajectoryVisualization::TrajectoryVisualization(rviz_common::properties::Proper
state_display_time_property_->addOptionStd("0.1s");
state_display_time_property_->addOptionStd("0.5s");

use_sim_time_property_ = new rviz_common::properties::BoolProperty(
"Use Sim Time", false, "Indicates whether simulation time or wall-time is used for state display timing.", widget,
nullptr, this);

loop_display_property_ = new rviz_common::properties::BoolProperty("Loop Animation", false,
"Indicates whether the last received path "
"is to be animated in a loop",
Expand Down Expand Up @@ -410,7 +414,7 @@ void TrajectoryVisualization::dropTrajectory()
drop_displaying_trajectory_ = true;
}

void TrajectoryVisualization::update(float wall_dt, float /*ros_dt*/)
void TrajectoryVisualization::update(float wall_dt, float sim_dt)
{
if (drop_displaying_trajectory_)
{
Expand Down Expand Up @@ -460,7 +464,14 @@ void TrajectoryVisualization::update(float wall_dt, float /*ros_dt*/)
{
int previous_state = current_state_;
int waypoint_count = displaying_trajectory_message_->getWayPointCount();
current_state_time_ += wall_dt;
if (use_sim_time_property_->getBool())
{
current_state_time_ += sim_dt;
}
else
{
current_state_time_ += wall_dt;
}
float tm = getStateDisplayTime();

if (trajectory_slider_panel_ && trajectory_slider_panel_->isVisible() && trajectory_slider_panel_->isPaused())
Expand Down
Loading