35 const nav_msgs::OccupancyGrid& map,
36 const stdr_msgs::CO2SensorMsg& msg,
37 const std::string& name,
39 :
Sensor(map, name, n, msg.pose, msg.frame_id, msg.frequency)
47 "stdr_server/co2_sources_list",
70 stdr_msgs::CO2SensorMeasurementMsg measuredSourcesMsg;
72 measuredSourcesMsg.header.frame_id =
_description.frame_id;
76 for(
unsigned int i = 0 ; i <
co2_sources_.co2_sources.size() ; i++)
91 measuredSourcesMsg.co2_ppm +=
co2_sources_.co2_sources[i].ppm *
92 pow(0.5, 2) / pow(dist, 2);
96 measuredSourcesMsg.co2_ppm +=
co2_sources_.co2_sources[i].ppm;
const std::string & _namespace
< The base for the sensor frame_id
stdr_msgs::CO2SensorMsg _description
< CO2 sensor description
virtual void updateSensorCallback()
Updates the sensor measurements.
void publish(const boost::shared_ptr< M > &message) const
Subscriber subscribe(const std::string &topic, uint32_t queue_size, void(T::*fp)(M), T *obj, const TransportHints &transport_hints=TransportHints())
The main namespace for STDR Robot.
ros::Subscriber co2_sources_subscriber_
The currently existent sources.
~CO2Sensor(void)
Default destructor.
A class that provides sensor abstraction.
TFSIMD_FORCE_INLINE const tfScalar & x() const
CO2Sensor(const nav_msgs::OccupancyGrid &map, const stdr_msgs::CO2SensorMsg &msg, const std::string &name, ros::NodeHandle &n)
Default constructor.
tf::StampedTransform _sensorTransform
True if sensor got the _sensorTransform.
TFSIMD_FORCE_INLINE const tfScalar & y() const
Publisher advertise(const std::string &topic, uint32_t queue_size, bool latch=false)
stdr_msgs::CO2SourceVector co2_sources_
ros::Publisher _publisher
ROS tf listener.
void receiveCO2Sources(const stdr_msgs::CO2SourceVector &msg)
Receives the existent co2 sources.