#include <GazeboObjectInfo.h>
Public Types | |
typedef object_msgs::ObjectInfo | ObjectInfoMsg |
typedef object_msgs::Object | ObjectMsg |
Public Member Functions | |
GazeboObjectInfo () | |
void | Load (physics::WorldPtr _world, sdf::ElementPtr _sdf) |
Private Member Functions | |
void | advertEvent (const ros::TimerEvent &e) |
ObjectMsg | createBoundingBoxObject (physics::ModelPtr &model, bool include_shape) |
shape_msgs::SolidPrimitive * | getSolidPrimitive (physics::CollisionPtr &c) |
void | onWorldUpdate () |
bool | requestObject (object_msgs::ObjectInfo::Request &req, object_msgs::ObjectInfo::Response &res) |
Private Attributes | |
std::vector< ObjectMsg > | lastGeneratedObjects |
ros::Publisher | object_pub |
bool | PUBLISH_OBJECTS |
ros::Timer | publishTimer |
bool | reGenerateObjects |
ros::ServiceServer | request_object_srv |
std::string | REQUEST_OBJECTS_TOPIC |
std::string | ROOT_FRAME_ID |
event::ConnectionPtr | update_connection |
physics::WorldPtr | world |
std::string | WORLD_OBJECTS_TOPIC |
A Gazebo *World* plugin which publishes information about objects in the gazebo world via a ROS message (object_msgs::Object). Until now, only bounding box representations of the objects are supported.
Also provides a service to request information about an object directly.
The plugin parameters can be specified in a YAML file, which needs to be loaded onto the parameter server under **namespace gazebo_state_plugins**, as follows:
``` # Continuously publish info of gazebo objects? publish_world_objects: true
# the topic onto which to publish object info of # type object_msgs/Object world_objects_topic: "/gazebo_objects"
# The topic onto which to publish the service # which can be used to request object info request_object_service: "/gazebo_objects/get_info"
# frame of the objects poses that will be published. # Should usually be 'world' objects_frame_id: "world" ```
Definition at line 49 of file GazeboObjectInfo.h.
typedef object_msgs::ObjectInfo gazebo::GazeboObjectInfo::ObjectInfoMsg |
Definition at line 53 of file GazeboObjectInfo.h.
typedef object_msgs::Object gazebo::GazeboObjectInfo::ObjectMsg |
Definition at line 52 of file GazeboObjectInfo.h.
Definition at line 26 of file GazeboObjectInfo.cpp.
void GazeboObjectInfo::advertEvent | ( | const ros::TimerEvent & | e | ) | [private] |
Definition at line 78 of file GazeboObjectInfo.cpp.
GazeboObjectInfo::ObjectMsg GazeboObjectInfo::createBoundingBoxObject | ( | physics::ModelPtr & | model, |
bool | include_shape | ||
) | [private] |
Definition at line 177 of file GazeboObjectInfo.cpp.
shape_msgs::SolidPrimitive * GazeboObjectInfo::getSolidPrimitive | ( | physics::CollisionPtr & | c | ) | [private] |
Definition at line 108 of file GazeboObjectInfo.cpp.
void GazeboObjectInfo::Load | ( | physics::WorldPtr | _world, |
sdf::ElementPtr | _sdf | ||
) |
Definition at line 31 of file GazeboObjectInfo.cpp.
void GazeboObjectInfo::onWorldUpdate | ( | ) | [private] |
Definition at line 89 of file GazeboObjectInfo.cpp.
bool GazeboObjectInfo::requestObject | ( | object_msgs::ObjectInfo::Request & | req, |
object_msgs::ObjectInfo::Response & | res | ||
) | [private] |
Definition at line 59 of file GazeboObjectInfo.cpp.
std::vector<ObjectMsg> gazebo::GazeboObjectInfo::lastGeneratedObjects [private] |
Definition at line 90 of file GazeboObjectInfo.h.
Definition at line 84 of file GazeboObjectInfo.h.
bool gazebo::GazeboObjectInfo::PUBLISH_OBJECTS [private] |
Definition at line 76 of file GazeboObjectInfo.h.
Definition at line 88 of file GazeboObjectInfo.h.
bool gazebo::GazeboObjectInfo::reGenerateObjects [private] |
Definition at line 91 of file GazeboObjectInfo.h.
Definition at line 86 of file GazeboObjectInfo.h.
std::string gazebo::GazeboObjectInfo::REQUEST_OBJECTS_TOPIC [private] |
Definition at line 78 of file GazeboObjectInfo.h.
std::string gazebo::GazeboObjectInfo::ROOT_FRAME_ID [private] |
Definition at line 79 of file GazeboObjectInfo.h.
Definition at line 83 of file GazeboObjectInfo.h.
physics::WorldPtr gazebo::GazeboObjectInfo::world [private] |
Definition at line 81 of file GazeboObjectInfo.h.
std::string gazebo::GazeboObjectInfo::WORLD_OBJECTS_TOPIC [private] |
Definition at line 77 of file GazeboObjectInfo.h.