Vscode+ros開発環境構築

目次

導入  

前提

vscodeのインストール

 vscodeプラグインのインストール

  ワークスペースの準備

   vscodeを開く

   catkin パッケージを作成する 

cppコードを書く

コンパイル

走る

    ros サービスを開始する

    トピックを聞く

    ロステストを開始する


導入  

  Ros 開発はロボット開発において不可欠な作業であり、言語は C++ または Python から選択できます。ツールに関しては、Windows システム、qtcreate、visual Studio、clion ほどカラフルにすることはできません。ros 環境のほとんどは ubuntu システムの下にあるため、IDE の使用は Linux 環境のみに限定されており、ここでは vscode を選択します。

前提

    この記事は、ros 環境のインストールから vscode ツールの構築、コードの作成、コンパイル、デバッグまでをゼロから説明したものではありません。ここでの前提条件は、システムに ros-melodic-desktop-full がインストールされており、ros 関連のコマンドを実行できることです。 。

vscodeのインストール

まずvscodeをインストールし、公式アドレスを使用してダウンロードし、その後手動で国内アクセラレータに切り替えることを    お勧めします。

    ダウンロードをクリックした後、公式アドレスはダウンロードが非常に遅いため、ここではブラウザのダウンロードでダウンロード項目を直接見つけ、ダウンロードリンクをコピーし、ブラウザのアドレスバーに貼り付けて、国内のアドレスに変更します。 

    例えば:

https:// az764295.vo.msecnd.net /stable/6c3e3dba23e8fadc360aed75ce363ba185c49794/code_1.81.1-1691620686_amd64.deb

https:// vscode.cdn.azure.cn /stable/6c3e3dba23e8fadc360aed75ce363ba185c49794/code_1.81.1-1691620686_amd64.deb

    ダウンロードした deb インストール ファイルは、dpkg -i xxx.deb を通じて直接インストールできます。

 vscodeプラグインのインストール

     プラグイン拡張機能 Extensions に ros と catkin-tools の 2 つのプラグインをインストールする必要があります。

  ワークスペースの準備

mkdir -p roshelloworld/src
cd roshelloworld/src
catkin_init_workspace
cd ..
catkin_make

    ここに catkin_init_workspace コマンド プロンプトがない場合は、環境の問題であることに注意してください。実際には、ros のインストール時にインストールされています。これを設定して実行する必要があります。

echo "source /opt/ros/melodic/setup.bash" >> /etc/profile 

   vscodeを開く

code .

    現在コンパイルされているワークスペースで、コマンド ラインから vscode を開きます。 

   catkin パッケージを作成する 

    srcを右クリック→Catkinパッケージの作成

    フォローアップ操作では、パッケージ名と依存関係名を入力する必要があります。ここでのパッケージ名は my_test_pkg で、依存関係は roscpp、rospy、および std_msgs です。

    パッケージ構造は次のようになります。

    オリジナルの roshelloworld/src にはさらに my_test_pkg が含まれており、my_test_pkg には src、CMakeLists.txt ファイルも含まれています。ここでの CMakeLists.txt は、roshelloworld の CMakeLists.txt とは異なります。後で my_test_pkg パッケージの CMakeLists.txt ファイルを変更します。

cppコードを書く

    my_test_pkg/src ディレクトリに新しい my_test_pkg_node.cpp を作成し、次のようにコードを追加します。

#include <iostream>
#include <string>
#include <sstream>


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

using namespace std;

int main(int argc, char** argv)
{
    ros::init(argc, argv, "talker");
    ros::NodeHandle n;
    ros::Publisher chatter_pub = n.advertise<std_msgs::String>("chatter", 1000);
    ros::Rate loop_rate(10);
    int count = 0;
    while(ros::ok()) 
    {
        std_msgs::String msg;
        std::stringstream ss;
        ss << "hello,world" << count;
        msg.data = ss.str();
        ROS_INFO("%s", msg.data.c_str());
        chatter_pub.publish(msg);
        ros::spinOnce();
        loop_rate.sleep();
        count++;
    }
    return 0;
}

    このコードは、/chatter トピックを公開し、10 ミリ秒ごとに hello, world + count を送信します。後でテストする場合は、/chatter トピックをサブスクライブして、受信したメッセージを確認できます。

    CMakeLists.txt を変更します。

include_directories(
  include
  ${catkin_INCLUDE_DIRS}
)



add_executable(${PROJECT_NAME}_node src/my_test_pkg_node.cpp)

target_link_libraries(${PROJECT_NAME}_node
  ${catkin_LIBRARIES}
)

   これらの設定は CMakeLists.txt で利用でき、対応するコメントを開くだけです。

コンパイル

    コマンドラインで catkin_make を実行します

走る

    ros サービスを開始する

roscore

    トピックを聞く

rostopic echo /chatter

    ロステストを開始する

rosrun my_test_pkg my_test_pkg_node

    vscode+ros開発環境の紹介はこれで終わりですが、デバッグせずに他の人のコードをそのままコピーしました。 

おすすめ

転載: blog.csdn.net/feinifi/article/details/132467599