From 022e29caa5f2b800a412898faa11489a3a43fe15 Mon Sep 17 00:00:00 2001 From: Robert Haschke Date: Sun, 29 Oct 2017 08:00:02 +0100 Subject: [PATCH] merged task_panel + task_solution_display into motion_planning_tasks folder --- CMakeLists.txt | 3 +- ...planning_tasks_rviz_plugin_description.xml | 16 ++++++++ package.xml | 3 +- src/test/CMakeLists.txt | 2 +- task_panel_rviz_plugin_description.xml | 9 ----- task_solution_rviz_plugin_description.xml | 9 ----- visualization/CMakeLists.txt | 3 +- .../motion_planning_tasks/CMakeLists.txt | 26 ++++++++++++ .../mainloop_processing.cpp | 0 .../mainloop_processing.h | 0 .../motion_planning_tasks/plugin_init.cpp | 8 ++++ .../stage_wrapper.cpp | 0 .../stage_wrapper.h | 0 .../task_display.cpp} | 22 +++++----- .../task_display.h} | 6 +-- .../task_model.cpp | 0 .../task_model.h | 0 .../task_panel.cpp | 6 --- .../task_panel.h | 0 .../task_panel.ui | 0 visualization/task_panel/CMakeLists.txt | 20 ---------- .../task_solution_display/CMakeLists.txt | 21 ---------- .../task_solution_display/plugin_init.cpp | 40 ------------------- 23 files changed, 68 insertions(+), 126 deletions(-) create mode 100644 motion_planning_tasks_rviz_plugin_description.xml delete mode 100644 task_panel_rviz_plugin_description.xml delete mode 100644 task_solution_rviz_plugin_description.xml create mode 100644 visualization/motion_planning_tasks/CMakeLists.txt rename visualization/{task_panel => motion_planning_tasks}/mainloop_processing.cpp (100%) rename visualization/{task_panel => motion_planning_tasks}/mainloop_processing.h (100%) create mode 100644 visualization/motion_planning_tasks/plugin_init.cpp rename visualization/{task_panel => motion_planning_tasks}/stage_wrapper.cpp (100%) rename visualization/{task_panel => motion_planning_tasks}/stage_wrapper.h (100%) rename visualization/{task_solution_display/task_solution_display.cpp => motion_planning_tasks/task_display.cpp} (88%) rename visualization/{task_solution_display/task_solution_display.h => motion_planning_tasks/task_display.h} (96%) rename visualization/{task_panel => motion_planning_tasks}/task_model.cpp (100%) rename visualization/{task_panel => motion_planning_tasks}/task_model.h (100%) rename visualization/{task_panel => motion_planning_tasks}/task_panel.cpp (91%) rename visualization/{task_panel => motion_planning_tasks}/task_panel.h (100%) rename visualization/{task_panel => motion_planning_tasks}/task_panel.ui (100%) delete mode 100644 visualization/task_panel/CMakeLists.txt delete mode 100644 visualization/task_solution_display/CMakeLists.txt delete mode 100644 visualization/task_solution_display/plugin_init.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index a6d47567..2bc7f47c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -65,8 +65,7 @@ install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}) install(DIRECTORY include/ DESTINATION include) install(FILES - task_panel_rviz_plugin_description.xml - task_solution_rviz_plugin_description.xml + motion_planning_tasks_rviz_plugin_description.xml DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) add_subdirectory(src/stages) diff --git a/motion_planning_tasks_rviz_plugin_description.xml b/motion_planning_tasks_rviz_plugin_description.xml new file mode 100644 index 00000000..0dd6e4c2 --- /dev/null +++ b/motion_planning_tasks_rviz_plugin_description.xml @@ -0,0 +1,16 @@ + + + + A panel widget to monitor and edit motion planning tasks + + + + + Monitor motion planning tasks and animate their solution trajectories + + + diff --git a/package.xml b/package.xml index 739dc3c7..223298f1 100644 --- a/package.xml +++ b/package.xml @@ -22,7 +22,6 @@ rosunit - - + diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt index e4dff25b..9823caa0 100644 --- a/src/test/CMakeLists.txt +++ b/src/test/CMakeLists.txt @@ -11,7 +11,7 @@ if (CATKIN_ENABLE_TESTING) target_link_libraries(${PROJECT_NAME}-test-container ${PROJECT_NAME} gtest_main ${catkin_LIBRARIES}) catkin_add_gtest(${PROJECT_NAME}-test-task_model test_task_model.cpp) - target_link_libraries(${PROJECT_NAME}-test-task_model moveit_task_panel_rviz_plugin gtest_main) + target_link_libraries(${PROJECT_NAME}-test-task_model motion_planning_tasks_rviz_plugin gtest_main) endif() add_executable(test_plan_current_state test_plan_current_state.cpp) diff --git a/task_panel_rviz_plugin_description.xml b/task_panel_rviz_plugin_description.xml deleted file mode 100644 index 7dd7ab29..00000000 --- a/task_panel_rviz_plugin_description.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - A panel widget to monitor and edit planning tasks - - - diff --git a/task_solution_rviz_plugin_description.xml b/task_solution_rviz_plugin_description.xml deleted file mode 100644 index 16c6a847..00000000 --- a/task_solution_rviz_plugin_description.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - Animate task solution trajectories - - - diff --git a/visualization/CMakeLists.txt b/visualization/CMakeLists.txt index fbf3374c..708c2fed 100644 --- a/visualization/CMakeLists.txt +++ b/visualization/CMakeLists.txt @@ -21,5 +21,4 @@ set(CMAKE_AUTOMOC ON) add_definitions(-DQT_NO_KEYWORDS) add_subdirectory(visualization_tools) -add_subdirectory(task_solution_display) -add_subdirectory(task_panel) +add_subdirectory(motion_planning_tasks) diff --git a/visualization/motion_planning_tasks/CMakeLists.txt b/visualization/motion_planning_tasks/CMakeLists.txt new file mode 100644 index 00000000..2bfb4586 --- /dev/null +++ b/visualization/motion_planning_tasks/CMakeLists.txt @@ -0,0 +1,26 @@ +set(MOVEIT_LIB_NAME motion_planning_tasks_rviz_plugin) + +qt_wrap_ui(UIC_FILES task_panel.ui) + +add_library(${MOVEIT_LIB_NAME} + mainloop_processing.cpp + stage_wrapper.cpp + task_model.cpp + task_panel.cpp + task_display.cpp + plugin_init.cpp + ${UIC_FILES} +) +set_target_properties(${MOVEIT_LIB_NAME} PROPERTIES VERSION ${${PROJECT_NAME}_VERSION}) +target_link_libraries(${MOVEIT_LIB_NAME} + moveit_task_visualization_tools + ${catkin_LIBRARIES} ${QT_LIBRARIES} +) +target_include_directories(${MOVEIT_LIB_NAME} + PUBLIC $ + PRIVATE $ +) + +install(TARGETS ${MOVEIT_LIB_NAME} + ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}) diff --git a/visualization/task_panel/mainloop_processing.cpp b/visualization/motion_planning_tasks/mainloop_processing.cpp similarity index 100% rename from visualization/task_panel/mainloop_processing.cpp rename to visualization/motion_planning_tasks/mainloop_processing.cpp diff --git a/visualization/task_panel/mainloop_processing.h b/visualization/motion_planning_tasks/mainloop_processing.h similarity index 100% rename from visualization/task_panel/mainloop_processing.h rename to visualization/motion_planning_tasks/mainloop_processing.h diff --git a/visualization/motion_planning_tasks/plugin_init.cpp b/visualization/motion_planning_tasks/plugin_init.cpp new file mode 100644 index 00000000..0c05a9fa --- /dev/null +++ b/visualization/motion_planning_tasks/plugin_init.cpp @@ -0,0 +1,8 @@ +/* Author: Robert Haschke */ + +#include +#include "task_display.h" +#include "task_panel.h" + +PLUGINLIB_EXPORT_CLASS(moveit_rviz_plugin::TaskDisplay, rviz::Display) +PLUGINLIB_EXPORT_CLASS(moveit_rviz_plugin::TaskPanel, rviz::Panel) diff --git a/visualization/task_panel/stage_wrapper.cpp b/visualization/motion_planning_tasks/stage_wrapper.cpp similarity index 100% rename from visualization/task_panel/stage_wrapper.cpp rename to visualization/motion_planning_tasks/stage_wrapper.cpp diff --git a/visualization/task_panel/stage_wrapper.h b/visualization/motion_planning_tasks/stage_wrapper.h similarity index 100% rename from visualization/task_panel/stage_wrapper.h rename to visualization/motion_planning_tasks/stage_wrapper.h diff --git a/visualization/task_solution_display/task_solution_display.cpp b/visualization/motion_planning_tasks/task_display.cpp similarity index 88% rename from visualization/task_solution_display/task_solution_display.cpp rename to visualization/motion_planning_tasks/task_display.cpp index 86ef26df..070fac72 100644 --- a/visualization/task_solution_display/task_solution_display.cpp +++ b/visualization/motion_planning_tasks/task_display.cpp @@ -36,7 +36,7 @@ Desc: Wraps a task_solution_visualization playback class for Rviz into a stand alone display */ -#include "task_solution_display.h" +#include "task_display.h" #include #include @@ -46,7 +46,7 @@ namespace moveit_rviz_plugin { -TaskSolutionDisplay::TaskSolutionDisplay() : Display(), load_robot_model_(false) +TaskDisplay::TaskDisplay() : Display(), load_robot_model_(false) { // The robot description property is only needed when using the trajectory playback standalone (not within motion // planning plugin) @@ -57,18 +57,18 @@ TaskSolutionDisplay::TaskSolutionDisplay() : Display(), load_robot_model_(false) trajectory_visual_.reset(new TaskSolutionVisualization(this, this)); } -TaskSolutionDisplay::~TaskSolutionDisplay() +TaskDisplay::~TaskDisplay() { } -void TaskSolutionDisplay::onInitialize() +void TaskDisplay::onInitialize() { Display::onInitialize(); trajectory_visual_->onInitialize(scene_node_, context_, update_nh_); } -void TaskSolutionDisplay::loadRobotModel() +void TaskDisplay::loadRobotModel() { load_robot_model_ = false; rdf_loader_.reset(new rdf_loader::RDFLoader(robot_description_property_->getStdString())); @@ -90,26 +90,26 @@ void TaskSolutionDisplay::loadRobotModel() trajectory_visual_->onEnable(); } -void TaskSolutionDisplay::reset() +void TaskDisplay::reset() { Display::reset(); loadRobotModel(); trajectory_visual_->reset(); } -void TaskSolutionDisplay::onEnable() +void TaskDisplay::onEnable() { Display::onEnable(); load_robot_model_ = true; // allow loading of robot model in update() } -void TaskSolutionDisplay::onDisable() +void TaskDisplay::onDisable() { Display::onDisable(); trajectory_visual_->onDisable(); } -void TaskSolutionDisplay::update(float wall_dt, float ros_dt) +void TaskDisplay::update(float wall_dt, float ros_dt) { Display::update(wall_dt, ros_dt); @@ -119,13 +119,13 @@ void TaskSolutionDisplay::update(float wall_dt, float ros_dt) trajectory_visual_->update(wall_dt, ros_dt); } -void TaskSolutionDisplay::setName(const QString& name) +void TaskDisplay::setName(const QString& name) { BoolProperty::setName(name); trajectory_visual_->setName(name); } -void TaskSolutionDisplay::changedRobotDescription() +void TaskDisplay::changedRobotDescription() { if (isEnabled()) reset(); diff --git a/visualization/task_solution_display/task_solution_display.h b/visualization/motion_planning_tasks/task_display.h similarity index 96% rename from visualization/task_solution_display/task_solution_display.h rename to visualization/motion_planning_tasks/task_display.h index abf04af8..ebcaf0c1 100644 --- a/visualization/task_solution_display/task_solution_display.h +++ b/visualization/motion_planning_tasks/task_display.h @@ -58,14 +58,14 @@ namespace moveit_rviz_plugin { MOVEIT_CLASS_FORWARD(TaskSolutionVisualization) -class TaskSolutionDisplay : public rviz::Display +class TaskDisplay : public rviz::Display { Q_OBJECT public: - TaskSolutionDisplay(); + TaskDisplay(); - virtual ~TaskSolutionDisplay(); + virtual ~TaskDisplay(); void loadRobotModel(); diff --git a/visualization/task_panel/task_model.cpp b/visualization/motion_planning_tasks/task_model.cpp similarity index 100% rename from visualization/task_panel/task_model.cpp rename to visualization/motion_planning_tasks/task_model.cpp diff --git a/visualization/task_panel/task_model.h b/visualization/motion_planning_tasks/task_model.h similarity index 100% rename from visualization/task_panel/task_model.h rename to visualization/motion_planning_tasks/task_model.h diff --git a/visualization/task_panel/task_panel.cpp b/visualization/motion_planning_tasks/task_panel.cpp similarity index 91% rename from visualization/task_panel/task_panel.cpp rename to visualization/motion_planning_tasks/task_panel.cpp index bababf16..2e075c09 100644 --- a/visualization/task_panel/task_panel.cpp +++ b/visualization/motion_planning_tasks/task_panel.cpp @@ -107,9 +107,3 @@ void TaskPanel::load(const rviz::Config& config) } #include "moc_task_panel.cpp" - -// Tell pluginlib about this class. Every class which should be -// loadable by pluginlib::ClassLoader must have these two lines -// compiled in its .cpp file, outside of any namespace scope. -#include -PLUGINLIB_EXPORT_CLASS(moveit_rviz_plugin::TaskPanel, rviz::Panel) diff --git a/visualization/task_panel/task_panel.h b/visualization/motion_planning_tasks/task_panel.h similarity index 100% rename from visualization/task_panel/task_panel.h rename to visualization/motion_planning_tasks/task_panel.h diff --git a/visualization/task_panel/task_panel.ui b/visualization/motion_planning_tasks/task_panel.ui similarity index 100% rename from visualization/task_panel/task_panel.ui rename to visualization/motion_planning_tasks/task_panel.ui diff --git a/visualization/task_panel/CMakeLists.txt b/visualization/task_panel/CMakeLists.txt deleted file mode 100644 index 7be033bb..00000000 --- a/visualization/task_panel/CMakeLists.txt +++ /dev/null @@ -1,20 +0,0 @@ -set(MOVEIT_LIB_NAME moveit_task_panel_rviz_plugin) - -qt_wrap_ui(UIC_FILES task_panel.ui) - -add_library(${MOVEIT_LIB_NAME} - mainloop_processing.cpp - stage_wrapper.cpp - task_model.cpp - task_panel.cpp - ${UIC_FILES} -) -target_link_libraries(${MOVEIT_LIB_NAME} ${catkin_LIBRARIES} ${QT_LIBRARIES}) -target_include_directories(${MOVEIT_LIB_NAME} - PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} - PRIVATE ${CMAKE_CURRENT_BINARY_DIR} -) - -install(TARGETS ${MOVEIT_LIB_NAME} - ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} - LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}) diff --git a/visualization/task_solution_display/CMakeLists.txt b/visualization/task_solution_display/CMakeLists.txt deleted file mode 100644 index f59586c6..00000000 --- a/visualization/task_solution_display/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -set(MOVEIT_LIB_NAME moveit_task_solution_rviz_plugin) - -# Trajectory Display -add_library(${MOVEIT_LIB_NAME}_core - task_solution_display.cpp -) -set_target_properties(${MOVEIT_LIB_NAME}_core PROPERTIES VERSION ${${PROJECT_NAME}_VERSION}) -target_link_libraries(${MOVEIT_LIB_NAME}_core - moveit_task_visualization_tools - ${catkin_LIBRARIES} ${OGRE_LIBRARIES} ${QT_LIBRARIES} ${Boost_LIBRARIES} -) -target_include_directories(${MOVEIT_LIB_NAME}_core PUBLIC include) - -# Plugin Initializer -add_library(${MOVEIT_LIB_NAME} plugin_init.cpp) -set_target_properties(${MOVEIT_LIB_NAME} PROPERTIES VERSION ${${PROJECT_NAME}_VERSION}) -target_link_libraries(${MOVEIT_LIB_NAME} ${MOVEIT_LIB_NAME}_core ${catkin_LIBRARIES} ${Boost_LIBRARIES}) - -install(TARGETS ${MOVEIT_LIB_NAME} ${MOVEIT_LIB_NAME}_core - ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} - LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}) diff --git a/visualization/task_solution_display/plugin_init.cpp b/visualization/task_solution_display/plugin_init.cpp deleted file mode 100644 index 70af2520..00000000 --- a/visualization/task_solution_display/plugin_init.cpp +++ /dev/null @@ -1,40 +0,0 @@ -/********************************************************************* - * Software License Agreement (BSD License) - * - * Copyright (c) 2008, Willow Garage, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of Willow Garage nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *********************************************************************/ - -/* Author: Dave Coleman */ - -#include -#include - -CLASS_LOADER_REGISTER_CLASS(moveit_rviz_plugin::TaskSolutionDisplay, rviz::Display)