Autonomous Racing  1
f1tenth Project Group of Technical University Dortmund, Germany
crash_detector.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <gazebo/gazebo.hh>
4 #include <gazebo/gazebo_client.hh>
5 #include <gazebo/msgs/msgs.hh>
6 #include <gazebo/transport/transport.hh>
7 #include <ros/ros.h>
8 #include <std_msgs/Empty.h>
9 
10 constexpr const char* TOPIC_CRASH = "/crash";
11 constexpr const char* TOPIC_GAZEBO_SENSOR_WALLS =
12  "/gazebo/racetrack/track/walls-collision-link/walls-contact-sensor/contacts";
13 constexpr const char* TOPIC_GAZEBO_SENSOR_DECORATION =
14  "/gazebo/racetrack/track/decoration-collision-link/decoration-contact-sensor/contacts";
15 
20 {
21  public:
22  CrashDetector();
23 
24  private:
25  ros::NodeHandle m_ros_node_handle;
26  ros::Publisher m_crash_publisher;
27 
28  gazebo::transport::NodePtr m_gazebo_node;
29  gazebo::transport::SubscriberPtr m_walls_sensor_subscriber;
30  gazebo::transport::SubscriberPtr m_decoration_sensor_subscriber;
31 
32  void gazeboTopicCallback(ConstContactsPtr& message);
33 };
constexpr const char * TOPIC_GAZEBO_SENSOR_DECORATION
constexpr const char * TOPIC_CRASH
ROS node that listens on a gazebo topic for collisions and publishes to a ROS topic.
constexpr const char * TOPIC_GAZEBO_SENSOR_WALLS