gen_rest_poses.hh File Reference

Obtain object rest poses. More...

#include <gazebo/gazebo_client.hh>
#include <gazebo/gazebo_config.h>
#include <gazebo/transport/transport.hh>
#include <gazebo/msgs/msgs.hh>
#include <iostream>
#include <chrono>
#include <thread>
#include "yaml-cpp/yaml.h"
#include "MessageTypes.hh"
#include "MessageTopics.hh"
#include "RestPose.hh"
#include "object_utils.hh"
#include "debug.hh"

Go to the source code of this file.

Macros

#define REQ_REST_POSE   grasp::msgs::TargetRequest::GET_REST_POSE
 Update rest pose request. More...
 
#define RES_POSE   grasp::msgs::TargetResponse::POSE
 Current pose response. More...
 
#define RES_REST_POSE   grasp::msgs::TargetResponse::REST_POSE
 Updated rest pose response. More...
 

Typedefs

typedef grasp::msgs::TargetRequest TargetRequest
 Declaration for request message type. More...
 
typedef const boost::shared_ptr< const grasp::msgs::TargetRequestTargetRequestPtr
 Shared pointer declaration for request message type. More...
 
typedef grasp::msgs::TargetResponse TargetResponse
 Declaration for response message type. More...
 
typedef const boost::shared_ptr< const grasp::msgs::TargetResponseTargetResponsePtr
 Shared pointer declaration for response message type. More...
 

Functions

const std::string getUsage (const char *argv_0)
 Obtains usage string. More...
 
void parseArgs (int argc, char **argv, std::string &obj_cfg_dir, std::string &out_rest_dir)
 Parses command-line arguments. More...
 
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. More...
 
void obtainTargets (std::vector< std::string > &targets, const std::string &file_name)
 Obtain list of models' names in dataset yml. More...
 
void getTargetRestPose (gazebo::transport::PublisherPtr pub)
 Requests target object rest pose. More...
 
bool waitingTrigger (std::mutex &mutex, bool &trigger)
 Returns whether to keep waiting for trigger. More...
 
void onTargetResponse (TargetResponsePtr &_msg)
 Callback for Target plugin response. More...
 
void waitMs (int delay)
 Waits for delay milliseconds. More...
 

Detailed Description

Obtain object rest poses.

Drop each object in dataset from given pose and record rest pose

Author
João Borrego : jsbruglie

Macro Definition Documentation

#define REQ_REST_POSE   grasp::msgs::TargetRequest::GET_REST_POSE

Update rest pose request.

#define RES_POSE   grasp::msgs::TargetResponse::POSE

Current pose response.

#define RES_REST_POSE   grasp::msgs::TargetResponse::REST_POSE

Updated rest pose response.

Typedef Documentation

typedef grasp::msgs::TargetRequest TargetRequest

Declaration for request message type.

typedef const boost::shared_ptr<const grasp::msgs::TargetRequest> TargetRequestPtr

Shared pointer declaration for request message type.

typedef grasp::msgs::TargetResponse TargetResponse

Declaration for response message type.

typedef const boost::shared_ptr<const grasp::msgs::TargetResponse> TargetResponsePtr

Shared pointer declaration for response message type.

Function Documentation

void getTargetRestPose ( gazebo::transport::PublisherPtr  pub)

Requests target object rest pose.

Parameters
pubPublisher to target's topic
const std::string getUsage ( const char *  argv_0)

Obtains usage string.

Parameters
argv_0Name of the executable
Returns
String with command-line usage
void obtainTargets ( std::vector< std::string > &  targets,
const std::string &  file_name 
)

Obtain list of models' names in dataset yml.

Parameters
targetsOutput list of model names
file_nameInput dataset config yml

Obtain list of models' names in dataset yml.

void onTargetResponse ( TargetResponsePtr _msg)

Callback for Target plugin response.

void parseArgs ( int  argc,
char **  argv,
std::string &  obj_cfg_dir,
std::string &  out_rest_dir 
)

Parses command-line arguments.

Parameters
argcArgument count
argvArguments
obj_cfg_dirPath to object dataset yaml
out_rest_dirDirectory for output rest poses
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.

Parameters
nodeGazebo communication node pointer
pubsResulting map of publishers
subsResulting map of subscribers
bool waitingTrigger ( std::mutex &  mutex,
bool &  trigger 
)

Returns whether to keep waiting for trigger.

Parameters
mutexMutex that protects trigger variable
triggerTrigger boolean variable
Returns
True as long as trigger is false, false otherwise
void waitMs ( int  delay)
inline

Waits for delay milliseconds.

Parameters
delayDelay in milliseconds

Waits for delay milliseconds.