首頁 > 軟體

ubuntu20.04中vscode使用ROS的詳細方法

2022-10-12 14:00:36

ubuntu20.04 vscode使用ROS(C++)

1.在vscode安裝擴充套件

ROS的安裝較為麻煩,需要的@我,我單獨出一份教學

在vscode的左邊中的拓展(快捷鍵Ctrl+Shift+X)中搜尋並新增以下拓展

· C/C++

· CMake

· ROS

2. 建立工作資料夾

2.1 快捷鍵開啟終端 ctrl+alt+t

2.2 新建資料夾 mkdir -p test_ros/src

2.3 進入新建的資料夾 cd test_ros

2.4 編譯catkin_make

如果有多個版本 python, 輸入:

catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3

2.5 輸入code開啟vscode,點選檔案-開啟資料夾,選擇剛剛新建的test_ros資料夾

3.新建ros工程

3.1 右鍵點選src資料夾,選擇Create Catkin Package

3.2 Package name是自定義的,在執行時用到,這裡命名為ros_test

3.3 Dependecies中輸入std_msgs rospy roscpp

以上兩步等同於在命令列中輸入

catkin_create_pkg ros_test std_msgs rospy roscpp

4.修改組態檔

4.1 c_cpp_properties.json

快捷鍵Ctrl+Shift+p, 找到C/C++: 編輯設定 或者 C/C++: Edit configurations(JSON)

修改如下

// 指定C/C++類別庫和包含路徑以及設定
{
  "configurations": [
    {
      "browse": {
        "databaseFilename": "${default}",
        "limitSymbolsToIncludedHeaders": false
      },
      "includePath": [
        "/opt/ros/noetic/include/**", //注意要跟所安裝的ROS路徑一致
        "/usr/include/**"
      ],
      "name": "ROS",
      "intelliSenseMode": "gcc-x64",
      "compilerPath": "/usr/bin/gcc",
      "cStandard": "gnu11",
      "cppStandard": "c++14",
      "compileCommands": "${workspaceFolder}/build/compile_commands.json"
    }
  ],
  "version": 4
}

4.2 tasks.json

快捷鍵Ctrl+Shift+p, 找到任務:設定任務 或者 Tasks: Configure task,選哪項都可以,因為要修改

// 指定catkin_make編譯引數
{
    "tasks": [
        {
            "label": "catkin_make: build",
            "type": "shell",
            "command": "catkin_make",
            "args": [
                "--directory",
                "/home/jawenos/project/test_ros",// 注意檔案路徑
                "-DCMAKE_BUILD_TYPE=Debug" // 注意這裡是debug
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher":"$catkin-gcc"
        }
    ],
    "version": "2.0.0"
}

4.3 launch.json

在vscode的左邊欄中執行與偵錯(快捷鍵Ctrl+Shift+D)建立launch.json,
修改如下:

{
    // 使用 IntelliSense 瞭解相關屬性。 
    // 懸停以檢視現有屬性的描述。
    // 欲瞭解更多資訊,請存取: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "ros_test",
            "type": "cppdbg",
            "request": "launch",
            //表示可執行檔案所在路徑。workspaceFolder表示vscode所載入檔案根目錄
            "program": "${workspaceFolder}/devel/lib/ros_test/ros_test",
            "args": [],
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": false
                }
            ],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            
        }
    ]
}

5.cpp檔案

5.1 首先在ros_test資料夾中的src資料夾中新建一個C++檔案 ros_test.cpp,在其中寫入

#include<iostream>
#include"ros/ros.h"
using namespace std;
int main(int argc, char** argv){
    ROS_INFO("hello");
    return 0;
}

5.2 修改ros_test中的CMakeList檔案

cmake_minimum_required(VERSION 3.0.2)
project(ros_test)
find_package(catkin REQUIRED COMPONENTS
  roscpp
  rospy
  std_msgs
)
catkin_package(
 CATKIN_DEPENDS roscpp rospy std_msgs
)
include_directories(
# include
  ${catkin_INCLUDE_DIRS}
)
add_executable(ros_test src/ros_test.cpp)

target_link_libraries(ros_test
  ${catkin_LIBRARIES}
)

5.3 點選vscode上方終端,新建終端,catkin_make重新編譯一次檔案,再輸入roscore啟動ROS,最後到ros_test.cpp中F5開始偵錯即可

到此這篇關於ubuntu20.04 vscode使用ROS的文章就介紹到這了,更多相關ubuntu vscode使用ROS內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com