#include <math.h>
#include <Eigen/Geometry>
#include <map>
#include <memory>
#include <string>
#include <vector>
#include <cloe/component.hpp>
#include <cloe/component/frustum.hpp>
#include <cloe/component/lane_boundary.hpp>
#include <cloe/component/lane_sensor.hpp>
#include <cloe/conf/action.hpp>
#include <cloe/handler.hpp>
#include <cloe/registrar.hpp>
#include <cloe/sync.hpp>
#include <cloe/trigger/set_action.hpp>
#include "g1_fitting.hpp"
Go to the source code of this file.
|
| double | cloe::component::estimate_lane_boundary_length (const std::vector< Eigen::Vector3d > &points) |
| |
|
void | cloe::component::cleanup_lane_boundary_points (std::vector< Eigen::Vector3d > &points) |
| |
|
uint8_t | cloe::component::get_plane_mask (const Frustum &frustum, const Eigen::Vector3d &pt) |
| |
|
std::vector< Eigen::Vector3d > | cloe::component::interpolate_to_frustum_planes (const Frustum &frustum, const Eigen::Vector3d &pt1, uint8_t mask1, const Eigen::Vector3d &pt2, uint8_t mask2) |
| |
|
void | cloe::component::lane_boundary_point_culling (const Frustum &frustum, std::vector< Eigen::Vector3d > &points, std::vector< Eigen::Vector3d > &pts_out_start, std::vector< Eigen::Vector3d > &pts_out_end) |
| |
| double | cloe::component::calc_heading_angle (const Eigen::Vector3d &pt0, const Eigen::Vector3d &pt1) |
| |
|
double | cloe::component::calc_heading_angle_adv (const Eigen::Vector3d &ptm1, const Eigen::Vector3d &pt0, const Eigen::Vector3d &pt1) |
| |
| bool | cloe::component::fit_clothoid (const cloe::Logger &logger, bool frustum_culling, const Frustum &frustum, LaneBoundary &lb) |
| |
|
|
const uint8_t | cloe::component::PLANE_RIGHT_OK {0b0000'0001} |
| |
|
const uint8_t | cloe::component::PLANE_LEFT_OK {0b0000'0010} |
| |
|
const uint8_t | cloe::component::PLANE_LOW_OK {0b0000'0100} |
| |
|
const uint8_t | cloe::component::PLANE_HIGH_OK {0b0000'1000} |
| |
|
const uint8_t | cloe::component::PLANE_NEAR_OK {0b0001'0000} |
| |
|
const uint8_t | cloe::component::PLANE_FAR_OK {0b0010'0000} |
| |
| const uint8_t | cloe::component::all_set |
| |
◆ calc_heading_angle()
| double cloe::component::calc_heading_angle |
( |
const Eigen::Vector3d & |
pt0, |
|
|
const Eigen::Vector3d & |
pt1 |
|
) |
| |
Compute heading angle [rad] from two points (line direction from pt0 to pt1).
- Parameters
-
| pt0 | First line point. |
| pt1 | Second line point. |
◆ estimate_lane_boundary_length()
| double cloe::component::estimate_lane_boundary_length |
( |
const std::vector< Eigen::Vector3d > & |
points | ) |
|
Estimate lane boundary length by given polyline length.
- Parameters
-
| points | Lane boundary polyline points. |
◆ fit_clothoid()
| bool cloe::component::fit_clothoid |
( |
const cloe::Logger & |
logger, |
|
|
bool |
frustum_culling, |
|
|
const Frustum & |
frustum, |
|
|
LaneBoundary & |
lb |
|
) |
| |
Fit one clothoid segment to the given polyline using a point and heading angle at the beginning and end of the polyline segment of interest, respectively.
- Parameters
-
| lb | Lane boundary with polyline data. |
◆ all_set
| const uint8_t cloe::component::all_set |
Initial value:=
PLANE_RIGHT_OK | PLANE_LEFT_OK | PLANE_LOW_OK | PLANE_HIGH_OK | PLANE_NEAR_OK | PLANE_FAR_OK