在实际做项目的时候,常常需要创建新的ros包,但是每次新建ros包时都要重新编写CMakeLists.txt,而且依赖也需要手动输入,为了减少这种麻烦,做了一个自动生成ros包的工具,每次运行这个工具只需要手动勾选各个依赖,就能自动生成CMakeLists.txt和package.xml的模板。工具界面如下:
由于项目范围原因,目前第三方库只支持图中三种。
生成的ros包内部结构:
其中,include文件夹包含了一个常用的头文件common_headers.h:
#ifndef COMMON_HEADERS_H
#define COMMON_HEADERS_H
//c++
#include <iostream>
#include <cmath>
#include <cstdlib>
#include <algorithm>
#include <vector>
#include <queue>
#include <unordered_map>
#include <map>
#include <string>
#include <ctime>
#include <utility>
//pcl
#include <pcl/io/pcd_io.h>
#include <pcl_conversions/pcl_conversions.h>
#include <pcl/conversions.h>
#include <pcl_ros/transforms.h>
#include <pcl/point_types.h>
#include <opencv2/opencv.hpp>
#include <cv_bridge/cv_bridge.h>
#include <Eigen/Dense>
//ros
#include <ros/ros.h>
#include <sensor_msgs/PointCloud2.h>
#include <sensor_msgs/Imu.h>
#include <sensor_msgs/NavSatFix.h>
#include <visualization_msgs/Marker.h>
#include <visualization_msgs/MarkerArray.h>
#include <nav_msgs/Odometry.h>
#include <geometry_msgs/Point.h>
using namespace std;
#endif
src文件夹包含了一个main.cpp:
#include <ros/ros.h>
int main(int argc, char **argv)
{
ros::init(argc, argv, "test");
ros::NodeHandle nh;
return 0;
}
纯粹是为了方便和节省时间,x86版本下载地址:https://download.csdn.net/download/qq_38222947/85759924
x86架构ubuntu可直接运行:
解压后在终端打开,执行./AppRun
arm版本下载地址
解压后在终端打开,执行./create_ros_package