I followed the tutorial(animated box) here: Animated box. After I 'make' it in the build folder, I got the error in the file independent_listener.cc
error: ‘setupClient’ is not a member of ‘gazebo’
What's the matter?
PS. I use gazebo 1.9 with ROS hydro on Ubuntu 12.04 LTS. The content of independent_listener.cc:
#include <gazebo/transport/transport.hh>
#include <gazebo/msgs/msgs.hh>
#include <gazebo/gazebo.hh>
#include <iostream>
/////////////////////////////////////////////////
// Function is called every time a message is received.
void posesStampedCallback(ConstPosesStampedPtr &posesStamped)
{
std::cout << posesStamped->DebugString();
::google::protobuf::int32 sec = posesStamped->time().sec();
::google::protobuf::int32 nsec = posesStamped->time().nsec();
std::cout << "Read time: sec: " << sec << " nsec: " << nsec << std::endl;
for (int i =0; i < posesStamped->pose_size(); ++i)
{
const ::gazebo::msgs::Pose &pose = posesStamped->pose(i);
std::string name = pose.name();
if (name == std::string("box"))
{
const ::gazebo::msgs::Vector3d &position = pose.position();
double x = position.x();
double y = position.y();
double z = position.z();
std::cout << "Read position: x: " << x
<< " y: " << y << " z: " << z << std::endl;
}
}
}
/////////////////////////////////////////////////
int main(int _argc, char **_argv)
{
// Load gazebo
gazebo::setupClient(_argc, _argv);
// Create our node for communication
gazebo::transport::NodePtr node(new gazebo::transport::Node());
node->Init();
// Listen to Gazebo pose info topic
gazebo::transport::SubscriberPtr sub =
node->Subscribe("~/pose/info", posesStampedCallback);
// Busy wait loop...replace with your own code as needed.
while (true)
gazebo::common::Time::MSleep(10);
// Make sure to shut everything down.
gazebo::shutdown();
}
Originally posted by winston on Gazebo Answers with karma: 449 on 2015-03-02
Post score: 1