Skip to content

Commit b390bbd

Browse files
committed
Merge branch 'main' into fix/remove_2d_trajectory
# Conflicts: # src/EnvironmentXYZTheta.cpp
2 parents bd6149e + d7cbb13 commit b390bbd

File tree

4 files changed

+11
-43
lines changed

4 files changed

+11
-43
lines changed

paper/paper.pdf

-3.38 MB
Binary file not shown.

src/Dijkstra.cpp

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,15 @@
11
#include "Dijkstra.hpp"
2-
#include <traversability_generator3d/TraversabilityConfig.hpp>
32
#include <maps/grid/TraversabilityMap3d.hpp>
3+
#include <traversability_generator3d/TraversabilityConfig.hpp>
44

55
using namespace maps::grid;
66

77
namespace ugv_nav4d
88
{
9-
10-
119
void Dijkstra::computeCost(const TraversabilityNodeBase* source,
1210
std::unordered_map<const TraversabilityNodeBase*, double>& outDistances,
1311
const traversability_generator3d::TraversabilityConfig& config)
14-
{
15-
16-
12+
{
1713
outDistances.clear();
1814
outDistances[source] = 0.0;
1915

@@ -42,7 +38,7 @@ void Dijkstra::computeCost(const TraversabilityNodeBase* source,
4238
v->getIndex().y() * config.gridResolution,
4339
v->getHeight());
4440

45-
const double distance = getHeuristicDistance(vPos, uPos, config);
41+
const double distance = (vPos - uPos).norm();
4642
double distance_through_u = dist + distance;
4743

4844
if (outDistances.find(v) == outDistances.end() ||
@@ -55,12 +51,4 @@ void Dijkstra::computeCost(const TraversabilityNodeBase* source,
5551
}
5652
}
5753
}
58-
59-
double Dijkstra::getHeuristicDistance(const Eigen::Vector3d& a, const Eigen::Vector3d& b,
60-
const traversability_generator3d::TraversabilityConfig& config)
61-
{
62-
return (a - b).norm();
63-
}
64-
65-
6654
}

src/Dijkstra.hpp

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
#pragma once
22
#include <unordered_map>
33
#include <base/Eigen.hpp>
4-
#include <traversability_generator3d/TraversabilityConfig.hpp>
54

65
namespace maps { namespace grid
76
{
87
class TraversabilityNodeBase;
98
}}
109

10+
namespace traversability_generator3d{
11+
class TraversabilityConfig;
12+
}
13+
1114
namespace ugv_nav4d
1215
{
13-
14-
class traversability_generator3d::TraversabilityConfig;
15-
1616
class Dijkstra
1717
{
1818
public:
@@ -23,10 +23,6 @@ class Dijkstra
2323
static void computeCost(const maps::grid::TraversabilityNodeBase* source,
2424
std::unordered_map<const maps::grid::TraversabilityNodeBase*, double> &outDistances,
2525
const traversability_generator3d::TraversabilityConfig& config);
26-
27-
private:
28-
static double getHeuristicDistance(const Eigen::Vector3d& a, const Eigen::Vector3d& b,
29-
const traversability_generator3d::TraversabilityConfig& config);
3026
};
3127

3228
}

src/EnvironmentXYZTheta.cpp

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -966,7 +966,7 @@ void EnvironmentXYZTheta::getTrajectory(const vector<int>& stateIDPath,
966966
V3DD::CLEAR_DRAWING("ugv_nav4d_trajectory");
967967
#endif
968968

969-
int indexOfMotionToUpdate{stateIDPath.size()-2};
969+
size_t indexOfMotionToUpdate{stateIDPath.size()-2};
970970
const Motion& finalMotion = getMotion(stateIDPath[stateIDPath.size()-2], stateIDPath[stateIDPath.size()-1]);
971971
if (finalMotion.type == Motion::Type::MOV_POINTTURN && stateIDPath.size() > 2){ //assuming that there are no consecutive point turns motion at the end of a planned trajectory
972972
indexOfMotionToUpdate = stateIDPath.size()-3;
@@ -1097,26 +1097,10 @@ void EnvironmentXYZTheta::getTrajectory(const vector<int>& stateIDPath,
10971097
}
10981098
else
10991099
{
1100-
if (curMotion.type == Motion::Type::MOV_BACKWARD)
1101-
{
1102-
curPart.speed = -mobilityConfig.translationSpeed;
1103-
}
1104-
else
1105-
{
1106-
curPart.speed = mobilityConfig.translationSpeed;
1107-
}
11081100
SubTrajectory curPartSub(curPart);
1109-
switch (curMotion.type) {
1110-
case Motion::Type::MOV_FORWARD:
1111-
curPartSub.driveMode = DriveMode::ModeAckermann;
1112-
break;
1113-
case Motion::Type::MOV_BACKWARD:
1114-
curPartSub.driveMode = DriveMode::ModeAckermann;
1115-
break;
1116-
case Motion::Type::MOV_LATERAL:
1117-
curPartSub.driveMode = DriveMode::ModeSideways;
1118-
break;
1119-
}
1101+
curPartSub.speed = (curMotion.type == Motion::Type::MOV_BACKWARD) ? -mobilityConfig.translationSpeed : mobilityConfig.translationSpeed;
1102+
curPartSub.driveMode = (curMotion.type == Motion::Type::MOV_LATERAL) ? DriveMode::ModeSideways : DriveMode::ModeAckermann;
1103+
11201104
result.push_back(curPartSub);
11211105

11221106
if (updateGoalPose){

0 commit comments

Comments
 (0)