lanelet2_route_planning v2.0.0
Loading...
Searching...
No Matches
conversions.hpp
Go to the documentation of this file.
1// Copyright Institute for Automotive Engineering (ika), RWTH Aachen University
2// SPDX-License-Identifier: Apache-2.0
3
4#pragma once
5
6#include <vector>
7
8#include <lanelet2_core/primitives/LineString.h>
9#include <lanelet2_core/primitives/Point.h>
10#include <Eigen/Core>
11#include <geometry_msgs/msg/point.hpp>
12#include <geometry_msgs/msg/quaternion.hpp>
13#include <perception_msgs/msg/ego_data.hpp>
14#include <route_planning_msgs/msg/route.hpp>
15
17
26Eigen::Vector2d to2d(const Eigen::Vector3d& point);
27
36Eigen::Vector3d to3d(const Eigen::Vector2d& point);
37
47Eigen::Vector3d to3d(const Eigen::Vector2d& point, double z);
48
57std::vector<Eigen::Vector2d> to2d(const std::vector<Eigen::Vector3d>& points);
58
67std::vector<Eigen::Vector3d> to3d(const std::vector<Eigen::Vector2d>& points);
68
75geometry_msgs::msg::Point toRos(const Eigen::Vector2d& point);
76
83geometry_msgs::msg::Point toRos(const Eigen::Vector3d& point);
84
91geometry_msgs::msg::Point toRos(const lanelet::BasicPoint2d& point);
92
99lanelet::BasicPoint2d toLanelet(const Eigen::Vector2d& point);
100
107lanelet::BasicPoint3d toLanelet(const Eigen::Vector3d& point);
108
115Eigen::Vector2d toEigen2d(const geometry_msgs::msg::Point& point);
116
123Eigen::Vector3d toEigen(const geometry_msgs::msg::Point& point);
124
131geometry_msgs::msg::Point egoPosition(const perception_msgs::msg::EgoData& ego_data);
132
139std::vector<Eigen::Vector2d> toEigen(const lanelet::BasicLineString2d& line_string);
140
147std::vector<Eigen::Vector3d> toEigen(const lanelet::BasicLineString3d& line_string);
148
155lanelet::BasicLineString2d toLanelet(const std::vector<Eigen::Vector2d>& line_string);
156
163lanelet::BasicLineString3d toLanelet(const std::vector<Eigen::Vector3d>& line_string);
164
173geometry_msgs::msg::Quaternion toRosQuaternion(const Eigen::Vector2d& vector);
174
181std::vector<Eigen::Vector3d> suggestedReferenceLineToEigen(
182 const std::vector<route_planning_msgs::msg::RouteElement>& route_elements);
183
184} // namespace lanelet2_route_planning
geometry_msgs::msg::Point egoPosition(const perception_msgs::msg::EgoData &ego_data)
Extracts an EgoData position as a ROS point.
Eigen::Vector3d to3d(const Eigen::Vector2d &point)
Converts a 2D Eigen point to a 3D Eigen point.
lanelet::BasicPoint2d toLanelet(const Eigen::Vector2d &point)
Converts a 2D Eigen point to a Lanelet point.
geometry_msgs::msg::Quaternion toRosQuaternion(const Eigen::Vector2d &vector)
Converts a 2D Eigen vector pointing in a specific direction to a ROS quaternion.
Eigen::Vector2d to2d(const Eigen::Vector3d &point)
Converts a 3D Eigen point to a 2D Eigen point.
geometry_msgs::msg::Point toRos(const Eigen::Vector2d &point)
Converts a 2D Eigen point to a ROS point.
std::vector< Eigen::Vector3d > suggestedReferenceLineToEigen(const std::vector< route_planning_msgs::msg::RouteElement > &route_elements)
Extracts the reference line along the suggested lane from a list of RouteElements.
Eigen::Vector2d toEigen2d(const geometry_msgs::msg::Point &point)
Converts a ROS point to a 2D Eigen point.
Eigen::Vector3d toEigen(const geometry_msgs::msg::Point &point)
Converts a ROS point to a 3D Eigen point.