#include <termios.h>
#include <signal.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <ros/ros.h>
#include "virtual_camera/VirtualCameraParameters.h"
Go to the source code of this file.
Defines | |
#define | APPROX_DIST_STEP 0.2 |
#define | APPROX_DIST_STEP_FAST 1 |
#define | KEYCODE_1 0x31 |
#define | KEYCODE_2 0x32 |
#define | KEYCODE_3 0x33 |
#define | KEYCODE_4 0x34 |
#define | KEYCODE_5 0x35 |
#define | KEYCODE_6 0x36 |
#define | KEYCODE_A 0x61 |
#define | KEYCODE_A_CAP 0x41 |
#define | KEYCODE_B 0x62 |
#define | KEYCODE_C 0x63 |
#define | KEYCODE_D 0x64 |
#define | KEYCODE_D_CAP 0x44 |
#define | KEYCODE_E 0x65 |
#define | KEYCODE_E_CAP 0x45 |
#define | KEYCODE_F 0x66 |
#define | KEYCODE_F_CAP 0x46 |
#define | KEYCODE_K 0x6B |
#define | KEYCODE_M 0x6D |
#define | KEYCODE_Q 0x71 |
#define | KEYCODE_Q_CAP 0x51 |
#define | KEYCODE_R 0x72 |
#define | KEYCODE_R_CAP 0x52 |
#define | KEYCODE_S 0x73 |
#define | KEYCODE_S_CAP 0x53 |
#define | KEYCODE_SPACE 0x20 |
#define | KEYCODE_V 0x76 |
#define | KEYCODE_W 0x77 |
#define | KEYCODE_W_CAP 0x57 |
#define | KEYCODE_X 0x78 |
#define | MOVE_STEP 0.2 |
#define | MOVE_STEP_FAST 2 |
#define | PAN_STEP 5 |
#define | PAN_STEP_FAST 20 |
#define | TILT_STEP 5 |
#define | TILT_STEP_FAST 20 |
#define | ZOOM_H_STEP 4 |
#define | ZOOM_H_STEP_FAST 16 |
#define | ZOOM_V_STEP 3 |
#define | ZOOM_V_STEP_FAST 12 |
Functions | |
void | cylindricResolutions () |
void | keyboardLoop () |
int | main (int argc, char **argv) |
void | pinholeResolutions () |
void | quit (int sig) |
void | setOriginalValues () |
void | sphericalResolutions () |
void | updateResolutions () |
Variables | |
double | approxDistance = 3 |
std::string | encoding |
double | frameRate |
double | horizontalFov = 60 |
int | kfd = 0 |
int | model = 0 |
std::string | models [NUM_MODELS] = {"pinhole", "cylindric", "spherical"} |
std::string | name |
const int | NUM_MODELS = 3 |
double | origApproxDistance |
double | origHeight |
double | origHorizontalFov |
std::string | origModel |
double | origPan |
double | origSynchronize |
double | origTilt |
double | origVerticalFov |
double | origWidth |
double | origX |
double | origY |
double | origZ |
double | pan = 0 |
std::string | parentFrameId |
ros::Publisher | pub |
std::string | pubTopic |
double | pX = 0 |
double | pY = 0 |
double | pZ = 0 |
int | quality = 4 |
struct termios cooked | raw |
void(* | resolutionHandlers [NUM_MODELS])() |
int | synchronize = 0 |
double | tilt = 0 |
double | verticalFov = 45 |
int32_t | viewportHeight = 240 |
int32_t | viewportWidth = 320 |
double | zoom = 1.0 |
#define APPROX_DIST_STEP 0.2 |
Definition at line 42 of file keyboard_teleop.cpp.
#define APPROX_DIST_STEP_FAST 1 |
Definition at line 52 of file keyboard_teleop.cpp.
#define KEYCODE_1 0x31 |
Definition at line 23 of file keyboard_teleop.cpp.
#define KEYCODE_2 0x32 |
Definition at line 24 of file keyboard_teleop.cpp.
#define KEYCODE_3 0x33 |
Definition at line 25 of file keyboard_teleop.cpp.
#define KEYCODE_4 0x34 |
Definition at line 26 of file keyboard_teleop.cpp.
#define KEYCODE_5 0x35 |
Definition at line 27 of file keyboard_teleop.cpp.
#define KEYCODE_6 0x36 |
Definition at line 28 of file keyboard_teleop.cpp.
#define KEYCODE_A 0x61 |
Definition at line 9 of file keyboard_teleop.cpp.
#define KEYCODE_A_CAP 0x41 |
Definition at line 30 of file keyboard_teleop.cpp.
#define KEYCODE_B 0x62 |
Definition at line 18 of file keyboard_teleop.cpp.
#define KEYCODE_C 0x63 |
Definition at line 16 of file keyboard_teleop.cpp.
#define KEYCODE_D 0x64 |
Definition at line 10 of file keyboard_teleop.cpp.
#define KEYCODE_D_CAP 0x44 |
Definition at line 31 of file keyboard_teleop.cpp.
#define KEYCODE_E 0x65 |
Definition at line 14 of file keyboard_teleop.cpp.
#define KEYCODE_E_CAP 0x45 |
Definition at line 35 of file keyboard_teleop.cpp.
#define KEYCODE_F 0x66 |
Definition at line 20 of file keyboard_teleop.cpp.
#define KEYCODE_F_CAP 0x46 |
Definition at line 37 of file keyboard_teleop.cpp.
#define KEYCODE_K 0x6B |
Definition at line 22 of file keyboard_teleop.cpp.
#define KEYCODE_M 0x6D |
Definition at line 21 of file keyboard_teleop.cpp.
#define KEYCODE_Q 0x71 |
Definition at line 13 of file keyboard_teleop.cpp.
#define KEYCODE_Q_CAP 0x51 |
Definition at line 34 of file keyboard_teleop.cpp.
#define KEYCODE_R 0x72 |
Definition at line 19 of file keyboard_teleop.cpp.
#define KEYCODE_R_CAP 0x52 |
Definition at line 36 of file keyboard_teleop.cpp.
#define KEYCODE_S 0x73 |
Definition at line 11 of file keyboard_teleop.cpp.
#define KEYCODE_S_CAP 0x53 |
Definition at line 32 of file keyboard_teleop.cpp.
#define KEYCODE_SPACE 0x20 |
Definition at line 39 of file keyboard_teleop.cpp.
#define KEYCODE_V 0x76 |
Definition at line 17 of file keyboard_teleop.cpp.
#define KEYCODE_W 0x77 |
Definition at line 12 of file keyboard_teleop.cpp.
#define KEYCODE_W_CAP 0x57 |
Definition at line 33 of file keyboard_teleop.cpp.
#define KEYCODE_X 0x78 |
Definition at line 15 of file keyboard_teleop.cpp.
#define MOVE_STEP 0.2 |
Definition at line 41 of file keyboard_teleop.cpp.
#define MOVE_STEP_FAST 2 |
Definition at line 47 of file keyboard_teleop.cpp.
#define PAN_STEP 5 |
Definition at line 43 of file keyboard_teleop.cpp.
#define PAN_STEP_FAST 20 |
Definition at line 48 of file keyboard_teleop.cpp.
#define TILT_STEP 5 |
Definition at line 44 of file keyboard_teleop.cpp.
#define TILT_STEP_FAST 20 |
Definition at line 49 of file keyboard_teleop.cpp.
#define ZOOM_H_STEP 4 |
Definition at line 45 of file keyboard_teleop.cpp.
#define ZOOM_H_STEP_FAST 16 |
Definition at line 50 of file keyboard_teleop.cpp.
#define ZOOM_V_STEP 3 |
Definition at line 46 of file keyboard_teleop.cpp.
#define ZOOM_V_STEP_FAST 12 |
Definition at line 51 of file keyboard_teleop.cpp.
void cylindricResolutions | ( | ) |
Definition at line 109 of file keyboard_teleop.cpp.
void keyboardLoop | ( | ) |
Definition at line 153 of file keyboard_teleop.cpp.
int main | ( | int | argc, |
char ** | argv | ||
) |
Definition at line 349 of file keyboard_teleop.cpp.
void pinholeResolutions | ( | ) |
Handler for changing resolutions in pinhole camera model. Other handlers look the same. The lowest quality for all handlers should have around 20000 points.
Definition at line 99 of file keyboard_teleop.cpp.
void quit | ( | int | sig | ) |
Definition at line 125 of file keyboard_teleop.cpp.
void setOriginalValues | ( | ) |
Definition at line 131 of file keyboard_teleop.cpp.
void sphericalResolutions | ( | ) |
Definition at line 104 of file keyboard_teleop.cpp.
void updateResolutions | ( | ) |
Should be called everytime the model changes, FoV changes or quality changes;
Definition at line 120 of file keyboard_teleop.cpp.
double approxDistance = 3 |
Definition at line 79 of file keyboard_teleop.cpp.
std::string encoding |
Definition at line 92 of file keyboard_teleop.cpp.
double frameRate |
Definition at line 80 of file keyboard_teleop.cpp.
double horizontalFov = 60 |
Definition at line 74 of file keyboard_teleop.cpp.
int kfd = 0 |
Definition at line 88 of file keyboard_teleop.cpp.
int model = 0 |
Definition at line 67 of file keyboard_teleop.cpp.
std::string models[NUM_MODELS] = {"pinhole", "cylindric", "spherical"} |
Definition at line 65 of file keyboard_teleop.cpp.
std::string name |
Definition at line 92 of file keyboard_teleop.cpp.
const int NUM_MODELS = 3 |
Virtual camera control using keyboard Keys for control are displayed in ROS_INFO(), thus can be also found in this source code. Publishes: virtual camera input parameters
Definition at line 64 of file keyboard_teleop.cpp.
double origApproxDistance |
Definition at line 75 of file keyboard_teleop.cpp.
double origHeight |
Definition at line 75 of file keyboard_teleop.cpp.
double origHorizontalFov |
Definition at line 75 of file keyboard_teleop.cpp.
std::string origModel |
Definition at line 68 of file keyboard_teleop.cpp.
double origPan |
Definition at line 75 of file keyboard_teleop.cpp.
double origSynchronize |
Definition at line 75 of file keyboard_teleop.cpp.
double origTilt |
Definition at line 75 of file keyboard_teleop.cpp.
double origVerticalFov |
Definition at line 75 of file keyboard_teleop.cpp.
double origWidth |
Definition at line 75 of file keyboard_teleop.cpp.
double origX |
Definition at line 75 of file keyboard_teleop.cpp.
double origY |
Definition at line 75 of file keyboard_teleop.cpp.
double origZ |
Definition at line 75 of file keyboard_teleop.cpp.
double pan = 0 |
Definition at line 74 of file keyboard_teleop.cpp.
std::string parentFrameId |
Definition at line 92 of file keyboard_teleop.cpp.
ros::Publisher pub |
Definition at line 91 of file keyboard_teleop.cpp.
std::string pubTopic |
Definition at line 92 of file keyboard_teleop.cpp.
double pX = 0 |
Definition at line 77 of file keyboard_teleop.cpp.
double pY = 0 |
Definition at line 77 of file keyboard_teleop.cpp.
double pZ = 0 |
Definition at line 77 of file keyboard_teleop.cpp.
int quality = 4 |
Quality is coefficient of how many times the base resolution is multiplied. For the standard 160*120, 320*240, 640*460, 800*600 sequence, the quality values should go 1, 2, 4, 5;
Definition at line 86 of file keyboard_teleop.cpp.
struct termios cooked raw |
Definition at line 90 of file keyboard_teleop.cpp.
void(* resolutionHandlers[NUM_MODELS])() |
Definition at line 66 of file keyboard_teleop.cpp.
int synchronize = 0 |
Definition at line 78 of file keyboard_teleop.cpp.
double tilt = 0 |
Definition at line 74 of file keyboard_teleop.cpp.
double verticalFov = 45 |
Definition at line 74 of file keyboard_teleop.cpp.
int32_t viewportHeight = 240 |
Definition at line 73 of file keyboard_teleop.cpp.
int32_t viewportWidth = 320 |
Definition at line 73 of file keyboard_teleop.cpp.
double zoom = 1.0 |
Definition at line 89 of file keyboard_teleop.cpp.