gen_rest_poses.hh
Go to the documentation of this file.
1 
10 #ifndef _GEN_REST_POSES_HH_
11 #define _GEN_REST_POSES_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 // Write rest poses to file
30 #include "RestPose.hh"
31 // Tools
32 #include "object_utils.hh"
33 // Debug streams
34 #include "debug.hh"
35 
36 // Type enums
37 
38 // Target Plugin
39 
41 #define REQ_REST_POSE grasp::msgs::TargetRequest::GET_REST_POSE
42 #define RES_POSE grasp::msgs::TargetResponse::POSE
44 #define RES_REST_POSE grasp::msgs::TargetResponse::REST_POSE
46 
47 // Message type definitions
48 
52 typedef const boost::shared_ptr<const grasp::msgs::TargetRequest>
57 typedef const boost::shared_ptr<const grasp::msgs::TargetResponse>
59 
60 // Functions
61 
65 const std::string getUsage(const char* argv_0);
66 
72 void parseArgs(
73  int argc,
74  char** argv,
75  std::string & obj_cfg_dir,
76  std::string & out_rest_dir);
77 
83  gazebo::transport::NodePtr & node,
84  std::map<std::string, gazebo::transport::PublisherPtr> & pubs,
85  std::map<std::string, gazebo::transport::SubscriberPtr> & subs);
86 
90 void obtainTargets(std::vector<std::string> & targets,
91  const std::string & file_name);
92 
95 void getTargetRestPose(gazebo::transport::PublisherPtr pub);
96 
101 bool waitingTrigger(std::mutex & mutex, bool & trigger);
102 
105 
108 void inline waitMs(int delay);
109 
110 #endif
void parseArgs(int argc, char **argv, std::string &obj_cfg_dir, std::string &out_rest_dir)
Parses command-line arguments.
Definition: gen_rest_poses.cc:102
Protobuf message types header.
const boost::shared_ptr< const grasp::msgs::TargetResponse > TargetResponsePtr
Shared pointer declaration for response message type.
Definition: gen_rest_poses.hh:58
RestPose tools.
grasp::msgs::TargetRequest TargetRequest
Declaration for request message type.
Definition: gen_rest_poses.hh:50
Object related utilities.
void onTargetResponse(TargetResponsePtr &_msg)
Callback for Target plugin response.
Definition: gen_rest_poses.cc:203
grasp::msgs::TargetResponse TargetResponse
Declaration for response message type.
Definition: gen_rest_poses.hh:55
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
void getTargetRestPose(gazebo::transport::PublisherPtr pub)
Requests target object rest pose.
Definition: gen_rest_poses.cc:184
const boost::shared_ptr< const grasp::msgs::TargetRequest > TargetRequestPtr
Shared pointer declaration for request message type.
Definition: gen_rest_poses.hh:53
const std::string getUsage(const char *argv_0)
Obtains usage string.
Definition: gen_renders.cc:130
Default gazebo grasp custom message topics.
void obtainTargets(std::vector< std::string > &targets, const std::string &file_name)
Obtain list of models&#39; names in dataset yml.
Definition: gen_renders.cc:212
void waitMs(int delay)
Waits for delay milliseconds.
Definition: gen_renders.cc:286