Skip to content

Commit 8b3b7e1

Browse files
authored
Merge branch 'moveit:main' into patch-3
2 parents 325df63 + 7db58f8 commit 8b3b7e1

File tree

18 files changed

+73
-149
lines changed

18 files changed

+73
-149
lines changed

.github/workflows/ci.yaml

+7-7
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
# TODO(andyz): When this clang-tidy issue is fixed, remove -Wno-unknown-warning-option
3535
# https://stackoverflow.com/a/41673702
3636
CXXFLAGS: >-
37-
-Wall -Wextra -Wwrite-strings -Wunreachable-code -Wpointer-arith -Wredundant-decls -Wno-unknown-warning-option
37+
-Wall -Wextra -Wwrite-strings -Wunreachable-code -Wpointer-arith -Wredundant-decls -Wno-unknown-warning-option -Wno-cpp
3838
CLANG_TIDY_ARGS: --fix --fix-errors --format-style=file
3939
DOCKER_IMAGE: moveit/moveit2:${{ matrix.env.IMAGE }}
4040
UPSTREAM_WORKSPACE: >
@@ -105,36 +105,36 @@ jobs:
105105
with:
106106
file: moveit2.repos
107107
- name: Cache upstream workspace
108-
uses: actions/cache@v4
108+
uses: rhaschke/cache@main
109109
with:
110110
path: ${{ env.BASEDIR }}/upstream_ws
111111
key: ${{ env.CACHE_PREFIX }}-${{ github.run_id }}
112112
restore-keys: ${{ env.CACHE_PREFIX }}
113-
save-always: true
114113
env:
114+
GHA_CACHE_SAVE: always
115115
CACHE_PREFIX: ${{ steps.rosdistro_release_date.outputs.date }}-upstream_ws-${{ steps.repos_edit_timestamp.outputs.timestamp }}-${{ matrix.env.IMAGE }}-${{ hashFiles('moveit2*.repos', '.github/workflows/ci.yaml') }}
116116
# The target directory cache doesn't include the source directory because
117117
# that comes from the checkout. See "prepare target_ws for cache" task below
118118
- name: Cache target workspace
119119
if: "!matrix.env.CCOV"
120-
uses: actions/cache@v4
120+
uses: rhaschke/cache@main
121121
with:
122122
path: ${{ env.BASEDIR }}/target_ws
123123
key: ${{ env.CACHE_PREFIX }}-${{ github.run_id }}
124124
restore-keys: ${{ env.CACHE_PREFIX }}
125-
save-always: true
126125
env:
126+
GHA_CACHE_SAVE: always
127127
CACHE_PREFIX: target_ws${{ matrix.env.CCOV && '-ccov' || '' }}-${{ matrix.env.IMAGE }}-${{ hashFiles('**/CMakeLists.txt', '**/package.xml', '.github/workflows/ci.yaml') }}
128128
- name: Cache ccache
129-
uses: actions/cache@v4
129+
uses: rhaschke/cache@main
130130
with:
131131
path: ${{ env.CCACHE_DIR }}
132132
key: ${{ env.CACHE_PREFIX }}-${{ github.sha }}-${{ github.run_id }}
133133
restore-keys: |
134134
${{ env.CACHE_PREFIX }}-${{ github.sha }}
135135
${{ env.CACHE_PREFIX }}
136-
save-always: true
137136
env:
137+
GHA_CACHE_SAVE: always
138138
CACHE_PREFIX: ccache-${{ matrix.env.IMAGE }}${{ matrix.env.CCOV && '-ccov' || '' }}
139139
- name: Configure ccache
140140
run: |

.github/workflows/format.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
- uses: actions/checkout@v4
2020
- uses: actions/setup-python@v5
2121
with:
22-
python-version: '3.10'
22+
python-version: 3.x
2323
- name: Install clang-format-14
2424
run: sudo apt-get install clang-format-14
2525
- uses: pre-commit/[email protected]

.github/workflows/sonar.yaml

+5-4
Original file line numberDiff line numberDiff line change
@@ -72,23 +72,24 @@ jobs:
7272
with:
7373
file: moveit2.repos
7474
- name: Cache upstream workspace
75-
uses: actions/cache@v4
75+
uses: rhaschke/cache@main
7676
with:
7777
path: ${{ env.BASEDIR }}/upstream_ws
7878
key: ${{ env.CACHE_PREFIX }}-${{ github.run_id }}
7979
restore-keys: ${{ env.CACHE_PREFIX }}
80-
save-always: true
8180
env:
81+
GHA_CACHE_SAVE: always
8282
CACHE_PREFIX: ${{ steps.rosdistro_release_date.outputs.date }}-upstream_ws-${{ steps.repos_edit_timestamp.outputs.timestamp }}-rolling-ci-${{ hashFiles('moveit2*.repos', '.github/workflows/ci.yaml') }}
8383
- name: Cache ccache
84-
uses: actions/cache@v4
84+
uses: rhaschke/cache@main
8585
with:
8686
path: ${{ env.CCACHE_DIR }}
8787
key: ccache-rolling-ci-ccov-${{ github.sha }}-${{ github.run_id }}
8888
restore-keys: |
8989
ccache-rolling-ci-ccov-${{ github.sha }}
9090
ccache-rolling-ci-ccov
91-
save-always: true
91+
env:
92+
GHA_CACHE_SAVE: always
9293
- name: Configure ccache
9394
run: |
9495
mkdir -p ${{ env.CCACHE_DIR }}

moveit2.repos

+4
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,7 @@ repositories:
1212
type: git
1313
url: https://github.com/moveit/moveit_resources.git
1414
version: ros2
15+
srdfdom:
16+
type: git
17+
url: https://github.com/moveit/srdfdom.git
18+
version: ros2

moveit_configs_utils/moveit_configs_utils/launches.py

+6-1
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,12 @@ def generate_move_group_launch(moveit_config):
204204
)
205205
)
206206
# inhibit these default MoveGroup capabilities (space separated)
207-
ld.add_action(DeclareLaunchArgument("disable_capabilities", default_value=""))
207+
ld.add_action(
208+
DeclareLaunchArgument(
209+
"disable_capabilities",
210+
default_value=moveit_config.move_group_capabilities["disable_capabilities"],
211+
)
212+
)
208213

209214
# do not copy dynamics information from /joint_states to internal robot monitoring
210215
# default to false, because almost nothing in move_group relies on this information

moveit_configs_utils/moveit_configs_utils/moveit_configs_builder.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,9 @@ class MoveItConfigs:
108108
# A dictionary that has the sensor 3d configuration parameters.
109109
sensors_3d: Dict = field(default_factory=dict)
110110
# A dictionary containing move_group's non-default capabilities.
111-
move_group_capabilities: Dict = field(default_factory=dict)
111+
move_group_capabilities: Dict = field(
112+
default_factory=lambda: {"capabilities": "", "disable_capabilities": ""}
113+
)
112114
# A dictionary containing the overridden position/velocity/acceleration limits.
113115
joint_limits: Dict = field(default_factory=dict)
114116
# A dictionary containing MoveItCpp related parameters.

moveit_core/constraint_samplers/test/pr2_arm_ik.h

+4
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,11 @@
3737
#pragma once
3838

3939
#include <urdf_model/model.h>
40+
#if __has_include(<urdf/model.hpp>)
41+
#include <urdf/model.hpp>
42+
#else
4043
#include <urdf/model.h>
44+
#endif
4145
#include <Eigen/Geometry>
4246
#include <Eigen/LU> // provides LU decomposition
4347
#include <kdl/chainiksolver.hpp>

moveit_core/constraint_samplers/test/pr2_arm_kinematics_plugin.h

+4
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,11 @@
5050

5151
#include <kdl/chainfksolverpos_recursive.hpp>
5252

53+
#if __has_include(<urdf/model.hpp>)
54+
#include <urdf/model.hpp>
55+
#else
5356
#include <urdf/model.h>
57+
#endif
5458

5559
#include <moveit/kinematics_base/kinematics_base.h>
5660

moveit_core/robot_state/src/cartesian_interpolator.cpp

+13-16
Original file line numberDiff line numberDiff line change
@@ -285,23 +285,22 @@ CartesianInterpolator::Percentage CartesianInterpolator::computeCartesianPath(
285285
double wp_percentage_solved =
286286
computeCartesianPath(start_state, group, waypoint_traj, link, waypoints[i], global_reference_frame, max_step,
287287
precision, validCallback, options, cost_function, link_offset);
288+
289+
std::vector<RobotStatePtr>::iterator start = waypoint_traj.begin();
290+
if (i > 0 && !waypoint_traj.empty())
291+
std::advance(start, 1);
292+
traj.insert(traj.end(), start, waypoint_traj.end());
293+
288294
if (fabs(wp_percentage_solved - 1.0) < std::numeric_limits<double>::epsilon())
289295
{
290296
percentage_solved = static_cast<double>(i + 1) / static_cast<double>(waypoints.size());
291-
std::vector<RobotStatePtr>::iterator start = waypoint_traj.begin();
292-
if (i > 0 && !waypoint_traj.empty())
293-
std::advance(start, 1);
294-
traj.insert(traj.end(), start, waypoint_traj.end());
295297
}
296298
else
297299
{
298300
percentage_solved += wp_percentage_solved / static_cast<double>(waypoints.size());
299-
std::vector<RobotStatePtr>::iterator start = waypoint_traj.begin();
300-
if (i > 0 && !waypoint_traj.empty())
301-
std::advance(start, 1);
302-
traj.insert(traj.end(), start, waypoint_traj.end());
303301
break;
304302
}
303+
start_state = traj.back().get();
305304
}
306305

307306
return percentage_solved;
@@ -490,21 +489,19 @@ CartesianInterpolator::Percentage CartesianInterpolator::computeCartesianPath(
490489
computeCartesianPath(start_state, group, waypoint_path, link, waypoints[i], global_reference_frame, max_step,
491490
NO_JOINT_SPACE_JUMP_TEST, validCallback, options, cost_function, link_offset);
492491
#pragma GCC diagnostic pop
492+
493+
std::vector<RobotStatePtr>::iterator start = waypoint_path.begin();
494+
if (i > 0 && !waypoint_path.empty())
495+
std::advance(start, 1);
496+
path.insert(path.end(), start, waypoint_path.end());
497+
493498
if (fabs(wp_percentage_solved - 1.0) < std::numeric_limits<double>::epsilon())
494499
{
495500
percentage_solved = static_cast<double>((i + 1)) / static_cast<double>(waypoints.size());
496-
std::vector<RobotStatePtr>::iterator start = waypoint_path.begin();
497-
if (i > 0 && !waypoint_path.empty())
498-
std::advance(start, 1);
499-
path.insert(path.end(), start, waypoint_path.end());
500501
}
501502
else
502503
{
503504
percentage_solved += wp_percentage_solved / static_cast<double>(waypoints.size());
504-
std::vector<RobotStatePtr>::iterator start = waypoint_path.begin();
505-
if (i > 0 && !waypoint_path.empty())
506-
std::advance(start, 1);
507-
path.insert(path.end(), start, waypoint_path.end());
508505
break;
509506
}
510507
}

moveit_core/utils/include/moveit/utils/robot_model_test_utils.h

+4
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,11 @@
3838
#pragma once
3939

4040
#include <srdfdom/srdf_writer.h>
41+
#if __has_include(<urdf/model.hpp>)
42+
#include <urdf/model.hpp>
43+
#else
4144
#include <urdf/model.h>
45+
#endif
4246
#include <moveit/robot_model/robot_model.h>
4347
#include <geometry_msgs/msg/pose.hpp>
4448

moveit_planners/moveit_planners/package.xml

-3
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,7 @@
1919

2020
<buildtool_depend>ament_cmake</buildtool_depend>
2121

22-
<!--
2322
<exec_depend>chomp_motion_planner</exec_depend>
24-
<exec_depend>moveit_planners_chomp</exec_depend>
25-
-->
2623
<exec_depend>moveit_planners_ompl</exec_depend>
2724
<exec_depend>moveit_planners_stomp</exec_depend>
2825
<exec_depend>pilz_industrial_motion_planner</exec_depend>

moveit_py/moveit/planning.pyi

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class MoveItPy:
1616
def get_planning_component(self, *args, **kwargs) -> Any: ...
1717
def get_planning_scene_monitor(self, *args, **kwargs) -> Any: ...
1818
def get_robot_model(self, *args, **kwargs) -> Any: ...
19-
def get_trajactory_execution_manager(self, *args, **kwargs) -> Any: ...
19+
def get_trajectory_execution_manager(self, *args, **kwargs) -> Any: ...
2020
def shutdown(self, *args, **kwargs) -> Any: ...
2121

2222
class MultiPipelinePlanRequestParameters:

moveit_ros/moveit_servo/src/servo.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -648,8 +648,8 @@ KinematicState Servo::getCurrentRobotState(bool block_for_current_state) const
648648
bool have_current_state = false;
649649
while (rclcpp::ok() && !have_current_state)
650650
{
651-
have_current_state = planning_scene_monitor_->getStateMonitor()->waitForCurrentState(
652-
rclcpp::Clock(RCL_ROS_TIME).now(), ROBOT_STATE_WAIT_TIME /* s */);
651+
have_current_state =
652+
planning_scene_monitor_->getStateMonitor()->waitForCurrentState(node_->now(), ROBOT_STATE_WAIT_TIME /* s */);
653653
if (!have_current_state)
654654
{
655655
RCLCPP_WARN(logger_, "Waiting for the current state");

moveit_ros/planning/CMakeLists.txt

+10-2
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,6 @@ set(THIS_PACKAGE_LIBRARIES
4949
moveit_collision_plugin_loader
5050
moveit_constraint_sampler_manager_loader
5151
moveit_cpp
52-
moveit_default_planning_request_adapter_plugins
53-
moveit_default_planning_response_adapter_plugins
5452
moveit_kinematics_plugin_loader
5553
moveit_plan_execution
5654
moveit_planning_pipeline
@@ -111,6 +109,16 @@ install(
111109
INCLUDES
112110
DESTINATION include/moveit_ros_planning)
113111

112+
# install plugins as separate export set
113+
install(
114+
TARGETS moveit_default_planning_response_adapter_plugins
115+
moveit_default_planning_request_adapter_plugins
116+
LIBRARY DESTINATION lib
117+
ARCHIVE DESTINATION lib
118+
RUNTIME DESTINATION bin
119+
INCLUDES
120+
DESTINATION include/moveit_ros_planning)
121+
114122
ament_export_targets(moveit_ros_planningTargets HAS_LIBRARY_TARGET)
115123
ament_export_dependencies(${THIS_PACKAGE_INCLUDE_DEPENDS})
116124

moveit_ros/planning/rdf_loader/include/moveit/rdf_loader/rdf_loader.h

+4
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,11 @@
3838

3939
#include <moveit/macros/class_forward.h>
4040
#include <moveit/rdf_loader/synchronized_string_parameter.h>
41+
#if __has_include(<urdf/model.hpp>)
42+
#include <urdf/model.hpp>
43+
#else
4144
#include <urdf/model.h>
45+
#endif
4246
#include <srdfdom/model.h>
4347
#include <rclcpp/rclcpp.hpp>
4448

moveit_ros/planning_interface/move_group_interface/include/moveit/move_group_interface/move_group_interface.h

-4
Original file line numberDiff line numberDiff line change
@@ -302,10 +302,6 @@ class MOVEIT_MOVE_GROUP_INTERFACE_EXPORT MoveGroupInterface
302302
/** \brief Set the starting state for planning to be that reported by the robot's joint state publication */
303303
void setStartStateToCurrentState();
304304

305-
/** \brief For pick/place operations, the name of the support surface is used to specify the fact that attached
306-
* objects are allowed to touch the support surface */
307-
void setSupportSurfaceName(const std::string& name);
308-
309305
/**
310306
* \name Setting a joint state target (goal)
311307
*

0 commit comments

Comments
 (0)