src
JoystickDemo.h
Go to the documentation of this file.
1
/*********************************************************************
2
* Software License Agreement (BSD License)
3
*
4
* Copyright (c) 2018-2019 New Eagle
5
* Copyright (c) 2015-2018, Dataspeed Inc.
6
* All rights reserved.
7
*
8
* Redistribution and use in source and binary forms, with or without
9
* modification, are permitted provided that the following conditions
10
* are met:
11
*
12
* * Redistributions of source code must retain the above copyright
13
* notice, this list of conditions and the following disclaimer.
14
* * Redistributions in binary form must reproduce the above
15
* copyright notice, this list of conditions and the following
16
* disclaimer in the documentation and/or other materials provided
17
* with the distribution.
18
* * Neither the name of Dataspeed Inc. nor the names of its
19
* contributors may be used to endorse or promote products derived
20
* from this software without specific prior written permission.
21
*
22
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
25
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
26
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
27
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
28
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
32
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33
* POSSIBILITY OF SUCH DAMAGE.
34
*********************************************************************/
35
36
#ifndef JOYSTICKDEMO_H_
37
#define JOYSTICKDEMO_H_
38
39
#include <
ros/ros.h
>
40
#include <sensor_msgs/Joy.h>
41
#include <std_msgs/Empty.h>
42
43
#include <raptor_dbw_msgs/AcceleratorPedalCmd.h>
44
#include <raptor_dbw_msgs/BrakeCmd.h>
45
#include <raptor_dbw_msgs/SteeringCmd.h>
46
#include <raptor_dbw_msgs/GearCmd.h>
47
#include <raptor_dbw_msgs/MiscCmd.h>
48
#include <raptor_dbw_msgs/GlobalEnableCmd.h>
49
50
namespace
joystick_demo
51
{
52
53
typedef
struct
{
54
ros::Time
stamp;
55
float
brake_joy;
56
float
accelerator_pedal_joy;
57
float
steering_joy;
58
bool
steering_mult;
59
int
gear_cmd;
60
int
turn_signal_cmd;
61
bool
joy_accelerator_pedal_valid;
62
bool
joy_brake_valid;
63
} JoystickDataStruct;
64
65
class
JoystickDemo {
66
public
:
67
JoystickDemo
(
ros::NodeHandle
&node,
ros::NodeHandle
&priv_nh);
68
private
:
69
void
recvJoy
(
const
sensor_msgs::Joy::ConstPtr& msg);
70
void
cmdCallback
(
const
ros::TimerEvent
& event);
71
72
// Topics
73
ros::Subscriber
sub_joy_
;
74
ros::Publisher
pub_accelerator_pedal_
;
75
ros::Publisher
pub_brake_
;
76
ros::Publisher
pub_steering_
;
77
ros::Publisher
pub_gear_
;
78
ros::Publisher
pub_misc_
;
79
ros::Publisher
pub_enable_
;
80
ros::Publisher
pub_disable_
;
81
ros::Publisher
pub_global_enable_
;
82
83
// Parameters
84
bool
ignore_
;
// Ignore driver overrides
85
bool
enable_
;
// Use enable and disable buttons
86
bool
count_
;
// Increment counter to enable watchdog
87
double
svel_
;
// Steering command speed
88
89
// Variables
90
ros::Timer
timer_
;
91
JoystickDataStruct
data_
;
92
sensor_msgs::Joy
joy_
;
93
uint8_t
counter_
;
94
95
enum
{
96
BTN_PARK
= 3,
97
BTN_REVERSE
= 1,
98
BTN_NEUTRAL
= 2,
99
BTN_DRIVE
= 0,
100
BTN_ENABLE
= 5,
101
BTN_DISABLE
= 4,
102
BTN_STEER_MULT_1
= 6,
103
BTN_STEER_MULT_2
= 7,
104
BTN_COUNT
= 11,
105
AXIS_ACCELERATOR_PEDAL
= 5,
106
AXIS_BRAKE
= 2,
107
AXIS_STEER_1
= 0,
108
AXIS_STEER_2
= 3,
109
AXIS_TURN_SIG
= 6,
110
AXIS_COUNT
= 8,
111
};
112
};
113
114
}
115
116
#endif
/* JOYSTICKDEMO_H_ */
joystick_demo::JoystickDemo::pub_enable_
ros::Publisher pub_enable_
Definition:
JoystickDemo.h:112
joystick_demo::JoystickDemo::pub_brake_
ros::Publisher pub_brake_
Definition:
JoystickDemo.h:108
ros::Publisher
joystick_demo::JoystickDemo::BTN_DISABLE
@ BTN_DISABLE
Definition:
JoystickDemo.h:134
joystick_demo
Definition:
JoystickDemo.cpp:38
joystick_demo::JoystickDemo::BTN_ENABLE
@ BTN_ENABLE
Definition:
JoystickDemo.h:133
ros.h
joystick_demo::JoystickDemo::joy_
sensor_msgs::Joy joy_
Definition:
JoystickDemo.h:125
joystick_demo::JoystickDemo::AXIS_ACCELERATOR_PEDAL
@ AXIS_ACCELERATOR_PEDAL
Definition:
JoystickDemo.h:138
joystick_demo::JoystickDemo::AXIS_BRAKE
@ AXIS_BRAKE
Definition:
JoystickDemo.h:139
joystick_demo::JoystickDemo::JoystickDemo
JoystickDemo(ros::NodeHandle &node, ros::NodeHandle &priv_nh)
Definition:
JoystickDemo.cpp:74
joystick_demo::JoystickDemo::count_
bool count_
Definition:
JoystickDemo.h:119
joystick_demo::JoystickDemo::BTN_COUNT
@ BTN_COUNT
Definition:
JoystickDemo.h:137
joystick_demo::JoystickDataStruct
Definition:
JoystickDemo.h:86
joystick_demo::JoystickDemo::BTN_PARK
@ BTN_PARK
Definition:
JoystickDemo.h:129
joystick_demo::JoystickDemo::enable_
bool enable_
Definition:
JoystickDemo.h:118
joystick_demo::JoystickDemo::BTN_STEER_MULT_2
@ BTN_STEER_MULT_2
Definition:
JoystickDemo.h:136
joystick_demo::JoystickDemo::AXIS_TURN_SIG
@ AXIS_TURN_SIG
Definition:
JoystickDemo.h:142
joystick_demo::JoystickDemo::pub_global_enable_
ros::Publisher pub_global_enable_
Definition:
JoystickDemo.h:114
joystick_demo::JoystickDemo::pub_accelerator_pedal_
ros::Publisher pub_accelerator_pedal_
Definition:
JoystickDemo.h:107
joystick_demo::JoystickDemo::timer_
ros::Timer timer_
Definition:
JoystickDemo.h:123
joystick_demo::JoystickDemo::BTN_NEUTRAL
@ BTN_NEUTRAL
Definition:
JoystickDemo.h:131
ros::TimerEvent
joystick_demo::JoystickDemo::AXIS_COUNT
@ AXIS_COUNT
Definition:
JoystickDemo.h:143
joystick_demo::JoystickDemo::BTN_DRIVE
@ BTN_DRIVE
Definition:
JoystickDemo.h:132
joystick_demo::JoystickDemo::pub_steering_
ros::Publisher pub_steering_
Definition:
JoystickDemo.h:109
joystick_demo::JoystickDemo::AXIS_STEER_1
@ AXIS_STEER_1
Definition:
JoystickDemo.h:140
joystick_demo::JoystickDemo::pub_misc_
ros::Publisher pub_misc_
Definition:
JoystickDemo.h:111
joystick_demo::JoystickDemo::pub_gear_
ros::Publisher pub_gear_
Definition:
JoystickDemo.h:110
ros::Time
joystick_demo::JoystickDemo::AXIS_STEER_2
@ AXIS_STEER_2
Definition:
JoystickDemo.h:141
joystick_demo::JoystickDemo::BTN_STEER_MULT_1
@ BTN_STEER_MULT_1
Definition:
JoystickDemo.h:135
joystick_demo::JoystickDemo::ignore_
bool ignore_
Definition:
JoystickDemo.h:117
joystick_demo::JoystickDemo::svel_
double svel_
Definition:
JoystickDemo.h:120
joystick_demo::JoystickDemo::pub_disable_
ros::Publisher pub_disable_
Definition:
JoystickDemo.h:113
joystick_demo::JoystickDemo::recvJoy
void recvJoy(const sensor_msgs::Joy::ConstPtr &msg)
Definition:
JoystickDemo.cpp:181
joystick_demo::JoystickDemo::sub_joy_
ros::Subscriber sub_joy_
Definition:
JoystickDemo.h:106
joystick_demo::JoystickDemo::counter_
uint8_t counter_
Definition:
JoystickDemo.h:126
ros::Timer
joystick_demo::JoystickDemo::cmdCallback
void cmdCallback(const ros::TimerEvent &event)
Definition:
JoystickDemo.cpp:113
joystick_demo::JoystickDemo::data_
JoystickDataStruct data_
Definition:
JoystickDemo.h:124
joystick_demo::JoystickDemo::BTN_REVERSE
@ BTN_REVERSE
Definition:
JoystickDemo.h:130
ros::NodeHandle
ros::Subscriber
raptor_dbw_joystick_demo
Author(s): Jane Doe
autogenerated on Sat Apr 9 2022 02:34:37