Main Page
Namespaces
Classes
Files
File List
File Members
include
kobuki_bumper2pc
kobuki_bumper2pc.hpp
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2013, Yujin Robot.
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions are met:
7
*
8
* * Redistributions of source code must retain the above copyright
9
* notice, this list of conditions and the following disclaimer.
10
* * Redistributions in binary form must reproduce the above copyright
11
* notice, this list of conditions and the following disclaimer in the
12
* documentation and/or other materials provided with the distribution.
13
* * Neither the name of Yujin Robot nor the names of its
14
* contributors may be used to endorse or promote products derived from
15
* this software without specific prior written permission.
16
*
17
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
21
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27
* POSSIBILITY OF SUCH DAMAGE.
28
*/
29
42
#ifndef _KOBUKI_BUMPER2PC_HPP_
43
#define _KOBUKI_BUMPER2PC_HPP_
44
45
/*****************************************************************************
46
** Includes
47
*****************************************************************************/
48
49
#include <
ros/ros.h
>
50
#include <
nodelet/nodelet.h
>
51
52
#include <sensor_msgs/PointCloud2.h>
53
54
#include <kobuki_msgs/SensorState.h>
55
56
/*****************************************************************************
57
** Namespace
58
*****************************************************************************/
59
60
namespace
kobuki_bumper2pc
61
{
62
66
class
Bumper2PcNodelet
:
public
nodelet::Nodelet
67
{
68
public
:
69
Bumper2PcNodelet
()
70
:
P_INF_X
(+100*sin(0.34906585)),
71
P_INF_Y
(+100*cos(0.34906585)),
72
N_INF_Y
(-100*cos(0.34906585)),
73
ZERO
(0),
prev_bumper
(0),
prev_cliff
(0) { }
74
~Bumper2PcNodelet
() { }
75
76
void
onInit
();
77
78
private
:
79
const
float
P_INF_X
;
// somewhere out of reach from the robot (positive x)
80
const
float
P_INF_Y
;
// somewhere out of reach from the robot (positive y)
81
const
float
N_INF_Y
;
// somewhere out of reach from the robot (negative y)
82
const
float
ZERO
;
83
84
uint8_t
prev_bumper
;
85
uint8_t
prev_cliff
;
86
87
float
pc_radius_
;
88
float
pc_height_
;
89
float
p_side_x_
;
90
float
p_side_y_
;
91
float
n_side_y_
;
92
93
ros::Publisher
pointcloud_pub_
;
94
ros::Subscriber
core_sensor_sub_
;
95
96
sensor_msgs::PointCloud2
pointcloud_
;
97
102
void
coreSensorCB
(
const
kobuki_msgs::SensorState::ConstPtr& msg);
103
};
104
105
}
// namespace kobuki_bumper2pc
106
107
#endif // _KOBUKI_BUMPER2PC_HPP_
kobuki_bumper2pc::Bumper2PcNodelet::pc_height_
float pc_height_
Definition:
kobuki_bumper2pc.hpp:88
kobuki_bumper2pc::Bumper2PcNodelet::prev_cliff
uint8_t prev_cliff
Definition:
kobuki_bumper2pc.hpp:85
kobuki_bumper2pc::Bumper2PcNodelet::core_sensor_sub_
ros::Subscriber core_sensor_sub_
Definition:
kobuki_bumper2pc.hpp:94
kobuki_bumper2pc::Bumper2PcNodelet::prev_bumper
uint8_t prev_bumper
Definition:
kobuki_bumper2pc.hpp:84
kobuki_bumper2pc::Bumper2PcNodelet::n_side_y_
float n_side_y_
Definition:
kobuki_bumper2pc.hpp:91
kobuki_bumper2pc
Definition:
kobuki_bumper2pc.hpp:60
nodelet.h
nodelet::Nodelet
kobuki_bumper2pc::Bumper2PcNodelet::pointcloud_
sensor_msgs::PointCloud2 pointcloud_
Definition:
kobuki_bumper2pc.hpp:96
ros::Subscriber
kobuki_bumper2pc::Bumper2PcNodelet::N_INF_Y
const float N_INF_Y
Definition:
kobuki_bumper2pc.hpp:81
kobuki_bumper2pc::Bumper2PcNodelet::p_side_x_
float p_side_x_
Definition:
kobuki_bumper2pc.hpp:89
kobuki_bumper2pc::Bumper2PcNodelet::P_INF_X
const float P_INF_X
Definition:
kobuki_bumper2pc.hpp:79
kobuki_bumper2pc::Bumper2PcNodelet
Bumper2PcNodelet class declaration.
Definition:
kobuki_bumper2pc.hpp:66
ros.h
kobuki_bumper2pc::Bumper2PcNodelet::p_side_y_
float p_side_y_
Definition:
kobuki_bumper2pc.hpp:90
kobuki_bumper2pc::Bumper2PcNodelet::pc_radius_
float pc_radius_
Definition:
kobuki_bumper2pc.hpp:87
kobuki_bumper2pc::Bumper2PcNodelet::coreSensorCB
void coreSensorCB(const kobuki_msgs::SensorState::ConstPtr &msg)
Core sensors state structure callback.
Definition:
kobuki_bumper2pc.cpp:21
kobuki_bumper2pc::Bumper2PcNodelet::ZERO
const float ZERO
Definition:
kobuki_bumper2pc.hpp:82
ros::Publisher
kobuki_bumper2pc::Bumper2PcNodelet::P_INF_Y
const float P_INF_Y
Definition:
kobuki_bumper2pc.hpp:80
kobuki_bumper2pc::Bumper2PcNodelet::pointcloud_pub_
ros::Publisher pointcloud_pub_
Definition:
kobuki_bumper2pc.hpp:93
kobuki_bumper2pc::Bumper2PcNodelet::onInit
void onInit()
Definition:
kobuki_bumper2pc.cpp:73
kobuki_bumper2pc::Bumper2PcNodelet::Bumper2PcNodelet
Bumper2PcNodelet()
Definition:
kobuki_bumper2pc.hpp:69
kobuki_bumper2pc::Bumper2PcNodelet::~Bumper2PcNodelet
~Bumper2PcNodelet()
Definition:
kobuki_bumper2pc.hpp:74
kobuki_bumper2pc
Author(s): Jorge Santos Simon
autogenerated on Mon Jun 10 2019 13:44:59