40 #include <std_msgs/Header.h>
41 #include <tf/transform_listener.h>
48 #define KEYCODE_R 0x43
49 #define KEYCODE_L 0x44
50 #define KEYCODE_U 0x41
51 #define KEYCODE_D 0x42
52 #define KEYCODE_Q 0x71
53 #define KEYCODE_E 0x65
79 struct termios cooked,
raw;
83 tcsetattr(
kfd, TCSANOW, &cooked);
89 int main(
int argc,
char** argv)
91 ros::init(argc, argv,
"keycapture");
96 ros::Rate loop_rate(10);
115 tcgetattr(
kfd, &cooked);
116 memcpy(&
raw, &cooked,
sizeof(
struct termios));
117 raw.c_lflag &=~ (ICANON | ECHO);
122 tcsetattr(
kfd, TCSANOW, &
raw);
124 puts(
"---------------------------");
125 puts(
"Use arrow keys to generate tag!");
128 if(read(
kfd, &c, 1) < 0)
134 ROS_DEBUG(
"value: 0x%02X\n", c);
159 ROS_DEBUG(
"NEG PHI");
164 ROS_DEBUG(
"POS PHI");
172 ROS_INFO(
"time:%f",
header.stamp.toSec());
182 header.stamp = msg.transforms[0].header.stamp;
int main(int argc, char **argv)
struct termios cooked raw
ros::NodeHandle nodehandle
#define KEYCODE_R
Tag good/bad leader in bag files.
void bagCallback(const tf::tfMessage &msg)