接着古月居继续学习
Master(控制所以的部件)
publisher(发布Node) >>> topic(就是用来链接) >>> subscriber(收信息的Node)
去到workspace里的src那层
1 catkin_create_pkg learning_topic roscpp rospy stdmsgs geometry turtlesim: 创建publisher
2 自己敲代码吧,文件名字velocity_publisher.cpp
#include <ros/ros.h>
#include <geometry_msgs/Twist.h>
int main(int argc, char **argv)
{
ros::init(argc, argv, "velocity_publisher");
ros::NodeHandle n;
ros::Publisher turtle_vel_pub = n.advertise<geometry_msgs::Twist>("/turtle1/cmd_vel", 10);
ros::Rate loop_rate(10);
int count = 0;
while(ros::ok())
{
geometry_msgs::Twist vel_msg;
vel_msg.linear.x = 0.5;
vel_msg.angular.z = 0.2;
turtle_vel_pub.publish(vel_msg);
ROS_INFO("Publish turtle velocatiy command[%0.2f m/s %0.2f rad/s]", vel_msg.linear.x, vel_msg.angular.z);
loop_rate.sleep();
}
}
3 代码好了就要设置编译,在learning_topic里面的CMakeLists 添加
add_executable(velocity_publisher src/velocity_publisher.cpp)
target_link_libraries(velocity_publisher ${catkin_LIBRARIES})
#############
## Install ##
#############
添加在 Build 和 Install 之间。粘贴在 Install 上面那行就可以了。
4 准备工作好了,去到workspace那层, catkin_make
5 source devel/setup.bash(设置环境变量)
走起
6 roscore
7 rosrun turtlesim turtlesim_node
8 rosrun learning_topic velocity_publisher
看看你的龟,会不会转圈。
还是没有图片。。。。