#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>