安装步骤参考官网:
noetic/Installation/Ubuntu - ROS Wiki
注意:
上面的步骤有可能报错:gpg: no valid OpenPGP data found.
解决办法:手动下载ros的keys,然后添加,具体命令如下:
- wget http://packages.ros.org/ros.key
- sudo apt-key add ros.key
- sudo apt-get update --fix-missing
文档可以参考官网:
讲解不错的链接如下:
ROS工程结构及程序运行步骤,ROS编写cpp节点创建_臭皮匠-hfW的博客-CSDN博客
Slam学习笔记——ROS踩坑记录_starvapour的博客-CSDN博客
附加知识:
1、VSCode中配置ROS的CMakeLists配置可参考下文:
关于ROS包中CMakeList.txt中几个常用的命令的作用 ——————(一)_hymwgk的博客-CSDN博客
2、demo如下:
CMakelists中添加配置ROS语句为下面带仅ROS注释的几句,复制带ROS的几句即可完成VSCode中ROS的配置;其他的配置是项目中的CMakelist配置文件,如需要参考整个工程,可参考VSCode中配置ros环境-C++文档类资源-CSDN文库
- cmake_minimum_required(VERSION 3.0) #设置最小需要的版本
- project(MAIN) #生成的工程名---Must------
-
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") #增加c++11的编译环境
-
- add_definitions("-Wall -g") #带调试信息的编译s
-
- set(HELPER_DIR ${PROJECT_SOURCE_DIR}/Helper) #设置变量信息,子文件夹的CMakeLists也可见
- set(BASIC_DIR ${PROJECT_SOURCE_DIR}/BasicLogic/include)
- set(UILOGIC_DIR ${PROJECT_SOURCE_DIR}/UILogic/include)
-
- #ROS头文件查找返回到catkin_INCLUDE_DIRS,库文件返回到catkin_LIBRARIES
- find_package(catkin REQUIRED COMPONENTS
- roscpp
- rospy
- std_msgs
- message_generation
- )
-
- add_subdirectory(BasicLogic) #编译子文件夹的CMakeLists.txt文件。子文件夹名称必须和子文件夹名称相同
-
- #ROS头文件
- include_directories(${PROJECT_SOURCE_DIR} ${BASIC_DIR} ${UILOGIC_DIR}
- ${catkin_INCLUDE_DIRS}
- ) #头文件夹路径的包含路径 ---Must------
-
- add_executable(${PROJECT_NAME} ./UILogic/src/UILogic.cpp main.cpp) #生成可执行文件的名称,和 编译的cpp文件---Must------
-
- #ROS的静态库${catkin_LIBRARIES}
- target_link_libraries(${PROJECT_NAME} BasicLogic
- ${catkin_LIBRARIES}
- ) #链接库操作,--可执行文件名称,链接库文件名称(必须和子文件生成库文件名称一致)。