/* * Copyright (C) 2012 Open Source Robotics Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ #include #include #include #include #include ///////////////////////////////////////////////// int main(int _argc, char **_argv) { // Load gazebo gazebo::client::setup(_argc, _argv); // Create our node for communication gazebo::transport::NodePtr node(new gazebo::transport::Node()); node->Init(); // Publish to a Gazebo topic gazebo::transport::PublisherPtr pub = node->Advertise("~/pose_example"); // Wait for a subscriber to connect pub->WaitForConnection(); // Publisher loop...replace with your own code. while (true) { // Throttle Publication gazebo::common::Time::MSleep(100); // Generate a pose ignition::math::Pose3d pose(1, 2, 3, 4, 5, 6); // Convert to a pose message gazebo::msgs::Pose msg; gazebo::msgs::Set(&msg, pose); pub->Publish(msg); } // Make sure to shut everything down. gazebo::client::shutdown(); }