simple_planner v1.4.0
Loading...
Searching...
No Matches
object_geometry.hpp File Reference
#include <algorithm>
#include <array>
#include <cmath>
#include <cstdint>
#include <vector>
#include <Eigen/Dense>
#include <geometry_msgs/msg/pose.hpp>
#include <std_msgs/msg/header.hpp>
#include <perception_msgs/msg/object_state.hpp>
#include <perception_msgs_utils/object_access.hpp>
#include <rclcpp/time.hpp>

Go to the source code of this file.

Classes

struct  simple_planner::OrientedBox2D
 
struct  simple_planner::TimedBox2D
 
struct  simple_planner::ObjectTrajectory
 
struct  simple_planner::ConflictSample
 

Namespaces

namespace  simple_planner
 Namespace for simple_planner package.
 

Functions

double simple_planner::wrap_angle_rad (double angle_rad)
 Wraps an angle to the range [-pi, pi].
 
Eigen::Vector2d simple_planner::rotate (const Eigen::Vector2d &vec, double yaw)
 Rotates a 2D vector by the given yaw angle.
 
double simple_planner::getStateRelativeTime (const perception_msgs::msg::ObjectState &state, const std_msgs::msg::Header &fallback_header, const rclcpp::Time &planning_stamp)
 Computes an object state's time relative to the planning stamp.
 
OrientedBox2D simple_planner::buildOrientedBox (const Eigen::Vector2d &center, double yaw, double length, double width)
 Builds an oriented 2D bounding box from center pose and dimensions.
 
OrientedBox2D simple_planner::expandBoxWithSafetyMargins (const OrientedBox2D &box, double longitudinal_safety_distance, double lateral_safety_distance)
 Expands a box by the given safety margins.
 
std::array< Eigen::Vector2d, 4 > simple_planner::getBoxCorners (const OrientedBox2D &box)
 Returns the corners of an oriented box.
 
geometry_msgs::msg::Pose simple_planner::toPose (const OrientedBox2D &box)
 Converts an oriented box center and heading to a ROS pose.
 
TimedBox2D simple_planner::interpolateTimedBox (const TimedBox2D &lhs, const TimedBox2D &rhs, double t)
 Interpolates a timed box sample at the requested relative time.
 
bool simple_planner::overlaps (const OrientedBox2D &first_box, const OrientedBox2D &second_box)
 Checks whether two oriented boxes overlap.
 
TimedBox2D simple_planner::buildObjectSample (const perception_msgs::msg::ObjectState &state, const std_msgs::msg::Header &fallback_header, const rclcpp::Time &stamp, double length, double width)
 Builds a timed bounding-box sample for a single object state.