From 77bfeb2da662691283dd141de12a2ca557be6e73 Mon Sep 17 00:00:00 2001 From: Roelof Oomen Date: Tue, 19 Nov 2024 15:38:31 +0100 Subject: [PATCH] - Updates to support visualizing online planning example - 0.26.0 - Update changelogs - Update rosinstall --- dependencies.repos | 8 +-- dependencies_with_ext.repos | 8 +-- tesseract_monitoring/CHANGELOG.rst | 3 ++ tesseract_monitoring/package.xml | 2 +- tesseract_msgs/CHANGELOG.rst | 3 ++ tesseract_msgs/msg/JointTrajectory.msg | 1 + tesseract_msgs/msg/Trajectory.msg | 2 + tesseract_msgs/package.xml | 2 +- tesseract_planning_server/CHANGELOG.rst | 5 ++ tesseract_planning_server/package.xml | 2 +- tesseract_qt_ros/CHANGELOG.rst | 19 +++++++ tesseract_qt_ros/package.xml | 2 +- tesseract_ros_examples/CHANGELOG.rst | 3 ++ tesseract_ros_examples/package.xml | 2 +- tesseract_rosutils/CHANGELOG.rst | 5 ++ tesseract_rosutils/package.xml | 2 +- tesseract_rosutils/src/plotting.cpp | 10 ++++ tesseract_rosutils/src/utils.cpp | 3 +- tesseract_rviz/CHANGELOG.rst | 5 +- tesseract_rviz/package.xml | 2 +- .../joint_trajectory_monitor_properties.cpp | 50 ++++++++++++++++--- 21 files changed, 115 insertions(+), 24 deletions(-) diff --git a/dependencies.repos b/dependencies.repos index f5f01350..f2fc76fb 100644 --- a/dependencies.repos +++ b/dependencies.repos @@ -6,19 +6,19 @@ repositories: tesseract: type: git url: https://github.com/tesseract-robotics/tesseract.git - version: 0.25.0 + version: 0.26.0 trajopt: type: git url: https://github.com/tesseract-robotics/trajopt.git - version: 0.25.1 + version: 0.26.0 tesseract_planning: type: git url: https://github.com/tesseract-robotics/tesseract_planning.git - version: 0.25.1 + version: 0.26.0 tesseract_qt: type: git url: https://github.com/tesseract-robotics/tesseract_qt.git - version: 0.25.0 + version: 0.26.0 descartes_light: type: git url: https://github.com/swri-robotics/descartes_light.git diff --git a/dependencies_with_ext.repos b/dependencies_with_ext.repos index 52d4235d..32978b88 100644 --- a/dependencies_with_ext.repos +++ b/dependencies_with_ext.repos @@ -10,19 +10,19 @@ repositories: tesseract: type: git url: https://github.com/tesseract-robotics/tesseract.git - version: 0.25.0 + version: 0.26.0 trajopt: type: git url: https://github.com/tesseract-robotics/trajopt.git - version: 0.25.1 + version: 0.26.0 tesseract_planning: type: git url: https://github.com/tesseract-robotics/tesseract_planning.git - version: 0.25.1 + version: 0.26.0 tesseract_qt: type: git url: https://github.com/tesseract-robotics/tesseract_qt.git - version: 0.25.0 + version: 0.26.0 descartes_light: type: git url: https://github.com/swri-robotics/descartes_light.git diff --git a/tesseract_monitoring/CHANGELOG.rst b/tesseract_monitoring/CHANGELOG.rst index 35ec47b9..eed2be1e 100644 --- a/tesseract_monitoring/CHANGELOG.rst +++ b/tesseract_monitoring/CHANGELOG.rst @@ -2,6 +2,9 @@ Changelog for package tesseract_monitoring ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +0.26.0 (2024-11-19) +------------------- + 0.25.0 (2024-09-30) ------------------- diff --git a/tesseract_monitoring/package.xml b/tesseract_monitoring/package.xml index c0bf9eeb..2e71e225 100644 --- a/tesseract_monitoring/package.xml +++ b/tesseract_monitoring/package.xml @@ -1,7 +1,7 @@ tesseract_monitoring - 0.25.0 + 0.26.0 The tesseract_monitoring package Levi Armstrong Apache 2.0 diff --git a/tesseract_msgs/CHANGELOG.rst b/tesseract_msgs/CHANGELOG.rst index 3a2fbfff..9fe9f51b 100644 --- a/tesseract_msgs/CHANGELOG.rst +++ b/tesseract_msgs/CHANGELOG.rst @@ -2,6 +2,9 @@ Changelog for package tesseract_msgs ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +0.26.0 (2024-11-19) +------------------- + 0.25.0 (2024-09-30) ------------------- * Update to support Geometry Type CompoundMesh diff --git a/tesseract_msgs/msg/JointTrajectory.msg b/tesseract_msgs/msg/JointTrajectory.msg index 7be10d60..9d4fdf0a 100644 --- a/tesseract_msgs/msg/JointTrajectory.msg +++ b/tesseract_msgs/msg/JointTrajectory.msg @@ -1,2 +1,3 @@ tesseract_msgs/JointState[] states string description # A description of the trajectory +string uuid # Unique ID diff --git a/tesseract_msgs/msg/Trajectory.msg b/tesseract_msgs/msg/Trajectory.msg index 839915c4..1dd6c69b 100644 --- a/tesseract_msgs/msg/Trajectory.msg +++ b/tesseract_msgs/msg/Trajectory.msg @@ -25,4 +25,6 @@ tesseract_msgs/StringDoublePair[] initial_state string instructions # If instructions are provided this will be ignored +string joint_trajectories_uuid +string joint_trajectories_description tesseract_msgs/JointTrajectory[] joint_trajectories diff --git a/tesseract_msgs/package.xml b/tesseract_msgs/package.xml index 151d5f94..d1a5f493 100644 --- a/tesseract_msgs/package.xml +++ b/tesseract_msgs/package.xml @@ -1,7 +1,7 @@ tesseract_msgs - 0.25.0 + 0.26.0 The tesseract_msgs package Levi Armstrong Apache 2.0 diff --git a/tesseract_planning_server/CHANGELOG.rst b/tesseract_planning_server/CHANGELOG.rst index 058fcb06..6edfe9ae 100644 --- a/tesseract_planning_server/CHANGELOG.rst +++ b/tesseract_planning_server/CHANGELOG.rst @@ -2,6 +2,11 @@ Changelog for package tesseract_planning_server ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +0.26.0 (2024-11-19) +------------------- +* Update to latest tesseract +* Contributors: Levi Armstrong, Roelof Oomen + 0.25.0 (2024-09-30) ------------------- * Change timer to stopwatch diff --git a/tesseract_planning_server/package.xml b/tesseract_planning_server/package.xml index 8e0ff541..2ba15738 100644 --- a/tesseract_planning_server/package.xml +++ b/tesseract_planning_server/package.xml @@ -1,7 +1,7 @@ tesseract_planning_server - 0.25.0 + 0.26.0 Tesseract ROS Planning Server Levi Armstrong Apache 2.0 diff --git a/tesseract_qt_ros/CHANGELOG.rst b/tesseract_qt_ros/CHANGELOG.rst index 9deb40a1..f8e89173 100644 --- a/tesseract_qt_ros/CHANGELOG.rst +++ b/tesseract_qt_ros/CHANGELOG.rst @@ -2,6 +2,23 @@ Changelog for package tesseract_qt_ros ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +0.26.0 (2024-11-19) +------------------- + +0.25.0 (2024-09-29) +------------------- + +0.24.0 (2024-08-15) +------------------- + +0.23.0 (2024-07-25) +------------------- + +0.22.0 (2024-06-11) +------------------- +* Leverage forward declarations (`#233 `_) +* Contributors: Levi Armstrong + 0.21.0 (2023-11-10) ------------------- @@ -16,6 +33,8 @@ Changelog for package tesseract_qt_ros 0.18.1 (2023-07-10) ------------------- +* Add Tesseract Studio ROS executable +* Contributors: Levi Armstrong 0.18.0 (2023-07-03) ------------------- diff --git a/tesseract_qt_ros/package.xml b/tesseract_qt_ros/package.xml index 3144e2df..0ddcc73f 100644 --- a/tesseract_qt_ros/package.xml +++ b/tesseract_qt_ros/package.xml @@ -1,7 +1,7 @@ tesseract_qt_ros - 0.22.0 + 0.26.0 The tesseract_qt_ros package Levi Armstrong LGPL3.0 diff --git a/tesseract_ros_examples/CHANGELOG.rst b/tesseract_ros_examples/CHANGELOG.rst index 7889d1dd..d5c08eb0 100644 --- a/tesseract_ros_examples/CHANGELOG.rst +++ b/tesseract_ros_examples/CHANGELOG.rst @@ -2,6 +2,9 @@ Changelog for package tesseract_ros_examples ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +0.26.0 (2024-11-19) +------------------- + 0.25.0 (2024-09-30) ------------------- diff --git a/tesseract_ros_examples/package.xml b/tesseract_ros_examples/package.xml index 3b72b760..a72b8899 100644 --- a/tesseract_ros_examples/package.xml +++ b/tesseract_ros_examples/package.xml @@ -1,7 +1,7 @@ tesseract_ros_examples - 0.25.0 + 0.26.0 This package contains examples related to this trajopt_ros repository. Levi Armstrong Apache 2.0 diff --git a/tesseract_rosutils/CHANGELOG.rst b/tesseract_rosutils/CHANGELOG.rst index 4204733d..a5f9d2b4 100644 --- a/tesseract_rosutils/CHANGELOG.rst +++ b/tesseract_rosutils/CHANGELOG.rst @@ -2,6 +2,11 @@ Changelog for package tesseract_rosutils ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +0.26.0 (2024-11-19) +------------------- +* Update to latest tesseract +* Contributors: Levi Armstrong, Roelof Oomen + 0.25.0 (2024-09-30) ------------------- * Add plotToolpath for ToolPath diff --git a/tesseract_rosutils/package.xml b/tesseract_rosutils/package.xml index d933955b..48781101 100644 --- a/tesseract_rosutils/package.xml +++ b/tesseract_rosutils/package.xml @@ -1,7 +1,7 @@ tesseract_rosutils - 0.25.0 + 0.26.0 Tesseract ROS Utilities Levi Armstrong Apache 2.0 diff --git a/tesseract_rosutils/src/plotting.cpp b/tesseract_rosutils/src/plotting.cpp index 711d9fb2..82bc1fbe 100644 --- a/tesseract_rosutils/src/plotting.cpp +++ b/tesseract_rosutils/src/plotting.cpp @@ -27,12 +27,15 @@ TESSERACT_COMMON_IGNORE_WARNINGS_PUSH #include #include +#include +#include #include TESSERACT_COMMON_IGNORE_WARNINGS_POP #include #include +#include #include #include #include @@ -128,6 +131,7 @@ void ROSPlotting::plotTrajectory(const tesseract_common::JointTrajectory& traj, { tesseract_msgs::msg::Trajectory msg; msg.ns = std::move(ns); + msg.joint_trajectories_uuid = boost::uuids::to_string(traj.uuid); msg.description = std::move(description); if (!traj.empty()) @@ -167,6 +171,7 @@ void ROSPlotting::plotTrajectories(const tesseract_environment::Environment& env { tesseract_msgs::msg::Trajectory msg; msg.ns = std::move(ns); + msg.joint_trajectories_uuid = boost::uuids::to_string(boost::uuids::random_generator()()); msg.description = std::move(description); // Set tesseract state information @@ -182,6 +187,10 @@ void ROSPlotting::plotTrajectories(const tesseract_environment::Environment& env msg.initial_state.push_back(pair_msg); } + msg.instructions = + tesseract_common::Serialization::toArchiveStringXML(instructions[0]); + //.as() + // Convert to joint trajectories for (const auto& instruction : instructions) { @@ -204,6 +213,7 @@ void ROSPlotting::plotTrajectory(const tesseract_environment::Commands& cmds, { tesseract_msgs::msg::Trajectory msg; msg.ns = std::move(ns); + msg.joint_trajectories_uuid = boost::uuids::to_string(instruction.getUUID()); msg.description = std::move(description); // Set the commands message diff --git a/tesseract_rosutils/src/utils.cpp b/tesseract_rosutils/src/utils.cpp index c7c401ec..ac14a60e 100644 --- a/tesseract_rosutils/src/utils.cpp +++ b/tesseract_rosutils/src/utils.cpp @@ -1670,8 +1670,8 @@ void toMsg(const tesseract_msgs::msg::EnvironmentState::SharedPtr& state_msg, void toMsg(tesseract_msgs::msg::JointTrajectory& traj_msg, const tesseract_common::JointTrajectory& traj) { + traj_msg.uuid = boost::uuids::to_string(traj.uuid); traj_msg.description = traj.description; - for (const auto& js : traj) { assert(js.joint_names.size() == static_cast(js.position.size())); @@ -1699,6 +1699,7 @@ void toMsg(tesseract_msgs::msg::JointTrajectory& traj_msg, const tesseract_commo tesseract_common::JointTrajectory fromMsg(const tesseract_msgs::msg::JointTrajectory& traj_msg) { tesseract_common::JointTrajectory trajectory; + trajectory.uuid = boost::lexical_cast(traj_msg.uuid); trajectory.description = traj_msg.description; for (const auto& js_msg : traj_msg.states) { diff --git a/tesseract_rviz/CHANGELOG.rst b/tesseract_rviz/CHANGELOG.rst index c256c5e2..17bffec2 100644 --- a/tesseract_rviz/CHANGELOG.rst +++ b/tesseract_rviz/CHANGELOG.rst @@ -2,10 +2,13 @@ Changelog for package tesseract_rviz ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +0.26.0 (2024-11-19) +------------------- + 0.25.0 (2024-09-30) ------------------- * Update to support Geometry Type CompoundMesh -* Contributors: Roelof Oomen +* Contributors: Levi Armstrong, Roelof Oomen 0.23.0 (2024-08-21) ------------------- diff --git a/tesseract_rviz/package.xml b/tesseract_rviz/package.xml index 96eaf74e..b0ef9b26 100644 --- a/tesseract_rviz/package.xml +++ b/tesseract_rviz/package.xml @@ -1,7 +1,7 @@ tesseract_rviz - 0.25.0 + 0.26.0 The tesseract_rviz package Levi Armstrong BSD diff --git a/tesseract_rviz/src/joint_trajectory_monitor_properties.cpp b/tesseract_rviz/src/joint_trajectory_monitor_properties.cpp index 4151d19e..e29a3373 100644 --- a/tesseract_rviz/src/joint_trajectory_monitor_properties.cpp +++ b/tesseract_rviz/src/joint_trajectory_monitor_properties.cpp @@ -18,12 +18,17 @@ #include #include +#include +#include #include +#include #include #include #include +#include +#include namespace tesseract_rviz { @@ -62,6 +67,8 @@ struct JointTrajectoryMonitorProperties::Implementation tesseract_common::JointTrajectorySet trajectory_set(initial_state); tesseract_common::JointTrajectory joint_trajectory = tesseract_rosutils::fromMsg(*msg); + trajectory_set.setUUID(joint_trajectory.uuid); + trajectory_set.setDescription(joint_trajectory.description); trajectory_set.appendJointTrajectory(joint_trajectory); tesseract_gui::events::JointTrajectoryAdd event(component_info, trajectory_set); QApplication::sendEvent(qApp, &event); @@ -98,15 +105,44 @@ struct JointTrajectoryMonitorProperties::Implementation if (!msg->ns.empty()) trajectory_set.setNamespace(msg->ns); - for (const auto& joint_trajectory_msg : msg->joint_trajectories) + if (!msg->instructions.empty()) { - tesseract_common::JointTrajectory joint_trajectory = tesseract_rosutils::fromMsg(joint_trajectory_msg); - trajectory_set.appendJointTrajectory(joint_trajectory); + auto ci = tesseract_common::Serialization::fromArchiveStringXML( + msg->instructions); + trajectory_set.setUUID(ci.getUUID()); + trajectory_set.setDescription(ci.getDescription()); + if (!ci.empty() && ci.front().isCompositeInstruction()) + { + for (const auto& entry : ci) + { + const auto& sub_ci = entry.as(); + tesseract_common::JointTrajectory joint_trajectory = tesseract_planning::toJointTrajectory(sub_ci); + trajectory_set.appendJointTrajectory(joint_trajectory); + } + + tesseract_gui::events::JointTrajectoryAdd event(component_info, trajectory_set); + QApplication::sendEvent(qApp, &event); + } + else + { + tesseract_common::JointTrajectory joint_trajectory = tesseract_planning::toJointTrajectory(ci); + trajectory_set.appendJointTrajectory(joint_trajectory); + tesseract_gui::events::JointTrajectoryAdd event(component_info, trajectory_set); + QApplication::sendEvent(qApp, &event); + } + } + else + { + trajectory_set.setUUID(boost::lexical_cast(msg->joint_trajectories_uuid)); + trajectory_set.setDescription(msg->joint_trajectories_description); + for (const auto& joint_trajectory_msg : msg->joint_trajectories) + { + tesseract_common::JointTrajectory joint_trajectory = tesseract_rosutils::fromMsg(joint_trajectory_msg); + trajectory_set.appendJointTrajectory(joint_trajectory); + tesseract_gui::events::JointTrajectoryAdd event(component_info, trajectory_set); + QApplication::sendEvent(qApp, &event); + } } - - trajectory_set.setDescription(msg->description); - tesseract_gui::events::JointTrajectoryAdd event(component_info, trajectory_set); - QApplication::sendEvent(qApp, &event); } catch (...) {