#include <common/types.hpp>
#include <vector>
#include <string>
#include "configuration.hpp"
#include "parking_planner_types.hpp"
#include "bicycle_model.hpp"
#include "geometry.hpp"
Go to the source code of this file.
|
| template<typename T > |
| SerializedVariables< T > | autoware::motion::planning::parking_planner::assemble_variable_vector_and_bounds (const Trajectory< T > &trajectory, const std::vector< NLPObstacle< T >> &obstacles, const VehicleState< float64_t > &lower_state_bounds, const VehicleState< float64_t > &upper_state_bounds, const VehicleCommand< float64_t > &lower_command_bounds, const VehicleCommand< float64_t > &upper_command_bounds) |
| | Function to assemble the variable vector for the NLP from given states and commands. This is used in both the solver generation for specifying how the variables are ordered as well as when calling the solver because it will expect the initial guess in the same format. The adapter here serves as a single source of truth for how the serialization is to be done. More...
|
| |
| template<typename T > |
| Trajectory< float64_t > | autoware::motion::planning::parking_planner::disassemble_variable_vector (const std::vector< T > &variable_vector, const std::size_t horizon_length) |
| | Helper function to turn a serialized variable vector into a structured Trajectory object. More...
|
| |
| template<typename T > |
| std::vector< T > | autoware::motion::planning::parking_planner::assemble_parameter_vector (const VehicleState< T > ¤t_state, const VehicleState< T > &goal_state, const BicycleModelParameters< T > &model_parameters, const std::vector< NLPObstacle< T >> &obstacles, const NLPCostWeights< T > &cost_weights) |
| | Helper function to turn the inputs to an NLP solve into a flat vector of scalars for use by the CasADi-interfaced solver. More...
|
| |
|
| constexpr auto | autoware::motion::planning::parking_planner::ARTIFICIAL_DUAL_MULTIPLIER_BOUND = 1.0e4 |
| | Since we need upper and lower bounds in the constructs used here, but some variables do not have clearly defined upper bounds, we introduce an artificial upper bound number that is "large enough to never matter". The value has been determined experimentally to work - picking this value too small will lead to the problem no longer being mathematically correct, making it too large will lead to numerical difficulties. More...
|
| |