我们知道,ROS内置了一个小乌龟的样例程序。我们不仅可以通过键盘控制小乌龟的运动,也可以通过编码改变小乌龟的运动
首先我们要了解乌龟运动的两个参数,线速度和角速度,线速度用于控制乌龟运动的速度和基本维向(前后,左右,上下),角速度具体控制乌龟的运动方向。
线速度有三个参数:x(前后),y(左右),z(上下);而角速度有三个参数:x(翻滚),y(俯仰),z(偏航)。这些参数可以非常细节的控制这些对象的移动。而对于小乌龟,我们只需要运用线速度的x参数和角速度的z参数即可。
首先我们先创建功能包,创建文件twist.cpp:
#include "ros/ros.h"
#include "geometry_msgs/Twist.h"
int main(int argc,char* argv[]){
setlocale(LC_ALL,"");
ros::init(argc,argv,"twist");
ros::NodeHandle n;
ros::Publisher pub=n.advertise<geometry_msgs::Twist>("/turtle1/cmd_vel",10);
ros::Rate rate(5);
geometry_msgs::Twist twist;
twist.linear.x=1.0;
twist.linear.y=1.0;
twist.linear.z=1.0;
twist.angular.x=0.0;//rolling
twist.angular.y=0.0;//pitch
twist.a