00001 /* -*- mode: C++ -*- 00002 * 00003 * Copyright (C) 2011 Austin Robot Technology 00004 * License: Modified BSD Software License Agreement 00005 * 00006 * $Id: adjacent_left.h 1744 2011-10-27 16:07:00Z jack.oquin $ 00007 */ 00008 00017 #ifndef _ADJACENT_LEFT_OBSERVER_H_ 00018 #define _ADJACENT_LEFT_OBSERVER_H_ 00019 00020 #include <art_observers/filter.h> 00021 #include <art_observers/observer.h> 00022 #include <art_map/PolyOps.h> 00023 #include <art_observers/QuadrilateralOps.h> 00024 00025 namespace observers 00026 { 00027 00029 class AdjacentLeft: public Observer 00030 { 00031 public: 00032 AdjacentLeft(art_observers::ObserversConfig &config); 00033 ~AdjacentLeft(); 00034 00035 virtual art_msgs::Observation 00036 update(const art_msgs::ArtLanes &local_map, 00037 const art_msgs::ArtLanes &obstacles, 00038 MapPose pose_); 00039 00040 private: 00041 00042 00043 std::vector<float> distance_; 00044 00045 MedianFilter distance_filter_; 00046 MeanFilter velocity_filter_; 00047 00048 ros::Time prev_update_; 00049 }; 00050 00051 }; // namespace observers 00052 00053 #endif // _ADJACENT_LEFT_H_