include
fields2cover
path_planning
path_planning.h
Go to the documentation of this file.
1
//=============================================================================
2
// Copyright (C) 2021-2024 Wageningen University - All Rights Reserved
3
// Author: Gonzalo Mier
4
// BSD-3 License
5
//=============================================================================
6
7
#pragma once
8
#ifndef FIELDS2COVER_PATH_PLANNING_PATH_PLANNING_H_
9
#define FIELDS2COVER_PATH_PLANNING_PATH_PLANNING_H_
10
11
#include <utility>
12
#include <vector>
13
#include "
fields2cover/types.h
"
14
#include "
fields2cover/path_planning/turning_base.h
"
15
16
namespace
f2c::pp
{
17
19
class
PathPlanning
{
20
public
:
22
static
F2CPath
planPath
(
const
F2CRobot
&
robot
,
const
F2CRoute
&
route
,
23
TurningBase
& turn);
24
27
static
F2CPath
planPath
(
const
F2CRobot
&
robot
,
const
F2CSwaths
&
swaths
,
28
TurningBase
& turn);
29
32
static
F2CPath
planPathForConnection
(
const
F2CRobot
&
robot
,
33
const
F2CSwaths
& s1,
const
F2CMultiPoint
& mp,
const
F2CSwaths
& s2,
34
TurningBase
& turn);
35
37
static
F2CPath
planPathForConnection
(
const
F2CRobot
&
robot
,
38
const
F2CPoint
&
p1
,
double
ang1,
39
const
F2CMultiPoint
& mp,
40
const
F2CPoint
&
p2
,
double
ang2,
41
TurningBase
& turn);
42
43
private
:
44
static
double
getSmoothTurningRadius
(
const
F2CRobot
&
robot
);
45
static
std::vector<std::pair<F2CPoint, double>>
simplifyConnection
(
46
const
F2CRobot
&
robot
,
47
const
F2CPoint
&
p1
,
double
ang1,
48
const
F2CMultiPoint
& mp,
49
const
F2CPoint
&
p2
,
double
ang2);
50
};
51
52
}
// namespace f2c::pp
53
54
#endif // FIELDS2COVER_PATH_PLANNING_PATH_PLANNING_H_
f2c::pp::PathPlanning::simplifyConnection
static std::vector< std::pair< F2CPoint, double > > simplifyConnection(const F2CRobot &robot, const F2CPoint &p1, double ang1, const F2CMultiPoint &mp, const F2CPoint &p2, double ang2)
Definition:
path_planning.cpp:104
f2c::pp::PathPlanning::planPath
static F2CPath planPath(const F2CRobot &robot, const F2CRoute &route, TurningBase &turn)
Compute the coverage path using a route as a reference.
Definition:
path_planning.cpp:12
5_route_planning.swaths
swaths
Definition:
5_route_planning.py:58
f2c::pp::PathPlanning::getSmoothTurningRadius
static double getSmoothTurningRadius(const F2CRobot &robot)
Definition:
path_planning.cpp:94
1_basic_types.p1
p1
Definition:
1_basic_types.py:11
f2c::pp
Path planning algorithms' namespace.
Definition:
dubins_curves.h:14
types.h
f2c::pp::PathPlanning::planPathForConnection
static F2CPath planPathForConnection(const F2CRobot &robot, const F2CSwaths &s1, const F2CMultiPoint &mp, const F2CSwaths &s2, TurningBase &turn)
Definition:
path_planning.cpp:46
f2c::pp::PathPlanning
Path planning class to connect a path using a TurningBase class method.
Definition:
path_planning.h:19
2_objective_functions.robot
robot
Definition:
2_objective_functions.py:76
5_route_planning.route
route
Definition:
5_route_planning.py:29
1_basic_types.p2
p2
Definition:
1_basic_types.py:15
f2c::types::Path
Definition:
Path.h:23
f2c::types::MultiPoint
Definition:
MultiPoint.h:18
f2c::types::Route
Definition:
Route.h:23
f2c::pp::TurningBase
Base class for turn planners.
Definition:
turning_base.h:22
f2c::types::Point
Definition:
Point.h:21
f2c::types::Robot
Definition:
Robot.h:25
turning_base.h
f2c::types::Swaths
Definition:
Swaths.h:20
fields2cover
Author(s):
autogenerated on Fri Apr 25 2025 02:18:31