文章目录
- 运行环境:
- 1.1 vscode 环境配置:
- 1)ctrl+shift+X 添加扩展插件:
- 2)ctrl+shift+B 配置中更换为以下代码
- 1.2 C++代码实现
- 1)工作空间创建和编译
- 2)功能包创建和添加依赖
- 3)新建.cpp文件
- 4)修改CMakeList
- 5)运行 C++ 节点
- 2.1 python代码实现
- 1)在 功能包 下新建 scripts 文件夹
- 2)添加 python 文件
- 3)修改CMakeList
- 4)运行 Python 节点
运行环境:
ubuntu20.04 noetic
宏基暗影骑士笔记本
1.1 vscode 环境配置:
1)ctrl+shift+X 添加扩展插件:
C/C++、Python 、ROS、CMake Tools
2)ctrl+shift+B 配置中更换为以下代码
{// 有关 tasks.json 格式的文档,请参见// https://go.microsoft.com/fwlink/?LinkId=733558"version": "2.0.0","tasks": [{"label": "catkin_make:debug", //代表提示的描述性信息"type": "shell", //可以选择shell或者process,如果是shell代码是在shell里面运行一个命令,如果是process代表作为一个进程来运行"command": "catkin_make",//这个是我们需要运行的命令"args": [],//如果需要在命令后面加一些后缀,可以写在这里,比如-DCATKIN_WHITELIST_PACKAGES=“pac1;pac2”"group": {"kind":"build","isDefault":true},"presentation": {"reveal": "always"//可选always或者silence,代表是否输出信息},"problemMatcher": "$msCompile"}]}
1.2 C++代码实现
1)工作空间创建和编译
mkdir -p time_syn_ws/src
cd time_syn_ws
catkin_make# 打开vscode
code .
2)功能包创建和添加依赖
在工作空间src目录下创建功能包
time_syn
roscpp rospy std_msgs
3)新建.cpp文件
在功能包src目录下新建.cpp文件
#include "ros/ros.h"int main(int argc, char *argv[])
{//执行 ros 节点初始化ros::init(argc,argv,"hello");//创建 ros 节点句柄(非必须)ros::NodeHandle n;//控制台输出 hello worldROS_INFO("hello world!");return 0;
}
4)修改CMakeList
# 将源文件 src/demo01_pub.cpp 编译成可执行文件 demo01_pub.cpp
add_executable(demo01.cpp src/demo01.cpp)target_link_libraries(demo01.cpp${catkin_LIBRARIES}
)
5)运行 C++ 节点
ctrl+shift+B
source ./devel/setup.bash# rosrun 包名 + 可执行文件名
rosrun time_syn demo01.cpp
设置永久环境变量(不用每次打开一个终端都要source ./devel/setup.bash)
gedit ~/.bashrc
# source 工作空间路径/devel/setup.bash
source /home/duduzai/time_syn_ws/devel/setup.bash
2.1 python代码实现
1)在 功能包 下新建 scripts 文件夹
2)添加 python 文件
3)修改CMakeList
catkin_install_python(PROGRAMSscripts/demo02.pyDESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
4)运行 Python 节点
source ./devel/setup.bash
rosrun time_syn demo01.cpp