使用VSCode配置Ros开发环境

文章目录

  • 1.安装vscode
  • 2.安装VSCode必要的插件
  • 3.创建一个Ros工作空间
  • 4.创建一个Ros功能包
  • 5.Ros环境变量永久配置
  • 6.运行Ros节点

1.安装vscode

从 Ubuntu Software Apps 安装的VSCode是 snap 软件包,也就是非 VSCode 官方编译发布的安装包(销减版),存在中文输入法bug,建议在 VSCode 官网下载安装正式版本即可。使用VSCode配置Ros开发环境_第1张图片注意:已提前安装好ros-noetic版本

2.安装VSCode必要的插件

使用VSCode配置Ros开发环境_第2张图片

3.创建一个Ros工作空间

mkdir my_workspace
cd my_workspace && mkdir src
cd src && catkin_init_workspace
cd .. 
code .

打开VSCode之后,第二步安装的ROS插件就会自动识别到这个workspace,同时会出现一个文件夹.vscode里面有两个json文件:

c_cpp_properties.json
settings.json

点击菜单栏: Terminal->Configure default build task,然后生成在.vscode的文件夹出现并同时打开一个task.json文件。
将task.json 文件内容改成如下:

{
	"version": "2.0.0",
	"tasks": [
		{
			"label": "catkin_make",
			"type": "shell",
			"command": "catkin_make",
			"args": [
				"-j4",
				"-DCMAKE_BUILD_TYPE=Release",
				"-DCMAKE_EXPORT_COMPILE_COMMANDS=1",
				"-DCMAKE_CXX_STANDARD=14"
			],
			"problemMatcher": [
				"$catkin-gcc"
			],
			"group": {
				"kind": "build",
				"isDefault": true
			}
		}
	]
}

4.创建一个Ros功能包

cd my_workspace/src
catkin_creat_pkg hello_vscode roscpp rospy std_msgs //包名 + 依赖

在功能包hello_vscode的src目录下建立一个hello_vscode.cpp文件
输入以下的测试代码:

#include "ros/ros.h"
#include "std_msgs/String.h"

int main(int argc, char *argv[])
{
    //初始化ros节点
    ros::init(argc, argv, "hello");
    //创建节点句柄
    ros::NodeHandle n;
    ros::Publisher pub_1 = n.advertise<std_msgs::String>("talking", 100); 
    //设置循环频率
    ros::Rate loop_rate(1);
    int count = 0;
    //循环打印输出消息
    while (ros::ok())
    {
        //定义消息的内容
        std_msgs::String msg;
        //定义字符串流
        std::stringstream ss;
        ss << "hello vscode!" << count;
        msg.data = ss.str();
        //输出消息
        ROS_INFO("i am talking! %d times! %s", count, msg.data.c_str());
        pub_1.publish(msg);
        //循环等待回调函数
        ros::spinOnce(); //本例中没有回调函数
        //按循环频率延时
        loop_rate.sleep();
        ++count;

    }
    
    return 0;

}

在CMakeLists.txt下添加执行文件和链接库:

add_executable(hello src/hello_vscode.cpp) //第一个参数可以修改节点名称

target_link_libraries(hello ${catkin_LIBRARIES})

ctrl + shift+B 自动编译并在devel/lib下面生成节点执行文件 ,在workapace下build下面会生成一个compile_commands.json的文件,该文件规定了到哪里去编译什么文件。

5.Ros环境变量永久配置

echo "source /my_workspace/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

6.运行Ros节点

在VSCode软件界面下,ctrl + shift + ~打开输入命令控制台,输入:

roscore

ctrl + shift + ~新开一个控制台窗口,输入:

rosrun hello hello

注意:第一次需要输入完整包名,之后可以使用Tab快捷输入
使用VSCode配置Ros开发环境_第3张图片至此,VSCode下的Ros开发环境就已经完成。

你可能感兴趣的:(ROS1.0学习,visual,studio,code,ubuntu,ide)