Autoware.Auto
generate_nlp_planner_solver.cpp File Reference
#include <casadi/casadi.hpp>
#include <common/types.hpp>
#include <vector>
#include <functional>
#include <string>
#include <sstream>
#include <iostream>
#include <limits>
#include "parking_planner/configuration.hpp"
#include "parking_planner/parking_planner_types.hpp"
#include "parking_planner/bicycle_model.hpp"
#include "parking_planner/nlp_adapters.hpp"
#include "parking_planner/rungekutta.hpp"
Include dependency graph for generate_nlp_planner_solver.cpp:

Functions

template<class T >
make_single_stage_variable (const std::string &name)
 
std::vector< MX > make_named_variable (const std::string &name, const std::size_t dimension)
 
std::string indexed_name (const std::string &name, const std::size_t index)
 
template<template< class > class T, typename Y >
convert_to_mx (T< Y > value)
 
MX matrix_from_vec_of_vec (const std::vector< std::vector< MX >> &vecvec)
 
Trajectory< MX > make_trajectory_variables (std::size_t number_of_stages)
 
std::vector< Halfplane2D< MX > > make_halfplane_variables (const std::string &basename, const std::size_t max_obstacle_halfplanes)
 
std::vector< NLPObstacleStageVariables< MX > > make_obstacle_stage_variables (const std::string &basename, const std::size_t max_obstacle_halfplanes, const std::size_t max_ego_halfplanes)
 
NLPObstacle< MX > create_abstract_obstacle (const std::string &basename, const std::size_t max_obstacle_halfplanes, const std::size_t max_ego_halfplanes)
 
MX casadi_dynamics_wrapper (MX state, MX command, MX params)
 
void create_dynamics_constraints (const Trajectory< MX > &trajectory, const BicycleModelParameters< MX > &vehicle_parameters, const VehicleState< MX > &current_state, std::vector< MX > &equality_constraints)
 
void create_terminal_state_constraint (const Trajectory< MX > &trajectory, const VehicleState< MX > &goal_state, std::vector< MX > &equality_constraints)
 
void create_single_stage_obstacle_constraints (const VehicleState< MX > &states, const NLPObstacleStageVariables< MX > &obstacle_variables, const DM &G, const MX &g, const MX &A, const MX &b, std::vector< MX > &equality_constraints, std::vector< MX > &inequality_constraints)
 
void create_obstacle_constraints (const Trajectory< MX > &trajectory, const BicycleModelParameters< MX > &vehicle_parameters, const std::vector< NLPObstacle< MX >> &obstacles, std::vector< MX > &equality_constraints, std::vector< MX > &inequality_constraints)
 
MX create_cost_function (const Trajectory< MX > &trajectory, const VehicleState< MX > &goal_state, const NLPCostWeights< MX > &cost_weights)
 
void generate_info_header (const std::string &shared_library_directory, const std::string &output_filename, const std::size_t number_of_equality_constraints, const std::size_t number_of_inequality_constraints)
 
int main (int argc, char *argv[])
 

Variables

constexpr auto Nstates = VehicleState<float64_t>::get_serialized_length()
 
constexpr auto Ncommands = VehicleCommand<float64_t>::get_serialized_length()
 
constexpr auto Nvehicleparams = BicycleModelParameters<float64_t>::get_serialized_length()
 

Function Documentation

◆ casadi_dynamics_wrapper()

MX casadi_dynamics_wrapper ( MX  state,
MX  command,
MX  params 
)

◆ convert_to_mx()

template<template< class > class T, typename Y >
Y convert_to_mx ( T< Y >  value)

◆ create_abstract_obstacle()

NLPObstacle<MX> create_abstract_obstacle ( const std::string &  basename,
const std::size_t  max_obstacle_halfplanes,
const std::size_t  max_ego_halfplanes 
)

◆ create_cost_function()

MX create_cost_function ( const Trajectory< MX > &  trajectory,
const VehicleState< MX > &  goal_state,
const NLPCostWeights< MX > &  cost_weights 
)

◆ create_dynamics_constraints()

void create_dynamics_constraints ( const Trajectory< MX > &  trajectory,
const BicycleModelParameters< MX > &  vehicle_parameters,
const VehicleState< MX > &  current_state,
std::vector< MX > &  equality_constraints 
)

◆ create_obstacle_constraints()

void create_obstacle_constraints ( const Trajectory< MX > &  trajectory,
const BicycleModelParameters< MX > &  vehicle_parameters,
const std::vector< NLPObstacle< MX >> &  obstacles,
std::vector< MX > &  equality_constraints,
std::vector< MX > &  inequality_constraints 
)

◆ create_single_stage_obstacle_constraints()

void create_single_stage_obstacle_constraints ( const VehicleState< MX > &  states,
const NLPObstacleStageVariables< MX > &  obstacle_variables,
const DM &  G,
const MX &  g,
const MX &  A,
const MX &  b,
std::vector< MX > &  equality_constraints,
std::vector< MX > &  inequality_constraints 
)

◆ create_terminal_state_constraint()

void create_terminal_state_constraint ( const Trajectory< MX > &  trajectory,
const VehicleState< MX > &  goal_state,
std::vector< MX > &  equality_constraints 
)

◆ generate_info_header()

void generate_info_header ( const std::string &  shared_library_directory,
const std::string &  output_filename,
const std::size_t  number_of_equality_constraints,
const std::size_t  number_of_inequality_constraints 
)

◆ indexed_name()

std::string indexed_name ( const std::string &  name,
const std::size_t  index 
)

◆ main()

int main ( int  argc,
char *  argv[] 
)

◆ make_halfplane_variables()

std::vector<Halfplane2D<MX> > make_halfplane_variables ( const std::string &  basename,
const std::size_t  max_obstacle_halfplanes 
)

◆ make_named_variable()

std::vector<MX> make_named_variable ( const std::string &  name,
const std::size_t  dimension 
)

◆ make_obstacle_stage_variables()

std::vector<NLPObstacleStageVariables<MX> > make_obstacle_stage_variables ( const std::string &  basename,
const std::size_t  max_obstacle_halfplanes,
const std::size_t  max_ego_halfplanes 
)

◆ make_single_stage_variable()

template<class T >
T make_single_stage_variable ( const std::string &  name)

◆ make_trajectory_variables()

Trajectory<MX> make_trajectory_variables ( std::size_t  number_of_stages)

◆ matrix_from_vec_of_vec()

MX matrix_from_vec_of_vec ( const std::vector< std::vector< MX >> &  vecvec)

Variable Documentation

◆ Ncommands

constexpr auto Ncommands = VehicleCommand<float64_t>::get_serialized_length()
constexpr

◆ Nstates

constexpr auto Nstates = VehicleState<float64_t>::get_serialized_length()
constexpr

◆ Nvehicleparams

constexpr auto Nvehicleparams = BicycleModelParameters<float64_t>::get_serialized_length()
constexpr