由于Python是一种脚本语言,时效性不是很好不利于嵌入式系统的开发,因此我们需要时效性更好的 c 或 cpp 作为开发语言。,在上一节中使用Python实现了对SmartCar的控制,这一节将会把上一节使用的 Python 语言转化为 C++ 语言。
新建工程包:
catkin_create_pkg smartcar_cpp rospy geometry_msgs std_msgs roscpp
在该包目录下的src文件夹下创建CPP文件 smart_op.cpp,内容如下:
#include <boost/thread/thread.hpp>
#include <ros/ros.h>
#include <geometry_msgs/Twist.h>
int main(int argc, char **argv){
ros::init(argc, argv, "smartcar_cpp_node");
geometry_msgs::Twist cmdvel_;
ros::NodeHandle n_;
ros::Publisher pub_;
ros::Rate loop_rate(10);
pub_ = n_.advertise<geometry_msgs::Twist>("cmd_vel", 1);
cmdvel_.linear.x = 0.2;
cmdvel_.angular.z = 0.5;
while (ros::ok()){
pub_.publish(cmdvel_);
ros::spinOnce();
loop_rate.sleep();
}
return 0;
}
更改包目录下的CMakeLi