From 8caceb367803a5813e1d92b34cf66d40f08450c6 Mon Sep 17 00:00:00 2001 From: Fabian Reister <fabian.reister@kit.edu> Date: Tue, 26 Jul 2022 09:23:13 +0200 Subject: [PATCH] TimedElasticBands: fixing build due to api changes --- .../local_planning/TimedElasticBands.cpp | 21 ++++++++++++------- .../local_planning/TimedElasticBands.h | 3 ++- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/source/armarx/navigation/local_planning/TimedElasticBands.cpp b/source/armarx/navigation/local_planning/TimedElasticBands.cpp index c3fdb8ae..7ebf586f 100644 --- a/source/armarx/navigation/local_planning/TimedElasticBands.cpp +++ b/source/armarx/navigation/local_planning/TimedElasticBands.cpp @@ -8,7 +8,7 @@ #include <armarx/navigation/local_planning/LocalPlanner.h> #include <armarx/navigation/local_planning/core.h> #include <armarx/navigation/local_planning/ros_conversions.h> -#include <teb_local_planner/extension/obstacles/EllipseObstacle.h> +// #include <teb_local_planner/extension/obstacles/EllipseObstacle.h> #include <teb_local_planner/homotopy_class_planner.h> namespace armarx::navigation::loc_plan @@ -92,14 +92,19 @@ namespace armarx::navigation::loc_plan const teb_local_planner::PoseSE2 end = conv::toRos(target.target); core::Twist currentVelocity = core::Twist::Zero(); - if (scene.platformVelocity.has_value()) - { - currentVelocity = scene.platformVelocity.value(); - } + + // FIXME: again, add to scene + // if (scene.platformVelocity.has_value()) + // { + // currentVelocity = scene.platformVelocity.value(); + // } geometry_msgs::Twist velocity_start = conv::toRos(currentVelocity); //TODO (SALt): fill obstacles + // TODO (SALt): implement + bool planToDest = true; + try { hcp_->plan(start, end, &velocity_start, !planToDest); @@ -112,14 +117,14 @@ namespace armarx::navigation::loc_plan ARMARX_VERBOSE << "Planned successfully (found " << hcp_->getTrajectoryContainer().size() << " Trajectories)"; - core::Trajectory best = conv::fromRos(hcp_->findBestTeb()->teb()); + core::LocalTrajectory best = conv::fromRos(hcp_->findBestTeb()->teb()); return {{.trajectory = best}}; } TimedElasticBands::FindTargetResult - TimedElasticBands::findTarget(const core::Pose& currentPose, const core::Trajectory& globalPath) + TimedElasticBands::findTarget(const core::Pose& currentPose, const core::GlobalTrajectory& globalPath) { float distance = std::numeric_limits<float>::max(); @@ -181,7 +186,7 @@ namespace armarx::navigation::loc_plan } } - return {projection, globalPath.points().end()[0].waypoint.pose.translation(), true}; + return {projection, globalPath.points().back().waypoint.pose.translation(), true}; } } // namespace armarx::navigation::loc_plan diff --git a/source/armarx/navigation/local_planning/TimedElasticBands.h b/source/armarx/navigation/local_planning/TimedElasticBands.h index 99b2ae44..0197b949 100644 --- a/source/armarx/navigation/local_planning/TimedElasticBands.h +++ b/source/armarx/navigation/local_planning/TimedElasticBands.h @@ -66,13 +66,14 @@ namespace armarx::navigation::loc_plan void initConfig(); FindTargetResult findTarget(const core::Pose& currentPose, - const core::Trajectory& globalPath); + const core::GlobalTrajectory& globalPath); protected: const Params params; private: const core::Scene& scene; + teb_local_planner::TebConfig cfg_; teb_local_planner::ObstContainer teb_obstacles; teb_local_planner::PoseSequence teb_globalPath; -- GitLab