#include "ros/ros.h" #include "geometry_msgs/Twist.h" #include "geometry_msgs/Vector3.h" int main(int argc, char ** argv){ ros::init(argc, argv, "sendCMD2Turtule"); ros::NodeHandle nodeHandle; ros::Publisher cmdPub = nodeHandle.advertise<geometry_msgs::Twist>("/turtle1/cmd_vel" , 1000); ros::Rate loop_rate(1); while(ros::ok()){ geometry_msgs::Twist twist; geometry_msgs::Vector3 setLinear; setLinear.x = 1.0f; twist.linear = setLinear; ROS_INFO("liner x: %f, moving!", 1.0f); cmdPub.publish(twist); ros::spinOnce(); loop_rate.sleep(); } return 0; }
My turtlesim control node.
and CMakeLists.txt:
find_package(catkin REQUIRED COMPONENTS roscpp rospy std_msgs message_generation geometry_msgs ) catkin_package( # INCLUDE_DIRS include # LIBRARIES beginner_tutorials CATKIN_DEPENDS message_runtime roscpp rospy std_msgs geometry_msgs # DEPENDS system_lib ) generate_messages( DEPENDENCIES std_msgs geometry_msgs ) ... add_executable(sendCmd2TurtleSim src/sendCmd2TurtleSim.cpp) target_link_libraries(sendCmd2TurtleSim ${catkin_LIBRARIES}) add_dependencies(sendCmd2TurtleSim beginner_tutorials_generate_messages_cpp)
package.xml:
<build_depend>geometry_msgs</build_depend> <run_depend>geometry_msgs</run_depend>