41 if (_sdf->HasElement(
"robot_namespace"))
44 "robot_namespace")->Get<std::string>() +
"/";
51 <<
"unable to load plugin. Load the Gazebo system plugin " 52 <<
"'libgazebo_ros_api_plugin.so' in the gazebo_ros package)");
56 std::string topic =
"conveyor/control";
57 if (_sdf->HasElement(
"topic"))
58 topic = _sdf->Get<std::string>(
"topic");
70 osrf_gear::ConveyorBeltControl::Request &_req,
71 osrf_gear::ConveyorBeltControl::Response &_res)
73 gzdbg <<
"Control command received\n";
ROSCPP_DECL bool isInitialized()
bool OnControlCommand(osrf_gear::ConveyorBeltControl::Request &_req, osrf_gear::ConveyorBeltControl::Response &_res)
Receives requests on the conveyor belt's topic.
ServiceServer advertiseService(const std::string &service, bool(T::*srv_func)(MReq &, MRes &), T *obj)
ROSConveyorBeltPlugin()
Constructor.
ros::NodeHandle * rosnode_
ros node handle
void Load(physics::ModelPtr _parent, sdf::ElementPtr _sdf)
Load the plugin.
virtual void Load(physics::ModelPtr _model, sdf::ElementPtr _sdf)
Load the model plugin.
#define ROS_FATAL_STREAM(args)
std::string robotNamespace_
for setting ROS name space
ros::ServiceServer controlService_
Receives service calls to control the conveyor belt.
ROS implementation of the ConveyorBeltPlugin plugin.
GZ_REGISTER_MODEL_PLUGIN(GazeboRosP3D)
virtual ~ROSConveyorBeltPlugin()
Destructor.
void SetVelocity(double velocity)
Set the state of the conveyor belt.