ROSの基礎 - 基本的な概念と簡単なツール(1)

1. ROSとは何ですか?

ロボットオペレーティングシステム、単にロボットオペレーティングシステム、弱い結合、分散処理の枠組み、プロセスと管理との間のメッセージパッシング。ハードウェアの抽象化とデバイス制御。

図2に示すように、ノード(ノード)

  • ROSノードはコア実体です。
  • ROSのプログラム期間
  • ROSは、ミドルウェアを使用して通信します
  • 独立して起動して、ノード間で停止することができます

3、及び関連する概念ノード

  • メッセージ
  • トピック
  • roscore:
  1. そこ一つであり、一方だけがroscoreを実行することができます
  2. 最初roscoreを起動する必要があります
  3. スケジューリングの通信のための責任
  4. Roscoreパブリッシャノードとの通信(例えば、トピックを初期化するために)
  • 出版社、加入者

4、ツール

  catkin_create_pkg:パッケージを作成します

  catkin_make:コンパイルROSプログラム

  rosrun:プログラムROSを実行します

  rostopic:コマンドに関連するトピック

      rostopicリスト。rostopic Hzのtopic1。rostopic topic1の体重; rostopic情報topic1。rostopicエコーtopic1

  rosnodeリスト:生産を実行しているノードのリストを参照するには

  roslaunch:ファイルを編集して.launchは、自動的に複数のノードを開始します

  rosbag:トピックの記録と再生データ

      rosbagレコードtopic1

      rosbag再生name1.bag

         rqt_plot:結果の可視化のための

5、一般的なツールの詳細

catkin_create_pkg:

  catkin_create_pkg   [packageNmae] [依存関係]

  

 

  依存性:roscpp:使用して、C ++コンパイラ、C ++互換インタフェース; std_msgs:ROSは、データタイプを事前定義

  

 

 

catkin_make:

  package.xmlの:組織ROSパッケージ、名前を命名パッケージの依存関係

         <名前> </名前>

         <build_depend> </ build_depend>

         <run_depend> </ run_depend>

         

  CMakeLists.txt  :次のように簡単な例です

cmake_minimum_required(VERSION 2.8.3)
プロジェクト(デモ-PROJ1-ノード)#パッケージ名

(必要なコンポーネントの尾状花find_package 
    roscppの
    std_msgs 

catkin_package(
#INCLUDE_DIRSには、
#図書館my_minimal_nodes 
#CATKIN_DEPENDS roscpp STD-MSGのを
#はsystem_libに依存

include_directoriesは(
 $ {catkin_INCLUDE_DIRSが含まれます} 

add_executable(my_minimal_publisher SRC / minimal_publisher.cpp)
add_executable(my_minimal_publisher2 SRC / sleep_minimal_publisher.cpp)


target_link_libraries(my_minimal_publisher 
   $ {catkin_LIBRARIES} 
target_link_libraries(my_minimal_publisher2
   $ {catkin_LIBRARIES} 
コードの表示

  コンパイルコマンド:catkin_make

  

 

   そこにコンパイルした後、develのビルド2つのフォルダ

rosrun:

  最初の環境変数で: source ./devel/setup.bash

         rosrun [パッケージ名] [実行可能ファイル名]

 

  

  

 

 

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/feihu-h/p/11839316.html