include
pr2_mechanism_diagnostics
controller_diagnostics.h
Go to the documentation of this file.
1
/*********************************************************************
2
* Software License Agreement (BSD License)
3
*
4
* Copyright (c) 2010, Willow Garage, Inc.
5
* All rights reserved.
6
*
7
* Redistribution and use in source and binary forms, with or without
8
* modification, are permitted provided that the following conditions
9
* are met:
10
*
11
* * Redistributions of source code must retain the above copyright
12
* notice, this list of conditions and the following disclaimer.
13
* * Redistributions in binary form must reproduce the above
14
* copyright notice, this list of conditions and the following
15
* disclaimer in the documentation and/or other materials provided
16
* with the distribution.
17
* * Neither the name of the Willow Garage nor the names of its
18
* contributors may be used to endorse or promote products derived
19
* from this software without specific prior written permission.
20
*
21
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32
* POSSIBILITY OF SUCH DAMAGE.
33
*********************************************************************/
34
37
38
#ifndef _PR2_MECHANISM_DIAGNOSTICS_H_CTRL_DIAG_
39
#define _PR2_MECHANISM_DIAGNOSTICS_H_CTRL_DIAG_
40
41
#include <
ros/ros.h
>
42
#include <pr2_mechanism_msgs/MechanismStatistics.h>
43
#include <pr2_mechanism_msgs/ControllerStatistics.h>
44
#include <
diagnostic_updater/DiagnosticStatusWrapper.h
>
45
#include <boost/shared_ptr.hpp>
46
47
namespace
pr2_mechanism_diagnostics
48
{
49
58
class
ControllerStats
59
{
60
private
:
61
ros::Time
updateTime
;
62
63
std::string
name
;
64
ros::Time
timestamp
;
65
bool
running
;
66
ros::Duration
max_time
;
67
ros::Duration
mean_time
;
68
ros::Duration
variance_time
;
69
int
num_overruns
;
70
ros::Time
last_overrun_time
;
71
72
bool
disable_warnings_
;
73
74
public
:
75
ControllerStats
(std::string nam,
bool
disable_warnings);
76
77
~ControllerStats
() {}
78
79
bool
update
(
const
pr2_mechanism_msgs::ControllerStatistics &cs);
80
82
bool
shouldDiscard
()
const
{
return
(
ros::Time::now
() -
updateTime
).toSec() > 3; }
83
84
boost::shared_ptr<diagnostic_updater::DiagnosticStatusWrapper>
toDiagStat
()
const
;
85
86
};
87
88
89
}
90
91
#endif // _PR2_MECHANISM_DIAGNOSTICS_H_CTRL_DIAG_
pr2_mechanism_diagnostics
Publishes diagnostics for controllers, joints from pr2_mechanism_msgs/MechanismStatistics message.
Definition:
controller_diagnostics.h:47
pr2_mechanism_diagnostics::ControllerStats::~ControllerStats
~ControllerStats()
Definition:
controller_diagnostics.h:141
pr2_mechanism_diagnostics::ControllerStats::shouldDiscard
bool shouldDiscard() const
Definition:
controller_diagnostics.h:146
pr2_mechanism_diagnostics::ControllerStats::running
bool running
Definition:
controller_diagnostics.h:129
boost::shared_ptr
ros.h
pr2_mechanism_diagnostics::ControllerStats::ControllerStats
ControllerStats(std::string nam, bool disable_warnings)
Definition:
controller_diagnostics.cpp:43
pr2_mechanism_diagnostics::ControllerStats::mean_time
ros::Duration mean_time
Definition:
controller_diagnostics.h:131
pr2_mechanism_diagnostics::ControllerStats::update
bool update(const pr2_mechanism_msgs::ControllerStatistics &cs)
Definition:
controller_diagnostics.cpp:52
pr2_mechanism_diagnostics::ControllerStats
Definition:
controller_diagnostics.h:90
pr2_mechanism_diagnostics::ControllerStats::disable_warnings_
bool disable_warnings_
Definition:
controller_diagnostics.h:136
pr2_mechanism_diagnostics::ControllerStats::max_time
ros::Duration max_time
Definition:
controller_diagnostics.h:130
DiagnosticStatusWrapper.h
pr2_mechanism_diagnostics::ControllerStats::timestamp
ros::Time timestamp
Definition:
controller_diagnostics.h:128
pr2_mechanism_diagnostics::ControllerStats::variance_time
ros::Duration variance_time
Definition:
controller_diagnostics.h:132
pr2_mechanism_diagnostics::ControllerStats::name
std::string name
Definition:
controller_diagnostics.h:127
ros::Time
pr2_mechanism_diagnostics::ControllerStats::updateTime
ros::Time updateTime
Definition:
controller_diagnostics.h:125
pr2_mechanism_diagnostics::ControllerStats::toDiagStat
boost::shared_ptr< diagnostic_updater::DiagnosticStatusWrapper > toDiagStat() const
Definition:
controller_diagnostics.cpp:73
pr2_mechanism_diagnostics::ControllerStats::last_overrun_time
ros::Time last_overrun_time
Definition:
controller_diagnostics.h:134
pr2_mechanism_diagnostics::ControllerStats::num_overruns
int num_overruns
Definition:
controller_diagnostics.h:133
ros::Duration
ros::Time::now
static Time now()
pr2_mechanism_diagnostics
Author(s): Kevin Watts
autogenerated on Mon Mar 6 2023 03:49:19