ROS机器人的一行命令(API)和一段代码(APP)

2022-05-01 10:41:09 浏览数 (1)

这是课程中的一个案例:

代码实现如下:

代码语言:javascript复制
#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.1 0.0001*count;
		vel_msg.angular.z = 0.2;
		count  ;
      
		turtle_vel_pub.publish(vel_msg);
		ROS_INFO("Publsh turtle velocity command[%0.2f m/s, %0.2f rad/s]", 
				vel_msg.linear.x, vel_msg.angular.z);

	    loop_rate.sleep();
	}

	return 0;
}

rqt等效:

主要想说明简单案例调试时间成本差异。

实现同样的功能所花费的时间,效率提升非常明显

为什么报错?

0 人点赞