Easy Navigation
Loading...
Searching...
No Matches
SystemSafetyModeTest Class Reference
Inheritance diagram for SystemSafetyModeTest:
Collaboration diagram for SystemSafetyModeTest:

Protected Member Functions

bool activate ()
bool configure ()
void connect_safety_channel ()
void expect_subnodes_in (uint8_t state)
void listen_cmd_vel ()
std::optional< diagnostic_msgs::msg::DiagnosticStatus > rt_diagnostic ()
void run_rt_at_rate (std::chrono::milliseconds duration, bool real_time=false)
void run_rt_cycles (int cycles, std::chrono::milliseconds gap)
std::optional< diagnostic_msgs::msg::DiagnosticStatus > safety_diagnostic ()
void spin_for (std::chrono::milliseconds duration)
void start (const std::vector< std::string > &params)
rclcpp_lifecycle::LifecycleNode::SharedPtr subnode (const std::string &name)
void TearDown () override

Static Protected Member Functions

static easynav_interfaces::msg::SafetyStatus channel_status (bool protective_stop, std::optional< double > speed_limit=std::nullopt)
static std::vector< std::string > hanging_controller (double hang_time, double rt_freq=200.0, std::vector< std::string > extra={}, int fault_after=20)

Protected Attributes

rclcpp::Subscription< geometry_msgs::msg::Twist >::SharedPtr cmd_vel_sub_
std::vector< double > cmd_vels_
std::unique_ptr< rclcpp::executors::SingleThreadedExecutor > exe_
rclcpp::Node::SharedPtr listener_
std::optional< easynav_interfaces::msg::SafetyStatus > status_
rclcpp::Node::SharedPtr status_node_
rclcpp::Publisher< easynav_interfaces::msg::SafetyStatus >::SharedPtr status_pub_
easynav::SystemNode::SharedPtr system_node_

Member Function Documentation

◆ activate()

bool activate ( )
protected

◆ channel_status()

easynav_interfaces::msg::SafetyStatus channel_status ( bool protective_stop,
std::optional< double > speed_limit = std::nullopt )
staticprotected

◆ configure()

bool configure ( )
protected

◆ connect_safety_channel()

void connect_safety_channel ( )
protected

◆ expect_subnodes_in()

void expect_subnodes_in ( uint8_t state)
protected

◆ hanging_controller()

std::vector< std::string > hanging_controller ( double hang_time,
double rt_freq = 200.0,
std::vector< std::string > extra = {},
int fault_after = 20 )
staticprotected

◆ listen_cmd_vel()

void listen_cmd_vel ( )
protected

◆ rt_diagnostic()

std::optional< diagnostic_msgs::msg::DiagnosticStatus > rt_diagnostic ( )
protected

◆ run_rt_at_rate()

void run_rt_at_rate ( std::chrono::milliseconds duration,
bool real_time = false )
protected

◆ run_rt_cycles()

void run_rt_cycles ( int cycles,
std::chrono::milliseconds gap )
protected

◆ safety_diagnostic()

std::optional< diagnostic_msgs::msg::DiagnosticStatus > safety_diagnostic ( )
protected

◆ spin_for()

void spin_for ( std::chrono::milliseconds duration)
protected

◆ start()

void start ( const std::vector< std::string > & params)
protected

◆ subnode()

rclcpp_lifecycle::LifecycleNode::SharedPtr subnode ( const std::string & name)
protected

◆ TearDown()

void TearDown ( )
overrideprotected

Member Data Documentation

◆ cmd_vel_sub_

rclcpp::Subscription<geometry_msgs::msg::Twist>::SharedPtr cmd_vel_sub_
protected

◆ cmd_vels_

std::vector<double> cmd_vels_
protected

◆ exe_

std::unique_ptr<rclcpp::executors::SingleThreadedExecutor> exe_
protected

◆ listener_

rclcpp::Node::SharedPtr listener_
protected

◆ status_

std::optional<easynav_interfaces::msg::SafetyStatus> status_
protected

◆ status_node_

rclcpp::Node::SharedPtr status_node_
protected

◆ status_pub_

rclcpp::Publisher<easynav_interfaces::msg::SafetyStatus>::SharedPtr status_pub_
protected

◆ system_node_

easynav::SystemNode::SharedPtr system_node_
protected

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