47 #include <flatland_plugins/update_timer.h> 48 #include <flatland_server/model_plugin.h> 51 #ifndef FLATLAND_PLUGINS_BUMPER_H 52 #define FLATLAND_PLUGINS_BUMPER_H 66 double sum_normal_impulses[2];
67 double sum_tangential_impulses[2];
80 std::string topic_name_;
83 bool publish_all_collisions_;
97 void OnInitialize(
const YAML::Node &config)
override;
103 void BeforePhysicsStep(
const Timekeeper &timekeeper)
override;
109 void AfterPhysicsStep(
const Timekeeper &timekeeper)
override;
115 void BeginContact(b2Contact *contact)
override;
121 void EndContact(b2Contact *contact)
override;
128 void PostSolve(b2Contact *contact,
const b2ContactImpulse *impulse)
override;
std::vector< Body * > excluded_bodies_
Definition: bumper.h:82
Definition: dummy_model_plugin.h:59
UpdateTimer update_timer_
for managing update rate
Definition: bumper.h:87
std::string world_frame_id_
name of the world frame id
Definition: bumper.h:81
ros::Publisher collisions_publisher_
For publishing the collisions.
Definition: bumper.h:91
double update_rate_
rate to publish message at
Definition: bumper.h:85
Definition: timekeeper.h:55
std::map< b2Contact *, ContactState > contact_states_
For keeping track of contacts.
Definition: bumper.h:90
Definition: model_plugin.h:64
Definition: update_timer.h:55