checks for obstacles in driving direction and stops the robot More...
#include <velocity_limited_marker.h>
Public Member Functions | |
CollisionVelocityFilter (costmap_2d::Costmap2DROS *costmap) | |
Constructor. More... | |
void | dynamicReconfigureCB (const cob_collision_velocity_filter::CollisionVelocityFilterConfig &config, const uint32_t level) |
Dynamic reconfigure callback. More... | |
void | getFootprint (const ros::TimerEvent &) |
Timer callback, calls GetFootprint Service and adjusts footprint. More... | |
void | joystickVelocityCB (const geometry_msgs::Twist::ConstPtr &twist) |
reads twist command from teleop device (joystick, teleop_keyboard, ...) and calls functions for collision check (obstacleHandler) and driving of the robot (performControllerStep) More... | |
void | readObstacles () |
reads obstacles from costmap More... | |
~CollisionVelocityFilter () | |
Destructor. More... | |
Public Attributes | |
dynamic_reconfigure::Server< cob_collision_velocity_filter::CollisionVelocityFilterConfig > | dyn_server_ |
dynamic reconfigure More... | |
dynamic_reconfigure::Server< cob_collision_velocity_filter::CollisionVelocityFilterConfig >::CallbackType | dynCB_ |
ros::Timer | get_footprint_timer_ |
Timer for periodically calling GetFootprint Service. More... | |
ros::Subscriber | joystick_velocity_sub_ |
declaration of subscriber More... | |
ros::NodeHandle | nh_ |
create a handle for this node, initialize node More... | |
ros::Subscriber | obstacles_sub_ |
ros::NodeHandle | pnh_ |
ros::Publisher | topic_pub_command_ |
declaration of publisher More... | |
ros::Publisher | topic_pub_relevant_obstacles_ |
Private Member Functions | |
double | getDistance2d (geometry_msgs::Point a, geometry_msgs::Point b) |
computes distance between two points More... | |
void | obstacleHandler () |
checks for obstacles in driving direction of the robot (rotation included) and publishes relevant obstacles More... | |
bool | obstacleValid (double x_obstacle, double y_obstacle) |
checks if obstacle lies already within footprint -> this is ignored due to sensor readings of the hull etc More... | |
void | performControllerStep () |
checks distance to obstacles in driving direction and slows down/stops robot and publishes command velocity to robot More... | |
double | sign (double x) |
returns the sign of x More... | |
void | stopMovement () |
stops movement of the robot More... | |
checks for obstacles in driving direction and stops the robot
CollisionVelocityFilter::CollisionVelocityFilter | ( | costmap_2d::Costmap2DROS * | costmap | ) |
Constructor.
Definition at line 30 of file cob_collision_velocity_filter.cpp.
CollisionVelocityFilter::~CollisionVelocityFilter | ( | ) |
Destructor.
Definition at line 149 of file cob_collision_velocity_filter.cpp.
void CollisionVelocityFilter::dynamicReconfigureCB | ( | const cob_collision_velocity_filter::CollisionVelocityFilterConfig & | config, |
const uint32_t | level | ||
) |
Dynamic reconfigure callback.
config | - configuration file with dynamic reconfigureable parameters |
level | - the result of ORing together all level values of the parameters that have changed, for now unnecessary |
Definition at line 206 of file cob_collision_velocity_filter.cpp.
|
private |
computes distance between two points
a,b | - Points |
Definition at line 574 of file cob_collision_velocity_filter.cpp.
void CollisionVelocityFilter::getFootprint | ( | const ros::TimerEvent & | event | ) |
Timer callback, calls GetFootprint Service and adjusts footprint.
Definition at line 175 of file cob_collision_velocity_filter.cpp.
void CollisionVelocityFilter::joystickVelocityCB | ( | const geometry_msgs::Twist::ConstPtr & | twist | ) |
reads twist command from teleop device (joystick, teleop_keyboard, ...) and calls functions for collision check (obstacleHandler) and driving of the robot (performControllerStep)
twist | - velocity command sent as twist message (twist.linear.x/y/z, twist.angular.x/y/z) |
Definition at line 156 of file cob_collision_velocity_filter.cpp.
|
private |
checks for obstacles in driving direction of the robot (rotation included) and publishes relevant obstacles
Definition at line 356 of file cob_collision_velocity_filter.cpp.
|
private |
checks if obstacle lies already within footprint -> this is ignored due to sensor readings of the hull etc
x_obstacle | - x coordinate of obstacle in occupancy grid local costmap |
y_obstacle | - y coordinate of obstacle in occupancy grid local costmap |
Definition at line 587 of file cob_collision_velocity_filter.cpp.
|
private |
checks distance to obstacles in driving direction and slows down/stops robot and publishes command velocity to robot
Definition at line 234 of file cob_collision_velocity_filter.cpp.
void CollisionVelocityFilter::readObstacles | ( | ) |
reads obstacles from costmap
obstacles | - 2D occupancy grid in rolling window mode! |
|
private |
returns the sign of x
Definition at line 579 of file cob_collision_velocity_filter.cpp.
|
private |
stops movement of the robot
Definition at line 599 of file cob_collision_velocity_filter.cpp.
|
private |
Definition at line 125 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 177 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 177 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 177 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 186 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 186 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 169 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 183 of file cob_collision_velocity_filter.h.
dynamic_reconfigure::Server<cob_collision_velocity_filter::CollisionVelocityFilterConfig> CollisionVelocityFilter::dyn_server_ |
dynamic reconfigure
Definition at line 119 of file cob_collision_velocity_filter.h.
dynamic_reconfigure::Server<cob_collision_velocity_filter::CollisionVelocityFilterConfig>::CallbackType CollisionVelocityFilter::dynCB_ |
Definition at line 120 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 181 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 182 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 181 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 182 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 181 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 182 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 181 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 182 of file cob_collision_velocity_filter.h.
ros::Timer CollisionVelocityFilter::get_footprint_timer_ |
Timer for periodically calling GetFootprint Service.
Definition at line 109 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 172 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 185 of file cob_collision_velocity_filter.h.
ros::Subscriber CollisionVelocityFilter::joystick_velocity_sub_ |
declaration of subscriber
Definition at line 116 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 190 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 190 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 184 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 189 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 166 of file cob_collision_velocity_filter.h.
ros::NodeHandle CollisionVelocityFilter::nh_ |
create a handle for this node, initialize node
Definition at line 103 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 185 of file cob_collision_velocity_filter.h.
ros::Subscriber CollisionVelocityFilter::obstacles_sub_ |
Definition at line 116 of file cob_collision_velocity_filter.h.
ros::NodeHandle CollisionVelocityFilter::pnh_ |
Definition at line 106 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 184 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 180 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 172 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 175 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 175 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 185 of file cob_collision_velocity_filter.h.
ros::Publisher CollisionVelocityFilter::topic_pub_command_ |
declaration of publisher
Definition at line 112 of file cob_collision_velocity_filter.h.
ros::Publisher CollisionVelocityFilter::topic_pub_relevant_obstacles_ |
Definition at line 113 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 185 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 176 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 195 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 192 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 191 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 176 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 191 of file cob_collision_velocity_filter.h.
|
private |
Definition at line 191 of file cob_collision_velocity_filter.h.