Skip to content

Commit

Permalink
Merge branch 'ros-planning:master' into switch_controllers
Browse files Browse the repository at this point in the history
  • Loading branch information
LeroyR authored Oct 11, 2023
2 parents 535d731 + 64fd3df commit 341ee3f
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 2 deletions.
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@ It draws on the planning capabilities of [MoveIt](https://moveit.ros.org/) to so
A common interface, based on MoveIt's PlanningScene is used to pass solution hypotheses between stages.
The framework enables the hierarchical organization of basic stages using *containers*, allowing for sequential as well as parallel compositions.

## Branches

This repository provides the following branches:

- **master**: ROS 1 development
- **ros2**: ROS 2 development, compatible with MoveIt 2 `main`
- **humble**: ROS 2 stable branch for Humble support

## Videos

- Demo video associated with [ICRA 2019 paper](https://pub.uni-bielefeld.de/download/2918864/2933599/paper.pdf)
Expand Down
5 changes: 4 additions & 1 deletion core/src/task.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,10 @@ void Task::preempt() {

moveit::core::MoveItErrorCode Task::execute(const SolutionBase& s) {
actionlib::SimpleActionClient<moveit_task_constructor_msgs::ExecuteTaskSolutionAction> ac("execute_task_solution");
ac.waitForServer();
if (!ac.waitForServer(ros::Duration(0.5))) {
ROS_ERROR("Failed to connect to the 'execute_task_solution' action server");
return moveit::core::MoveItErrorCode::FAILURE;
}

moveit_task_constructor_msgs::ExecuteTaskSolutionGoal goal;
s.toMsg(goal.solution, pimpl()->introspection_.get());
Expand Down
7 changes: 6 additions & 1 deletion visualization/motion_planning_tasks/src/task_panel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,13 @@ TaskPanel::TaskPanel(QWidget* parent) : rviz::Panel(parent), d_ptr(new TaskPanel
Q_D(TaskPanel);

// sync checked tool button with displayed widget
#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
connect(d->tool_buttons_group, &QButtonGroup::idClicked, d->stackedWidget,
[d](int index) { d->stackedWidget->setCurrentIndex(index); });
#else
connect(d->tool_buttons_group, static_cast<void (QButtonGroup::*)(int)>(&QButtonGroup::buttonClicked),
d->stackedWidget, [d](int index) { d->stackedWidget->setCurrentIndex(index); });
#endif
connect(d->stackedWidget, &QStackedWidget::currentChanged, d->tool_buttons_group,
[d](int index) { d->tool_buttons_group->button(index)->setChecked(true); });

Expand Down Expand Up @@ -529,7 +534,7 @@ void TaskView::onExecCurrentSolution() const {
const DisplaySolutionPtr& solution = task->getSolution(current);

if (!d_ptr->exec_action_client_.waitForServer(ros::Duration(0.1))) {
ROS_ERROR("Failed to connect to task execution action");
ROS_ERROR("Failed to connect to the 'execute_task_solution' action server");
return;
}

Expand Down

0 comments on commit 341ee3f

Please sign in to comment.