Autoware.Auto
motion_testing.hpp File Reference
#include <motion_testing/visibility_control.hpp>
#include <autoware_auto_planning_msgs/msg/trajectory.hpp>
#include <autoware_auto_vehicle_msgs/msg/vehicle_control_command.hpp>
#include <autoware_auto_vehicle_msgs/msg/vehicle_kinematic_state.hpp>
#include <chrono>
#include <random>
Include dependency graph for motion_testing.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 motion
 
 motion::motion_testing
 

Typedefs

using motion::motion_testing::Generator = std::mt19937
 
using motion::motion_testing::State = autoware_auto_vehicle_msgs::msg::VehicleKinematicState
 
using motion::motion_testing::Point = autoware_auto_planning_msgs::msg::TrajectoryPoint
 
using motion::motion_testing::Trajectory = autoware_auto_planning_msgs::msg::Trajectory
 
using motion::motion_testing::Index = decltype(Trajectory::points)::size_type
 
using motion::motion_testing::Real = decltype(Point::longitudinal_velocity_mps)
 

Functions

MOTION_TESTING_PUBLIC State motion::motion_testing::make_state (Real x0, Real y0, Real heading, Real v0, Real a0, Real turn_rate, std::chrono::system_clock::time_point t)
 Makes a state, intended to make message generation more terse. More...
 
MOTION_TESTING_PUBLIC State motion::motion_testing::generate_state (Generator &gen)
 Generates a state from a normal distribution with the following bounds: TODO(c.ho) More...
 
MOTION_TESTING_PUBLIC Trajectory motion::motion_testing::generate_trajectory (const State &start_state, Generator &gen)
 Generates a trajectory assuming the starting state, a bicycle model, and additive noise applied to XXX Note: not implemented. More...
 
MOTION_TESTING_PUBLIC Trajectory motion::motion_testing::constant_trajectory (const State &start_state, std::chrono::nanoseconds dt)
 Generate a trajectory given the start state, assuming the highest derivatives are held constant. Note: heading_rate behavior will be kind of off TODO(c.ho) Note: lateral_velocity_mps will not be respected TODO(cho) More...
 
MOTION_TESTING_PUBLIC Trajectory motion::motion_testing::bad_heading_trajectory (const State &start_state, std::chrono::nanoseconds dt)
 Generates a constant velocity trajectory. More...
 
MOTION_TESTING_PUBLIC Trajectory motion::motion_testing::constant_velocity_trajectory (float x0, float y0, float heading, float v0, std::chrono::nanoseconds dt)
 Generates a constant velocity trajectory with invalid heading values. More...
 
MOTION_TESTING_PUBLIC Trajectory motion::motion_testing::constant_acceleration_trajectory (float x0, float y0, float heading, float v0, float a0, std::chrono::nanoseconds dt)
 Generates a constant acceleration trajectory. More...
 
MOTION_TESTING_PUBLIC Trajectory motion::motion_testing::constant_velocity_turn_rate_trajectory (float x0, float y0, float heading, float v0, float turn_rate, std::chrono::nanoseconds dt)
 Generates a constant velocity and constant turn rate trajectory. More...
 
MOTION_TESTING_PUBLIC Trajectory motion::motion_testing::constant_acceleration_turn_rate_trajectory (float x0, float y0, float heading, float v0, float a0, float turn_rate, std::chrono::nanoseconds dt)
 Generates a constant acceleration and constant turn rate trajectory. More...
 
MOTION_TESTING_PUBLIC void motion::motion_testing::next_state (const Trajectory &trajectory, State &state, uint32_t hint, Generator *gen=nullptr)
 
MOTION_TESTING_PUBLIC Index motion::motion_testing::progresses_towards_target (const Trajectory &trajectory, const Point &target, Real heading_tolerance=Real{0.006F})
 
MOTION_TESTING_PUBLIC Index motion::motion_testing::dynamically_feasible (const Trajectory &trajectory, Real tolerance=0.05F)