Autoware.Auto
lgsvl_interface::LgsvlInterface Class Reference

#include <lgsvl_interface.hpp>

Inheritance diagram for lgsvl_interface::LgsvlInterface:
Collaboration diagram for lgsvl_interface::LgsvlInterface:

Public Member Functions

 LgsvlInterface (rclcpp::Node &node, const std::string &sim_cmd_topic, const std::string &sim_state_cmd_topic, const std::string &sim_state_report_topic, const std::string &sim_nav_odom_topic, const std::string &sim_veh_odom_topic, const std::string &kinematic_state_topic, const std::string &sim_odom_child_frame, Table1D &&throttle_table, Table1D &&brake_table, Table1D &&steer_table, bool publish_tf=NO_PUBLISH, bool publish_pose=PUBLISH)
 
 ~LgsvlInterface () noexcept override=default
 
bool update (std::chrono::nanoseconds timeout) override
 
bool send_state_command (const autoware_auto_msgs::msg::VehicleStateCommand &msg) override
 
bool send_control_command (const autoware_auto_msgs::msg::VehicleControlCommand &msg) override
 Send control command data with whatever state data came along last. More...
 
bool send_control_command (const autoware_auto_msgs::msg::RawControlCommand &msg) override
 
bool handle_mode_change_request (autoware_auto_msgs::srv::AutonomyModeChange_Request::SharedPtr request) override
 Respond to request for changing autonomy mode. For LGSVL, this means nothing. More...
 
- Public Member Functions inherited from autoware::drivers::vehicle_interface::PlatformInterface
 PlatformInterface ()=default
 Constructor. More...
 
virtual ~PlatformInterface ()=default
 Destructor. More...
 
virtual bool8_t send_state_command (const VehicleStateCommand &msg)=0
 
virtual bool8_t send_control_command (const VehicleControlCommand &msg)=0
 
virtual bool8_t send_control_command (const RawControlCommand &msg)=0
 
virtual bool8_t handle_mode_change_request (ModeChangeRequest::SharedPtr request)=0
 
const VehicleStateReport & get_state_report () const noexcept
 
const VehicleOdometry & get_odometry () const noexcept
 

Additional Inherited Members

- Protected Member Functions inherited from autoware::drivers::vehicle_interface::PlatformInterface
VehicleStateReport & state_report () noexcept
 Get the underlying state report for modification. More...
 
VehicleOdometry & odometry () noexcept
 Get the underlying odometry for modification. More...
 

Detailed Description

Platform interface implementation for LGSVL. Bridges data to and from the simulator where custom logic is required to get simulator data to adhere to ROS conventions. For a full list of behaviors, see LGSVL simulator

Constructor & Destructor Documentation

◆ LgsvlInterface()

lgsvl_interface::LgsvlInterface::LgsvlInterface ( rclcpp::Node &  node,
const std::string &  sim_cmd_topic,
const std::string &  sim_state_cmd_topic,
const std::string &  sim_state_report_topic,
const std::string &  sim_nav_odom_topic,
const std::string &  sim_veh_odom_topic,
const std::string &  kinematic_state_topic,
const std::string &  sim_odom_child_frame,
Table1D &&  throttle_table,
Table1D &&  brake_table,
Table1D &&  steer_table,
bool  publish_tf = NO_PUBLISH,
bool  publish_pose = PUBLISH 
)

◆ ~LgsvlInterface()

lgsvl_interface::LgsvlInterface::~LgsvlInterface ( )
overridedefaultnoexcept

Member Function Documentation

◆ handle_mode_change_request()

bool8_t lgsvl_interface::LgsvlInterface::handle_mode_change_request ( autoware_auto_msgs::srv::AutonomyModeChange_Request::SharedPtr  request)
override

Respond to request for changing autonomy mode. For LGSVL, this means nothing.

◆ send_control_command() [1/2]

bool8_t lgsvl_interface::LgsvlInterface::send_control_command ( const autoware_auto_msgs::msg::VehicleControlCommand &  msg)
override

Send control command data with whatever state data came along last.

◆ send_control_command() [2/2]

bool8_t lgsvl_interface::LgsvlInterface::send_control_command ( const autoware_auto_msgs::msg::RawControlCommand &  msg)
override

Send control data with whatever state data came along last; applies scaling here too. If both brake and throttle is nonzero, decide based on config

◆ send_state_command()

bool8_t lgsvl_interface::LgsvlInterface::send_state_command ( const autoware_auto_msgs::msg::VehicleStateCommand &  msg)
override

Queues up data to be sent along with the next control command. Only gear shifting between drive and reverse is supported at this time.

◆ update()

bool8_t lgsvl_interface::LgsvlInterface::update ( std::chrono::nanoseconds  timeout)
overridevirtual

Receives data from ROS 2 subscriber, and updates output messages. Not yet implemented

Implements autoware::drivers::vehicle_interface::PlatformInterface.


The documentation for this class was generated from the following files: