使用是github上六合机器人工坊的项目。
https://github.com/6-robot/wpr_simulation.git
运动模型如下所示:
实现思路:
为什么要使用/cmd_vel话题。因为这个是约定俗成的,项目中订阅的就是这个话题,否则无法订阅到主题或者更改项目的订阅者的源码
使用catkin_create_pkg 命令开具工具包,切换到catkin_ws下的src目录
vel_node节点的cpp文件
#vel_node.cpp
#include
#include
int main(int argc, char *argv[])
{
//初始化节点
ros::init(argc,argv,"vel_node");
ros::NodeHandle nh;
ros::Publisher pub=nh.advertise<geometry_msgs::Twist>("/cmd_vel",10);
//定义消息包
geometry_msgs::Twist vel_msgs;
vel_msgs.linear.x=0.2;
vel_msgs.linear.y=0.3;
vel_msgs.linear.z=0;
vel_msgs.angular.x=0;
vel_msgs.angular.y=0;
vel_msgs.angular.z=0;
ros::Rate r(30);
//开始持续发布消息
while(ros::ok())
{
pub.publish(vel_msgs);
r.sleep();
}
return 0;
}
备注:Cmakelist.txt文件末尾加上,vscode的编译规则
add_executable(vel_node src/vel_node.cpp)
add_dependencies(vel_node KaTeX parse error: Expected '}', got 'EOF' at end of input: {{PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
target_link_libraries(vel_node
${catkin_LIBRARIES}
)