gen_renders.hh
Go to the documentation of this file.
1 
10 #ifndef _GEN_RENDERS_HH_
11 #define _GEN_RENDERS_HH_
12 
13 // Gazebo
14 #include <gazebo/gazebo_client.hh>
15 #include <gazebo/gazebo_config.h>
16 #include <gazebo/transport/transport.hh>
17 #include <gazebo/msgs/msgs.hh>
18 // I/O streams
19 #include <iostream>
20 // Sleep
21 #include <chrono>
22 #include <thread>
23 // Open YAML config files
24 #include "yaml-cpp/yaml.h"
25 
26 // Custom messages
27 #include "MessageTypes.hh"
28 #include "MessageTopics.hh"
29 // Grasp representation
30 #include "Grasp.hh"
31 // Tools
32 #include "object_utils.hh"
33 // Debug streams
34 #include "debug.hh"
35 
36 // Type enums
37 
38 // Camera plugin
39 
41 #define REQ_CAPTURE grasp::msgs::CameraRequest::CAPTURE
42 #define REQ_MOVE grasp::msgs::CameraRequest::MOVE
44 #define REQ_PREFIX grasp::msgs::CameraRequest::PREFIX
46 #define RES_CAPTURE grasp::msgs::CameraResponse::CAPTURE
48 #define RES_MOVE grasp::msgs::CameraResponse::MOVE
50 #define RES_PREFIX grasp::msgs::CameraResponse::PREFIX
52 
53 // Message type definitions
54 
58 typedef const boost::shared_ptr<const grasp::msgs::CameraRequest>
63 typedef const boost::shared_ptr<const grasp::msgs::CameraResponse>
65 
68 
69 // Functions
70 
74 const std::string getUsage(const char* argv_0);
75 
84 void parseArgs(
85  int argc,
86  char** argv,
87  std::string & obj_cfg_dir,
88  std::string & obj_rest_dir,
89  std::string & grasp_cfg_dir,
90  std::string & out_img_dir,
91  std::string & robot);
92 
98  gazebo::transport::NodePtr & node,
99  std::map<std::string, gazebo::transport::PublisherPtr> & pubs,
100  std::map<std::string, gazebo::transport::SubscriberPtr> & subs);
101 
103 void obtainTargets(std::vector<std::string> & targets,
104  const std::string & file_name);
105 
107 void changeImagePrefix(gazebo::transport::PublisherPtr pub,
108  const std::string & prefix);
109 
111 void captureFrame(gazebo::transport::PublisherPtr pub);
112 
114 void moveCamera(gazebo::transport::PublisherPtr pub,
115  ignition::math::Pose3d & pose);
116 
121 bool waitingTrigger(std::mutex & mutex, bool & trigger);
122 
125 
127 void inline waitMs(int delay);
128 
129 #endif
const std::string getUsage(const char *argv_0)
Obtains usage string.
Definition: gen_renders.cc:130
void captureFrame(gazebo::transport::PublisherPtr pub)
TODO.
Definition: gen_renders.cc:247
void waitMs(int delay)
TODO.
Definition: gen_renders.cc:286
Protobuf message types header.
void onCameraResponse(CameraResponsePtr &_msg)
TODO.
Definition: gen_renders.cc:279
void obtainTargets(std::vector< std::string > &targets, const std::string &file_name)
TODO.
Definition: gen_renders.cc:212
grasp::msgs::CameraRequest CameraRequest
Declaration for request message type.
Definition: gen_renders.hh:56
void moveCamera(gazebo::transport::PublisherPtr pub, ignition::math::Pose3d &pose)
TODO.
Definition: gen_renders.cc:255
Grasp representation.
void changeImagePrefix(gazebo::transport::PublisherPtr pub, const std::string &prefix)
TODO.
Definition: gen_renders.cc:237
bool waitingTrigger(std::mutex &mutex, bool &trigger)
Returns whether to keep waiting for trigger.
Definition: gen_renders.cc:268
void setupCommunications(gazebo::transport::NodePtr &node, std::map< std::string, gazebo::transport::PublisherPtr > &pubs, std::map< std::string, gazebo::transport::SubscriberPtr > &subs)
Sets up gazebo communication pubs/subs.
Definition: gen_renders.cc:190
Object related utilities.
void parseArgs(int argc, char **argv, std::string &obj_cfg_dir, std::string &obj_rest_dir, std::string &grasp_cfg_dir, std::string &out_img_dir, std::string &robot)
Parses command-line arguments.
Definition: gen_renders.cc:142
grasp::msgs::CameraResponse CameraResponse
Declaration for response message type.
Definition: gen_renders.hh:61
const boost::shared_ptr< const grasp::msgs::CameraResponse > CameraResponsePtr
Shared pointer declaration for response message type.
Definition: gen_renders.hh:64
Default gazebo grasp custom message topics.
grasp::msgs::TargetRequest TargetRequest
Declaration for request message type.
Definition: gen_renders.hh:67
const boost::shared_ptr< const grasp::msgs::CameraRequest > CameraRequestPtr
Shared pointer declaration for request message type.
Definition: gen_renders.hh:59