検索
ホームページ運用・保守Linuxの運用と保守ros は Linux のどのバージョンですか?

ros は Linux ディストリビューション バージョンです。 ROS の完全な名前はロボット オペレーティング システムで、ロボット オペレーティング システムと訳されます。ROS は Linux カーネルに基づいており、Linux 上でのみ実行できます。 ROS は、ハードウェア抽象化、基礎となるデバイス制御、共通機能実装、プロセス間メッセージング、パケット管理など、いくつかの標準オペレーティング システム サービスを提供します。 ROS は 2 つの層に分けることができ、下位層は前述のオペレーティング システム層であり、上位層は位置マッピング、アクション プランニング、知覚などのさまざまな機能を実装するために幅広いユーザー ベースによって提供されるさまざまなソフトウェア パッケージです。 。

ros は Linux のどのバージョンですか?

#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。

ROS 定義の紹介

ROS はロボット オペレーティング システムの略で、ロボット オペレーティング システムと訳されます。 Linux カーネルをベースにしており、現在は Linux 上でのみ実行されます。

ROS 設計者は、ROS を「ROS = Plumbing Tools Capabilities Ecosystem」と説明しています。つまり、ROS は、通信メカニズム、ツール ソフトウェア パッケージ、高度なロボット スキル、およびロボット エコシステムの集合です。

名前が示すように、ROS はシステムです。これは、私たちが使用する通常のオペレーティング システムに似ています。ROS は、基礎となるロボット ハードウェアをカプセル化します。言い換えれば、異なるロボットに含まれるさまざまな基礎となるパラメータは、ROS を使用して開発する人の目には同じに見えます。ここで、ROS には現在ビジュアル インターフェイスがないことにも言及する必要があります。私たちが使っている Windows や Linux はビジュアルインターフェースを持っているため、画像インターフェースを直接見て操作することができますが、ROS にはありません。私たちがオペレーティング システムと呼ぶものは、必ずしもビジュアル インターフェイスを備えている必要はありません。興味があれば、コマンド ラインのみがあり、カラフルなインターフェイスがなかった初期のオペレーティング システムを見てみることができます。

ROS は、ハードウェア抽象化、基盤となるデバイス制御、共通機能実装、プロセス間メッセージング、データ パケット管理など、いくつかの標準オペレーティング システム サービスを提供します。 ROS はグラフ アーキテクチャに基づいているため、さまざまなノード上のプロセスがさまざまな情報 (センシング、制御、ステータス、計画など) を受信、公開、集約できます。

ROS は 2 つの層に分けることができます。下位層は上記のオペレーティング システム層であり、上位層は位置マッピング、行動計画、認識、シミュレーションなど。

ROS は多義語であり、コミュニケーション メカニズムにもなります。 ROS 開発では、ノードはアプリケーションを表すために使用され、ノードは実行可能プログラムです。ノード間の通信は ROS を介して行われます。 ROS は、ノード マネージャー (マスター) を通じて各ノードを管理します。原則の具体的な実現については、後ほど説明します。

さらに、ROS は、ロボット開発のための一連のツールキット、アルゴリズム、スキル、プラットフォーム、エコロジーなども表します。

ROS の歴史。端的に言えば、ROS とは、ロボットを開発するときに優れていると考えた偉い人たちのグループ (便利なライブラリやソフトウェア、またはアイデア、プロトコル、標準など) が集まって形成されたものです。ロボットの開発では、さまざまなロボットの統一規格が存在せず、見たことのないロボットを開発するたびに、多くのことを改めて学習する必要があり、非常に不便です。オペレーティング システムから作成するシステムを、ロボットが最下層をカプセル化するシステムも構築できないのではないかと考えました。こうしてROSが誕生しました。何年にもわたる改良を経て、ROS はますます完璧になり、ますます多くの人がそれを使用しています。

ROS 関数

ROS が何をするのか知りたければ、一文を知るだけで十分です。 ROS はロボットやロボット アームの開発に使用されます。

ロボット開発の歴史において、標準化作業はまだ十分に行われていません。ロボットが異なれば、使用するシステムやプログラムなどが異なるため、クロスプラットフォームである限り開発は非常に困難になります。このような問題を解決するためにROSが誕生しました。 ROS は、カプセル化を通じて基盤となるハードウェアを開発者に対して透過的にすることができ、クロスプラットフォーム開発の困難さを大幅に軽減します。

ROS を選択する理由は、これまで述べてきたことを誰もが理解できるようにするためであり、多くの人に使用され、広く普及しているということに他なりません。 ROS には、多くのフィールド、データ、関数、コンテンツ、知識などが含まれています。ROS を使用せずに独自のデータベースを構築したいですか?

1. ROS のパフォーマンス特性

ROS を正式に学習する前に、まず ROS のいくつかの特性、つまりメタ オペレーティング システム、分散通信メカニズム、疎結合について紹介しましょう。 . 知覚的な理解を構築するのに役立つソフトウェア フレームワーク、豊富なオープンソース関数ライブラリなど。

ROS は、ロボット工学分野のメタ オペレーティング システムです。つまり、これは本当の意味でのオペレーティング システムではなく、その基礎となるタスク スケジューリング、コンパイル、デバイス ドライバーなどは依然としてネイティブ オペレーティング システムである Ubuntu Linux によって完成されます。

ROS は、実際には Ubuntu Linux 上で実行されるサブオペレーティング システム、またはソフトウェア フレームワークですが、ハードウェアの抽象化、関数呼び出し、プロセス管理などのオペレーティング システムのような機能を提供します。また、フェッチ、コンパイル、クロスプラットフォームのための関数とツールも提供します。

ROS の中心的なアイデアは、ロボットのソフトウェア機能をノードにし、ノードが相互にメッセージを送信することで通信することです。 これらのノードは、同じホスト、異なるホスト、さらにはインターネット上に展開できます。 ROS ネットワーク通信メカニズムのマスター ノード (マスター) は、ネットワーク内のさまざまなノード間の通信プロセスの管理とスケジュールを担当し、ネットワーク内のグローバル パラメーターを構成するサービスも提供します。

ROS は、分散通信メカニズムを使用してノード間のプロセス通信を実現する疎結合ソフトウェア フレームワークです。 ROS のソフトウェア コードは疎結合方式で編成されており、柔軟な開発プロセスと容易な管理とメンテナンスを備えています。

ROS には豊富なオープンソース関数ライブラリがあります。 ROS は、BSD (Berkeley Software Distribution) プロトコルに基づくオープン ソース ソフトウェアであり、誰でも変更、再利用、再配布、商用およびクローズドソース製品での使用が可能です。ROS を使用すると、独自のロボット プロトタイプを迅速に構築できます。

2. ROS ディストリビューション バージョン

Linux ディストリビューション バージョンと同様に、ROS ディストリビューション バージョンには、一般的に使用される一連の関数パッケージが組み込まれています。 ROS システムはパッケージ化され、ネイティブ システムにインストールされます。 ROS はもともと Ubuntu システムに基づいて開発されており、ROS のリリース バージョン名も Ubuntu と同じルールを採用しており、バージョン名は最初の文字が同じ 2 つの英単語で構成され、バージョンの最初の文字が選択されます。図 1-1 は、ROS のいくつかのメジャー リリースをアルファベットの昇順に示しています。

ros は Linux のどのバージョンですか?
図 1-1 ROS のメジャー バージョン

ROS システム アーキテクチャ

ROS をインストールしたら、多くの友人がすぐにプログラムを書き始めたくなるはずです。 ROS のアーキテクチャは比較的複雑であるため、後で説明するさまざまな概念を簡単に理解するために、誰もが ROS のさまざまな概念を包括的に理解できるように、最初に ROS のシステム アーキテクチャについて説明します。公式声明によると、ROS アーキテクチャは、計算グラフファイル システムオープン ソース コミュニティの観点から理解できます。

1. 計算グラフの観点から ROS アーキテクチャを理解する

ROS の実行可能プログラムの基本単位は node (ノード) と呼ばれます、ノード間の通信は、図 1-3 に示すように、計算図とも呼ばれるネットワーク図を形成するメッセージ メカニズムを通じて実行されます。

ros は Linux のどのバージョンですか?
図 1-3 ROS 計算グラフの構造

ノードは実行可能プログラムであり、通常はプロセスとも呼ばれます。 ROS 機能パッケージで作成された各実行可能プログラムは、起動されてシステム プロセス (図 1-3 のノード 1、ノード 2、ノード 3 など) にロードされた後、ROS ノードになります。

ノードはメッセージの送受信によって通信します。メッセージの送受信メカニズムは、topic(トピック)、service(サービス)、および action# に分かれています。 ##(action). 図 1-3 では、ノード 2 とノード 3、ノード 2 とノード 5 はトピック通信を使用し、ノード 2 とノード 4 はサービス通信を使用し、ノード 1 とノード 2 はアクション通信を使用します。 計算グラフ内のノード、トピック、サービス、およびアクションには、識別子として一意の名前が必要です。

ROS はノードを使用してコードと機能を分離し、システムの耐障害性と保守性を向上させます。したがって、すべてを包括する巨大なノードを 1 つ作成するよりも、各ノードに特定の単一の機能を提供させる方がよいでしょう。 C を使用してノードを作成する場合は、ROS が提供する roscpp ライブラリを使用する必要があります。Python を使用してノードを作成する場合は、ROS が提供する rospy ライブラリを使用する必要があります。

メッセージは、メッセージ メカニズムやメッセージ タイプなど、計算グラフの鍵となります。メッセージ メカニズムにはトピック、サービス、アクションの 3 つのタイプがあり、各メッセージ メカニズムで転送されるデータは特定のデータ型 (メッセージ タイプ) を持ち、メッセージ タイプはトピック メッセージ タイプ、サービス メッセージ タイプ、およびアクション メッセージ タイプに分類できます。メッセージのメカニズムとメッセージの種類については、セクション 1.5 で説明します。

データ パッケージ (rosbag) は、トピック内のデータの保存と再生に特別に使用される ROS のファイルです。収集が難しい一部のセンサー データは、データ パッケージに記録してから、アルゴリズムのパフォーマンスのデバッグを実行します。

パラメータ サーバーは、ROS ネットワーク全体のノードに簡単に変更されたパラメータを提供できます。パラメータは、静的パラメータや動的パラメータなど、外部から変更できるノード内のグローバル変数と考えることができます。静的パラメータは通常、ノードの起動時にノードの動作モードを設定するために使用されます。動的パラメータは、モータ制御ノードの PID 制御パラメータなど、ノードを動的に構成したり、ノードの実行中にノードの動作ステータスを変更したりするために使用できます。

マスター ノードは、各ノード間の通信プロセスのスケジューリングと管理を担当します。したがって、マスター ノードを最初に起動する必要があり、roscore コマンドを通じて起動できます。

2. ファイル システムの観点から ROS アーキテクチャを理解する

ROS プログラムの異なるコンポーネントは、異なるフォルダーに配置する必要があります。これらのフォルダーには、次に従ってファイルが保存されます。整理すると、これは ROS のファイル システム構造です (図 1-4 を参照)。

ros は Linux のどのバージョンですか?
図 1-4 ROS ファイル システムの構造

ワークスペースは、関数パッケージ、コンパイル パッケージを含むパッケージです。コンパイルされた実行可能ファイルのフォルダー内に、ユーザーは自分のニーズに応じて複数のワークスペースを作成し、各ワークスペースで異なる目的の機能パッケージを開発できます。図 1-4 では、catkin_ws という名前のワークスペースを作成しました。このワークスペースには、src、build、devel の 3 つのフォルダーが含まれています。

  • src フォルダ各機能パッケージと、その機能パッケージを構成する CMake 設定ファイル CMakeLists.txt を配置します。ここで説明すると、ROS のソース コードは catkin ツールを使用してコンパイルされ、catkin ツールは CMake テクノロジに基づいているため、src ソース ファイル領域と各関数パッケージに CMake 構成ファイル CMakeLists.txt が表示されます。役割を果たします コンパイルの役割を設定します。
  • build フォルダーCMake や catkin 関数パッケージのコンパイル時に生成されるキャッシュ、設定、中間ファイルなどを配置します。
  • devel フォルダコンパイル済みの実行可能プログラムを配置します。これらの実行可能プログラムは、インストールせずに直接実行できます。関数パッケージのソース コードがコンパイルされてテストされると、これらのコンパイルされた実行可能ファイルを直接エクスポートして、他の開発者と共有できます。

関数パッケージは、ROS のソフトウェア構成の基本的な形式であり、ROS プログラムを作成するための最小限の構造と最小限の内容があり、ROS ノードのソース コード、スクリプト、設定ファイルなどが含まれています。

i. CMakeLists.txt は、Cmake 関数パッケージのコンパイル構成をコンパイルするために使用される関数パッケージ構成ファイルです。

ii. package.xml は関数パッケージのマニフェスト ファイルであり、XML タグ形式を使用して、パッケージ名、開発者情報、依存関係など、関数パッケージのさまざまな関連情報をマークします。主に機能パッケージのインストールと配布を容易にするためです。

iii. include/ は機能パッケージのヘッダー ファイル ディレクトリであり、機能パッケージ プログラムに含まれる *.h ヘッダー ファイルをここに配置できます。インクルード ディレクトリに第 1 レベルのパス も追加される理由は、独自定義のヘッダー ファイルとシステム標準のヘッダー ファイルを区別するためです。 を実際の関数パッケージの名前に置き換えます。ただし、プログラムによってはヘッダー ファイルがない場合など、このフォルダーは必須ではありません。

iv. msg、srv、action の 3 つのフォルダーは、それぞれ非標準のトピック メッセージ、サービス メッセージ、アクション メッセージの定義ファイルを格納するために使用されます。 ROS は、ユーザーがメッセージ通信プロセスで使用されるメッセージ タイプをカスタマイズできるようにします。プログラムは標準のメッセージ タイプのみを使用するため、これらのカスタム メッセージは必要ありません。

v. script ディレクトリには Bash、Python、その他のスクリプト ファイルが保存されますが、これは必須ではありません。

vi. 起動ディレクトリには、ノードの起動ファイルが保存されます。*.launch ファイルは、1 つ以上のノードを起動するために使用されます。複数のノードを持つ大規模なプロジェクトで非常に役立ちますが、必須ではありません。

vii. src ディレクトリには、関数パッケージ ノードに対応するソース コードが格納されます。関数パッケージには、異なる関数を実行するために複数のノード プログラムを含めることができ、各ノード プログラムは独立して実行できます。ここの src ディレクトリには、これらのノード プログラムのソース コードが格納されます。必要に応じてフォルダーやファイルを作成してソース コードを整理できます。ソース コードは C、Python などで記述できます。

3. オープン ソース コミュニティの観点から ROS アーキテクチャを理解する

ROS はオープン ソース ソフトウェアであり、それぞれの独立したオンライン コミュニティがソフトウェアとチュートリアルを共有し、貢献して、図 1-5 に示すように、強力な ROS オープン ソース コミュニティ。

ros は Linux のどのバージョンですか?
図 1-5 ROS のオープン ソース コミュニティ構造

ROS の開発は、オープン ソースと共有ソフトウェアに依存しています。これらのコードは、GitHub ソース コード共有、Ubuntu ソフトウェア ウェアハウス リリース、サードパーティ ライブラリなど、さまざまな組織による共有と公開によって提供されます。 ROS の公式 Wiki は重要なドキュメントのディスカッション コミュニティであり、対応するドキュメント ページを簡単に公開および変更できます。 ROS Answer ホームページには、ROS 開発者からの多数の質問と回答が含まれており、ROS 開発で遭遇するさまざまな問題についての議論が非常に活発です。

関連する推奨事項: 「Linux ビデオ チュートリアル

以上がros は Linux のどのバージョンですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Linuxのメンテナンスモードの理解:必需品Linuxのメンテナンスモードの理解:必需品Apr 14, 2025 am 12:04 AM

Linuxメンテナンスモードは、起動時にinit =/bin/bashまたは単一パラメーターを追加することにより入力されます。 1.メンテナンスモードの入力:GRUBメニューを編集し、起動パラメーターを追加します。 2。ファイルシステムを読み取りおよび書き込みモードに再マウントします:Mount-Oremount、RW/。 3。ファイルシステムの修復:FSCK/dev/sda1などのFSCKコマンドを使用します。 4.データをバックアップし、データの損失を避けるために慎重に動作します。

DebianがHadoopデータ処理速度を改善する方法DebianがHadoopデータ処理速度を改善する方法Apr 13, 2025 am 11:54 AM

この記事では、DebianシステムのHadoopデータ処理効率を改善する方法について説明します。最適化戦略では、ハードウェアのアップグレード、オペレーティングシステムパラメーターの調整、Hadoop構成の変更、および効率的なアルゴリズムとツールの使用をカバーしています。 1.ハードウェアリソースの強化により、すべてのノードが一貫したハードウェア構成、特にCPU、メモリ、ネットワーク機器のパフォーマンスに注意を払うことが保証されます。高性能ハードウェアコンポーネントを選択することは、全体的な処理速度を改善するために不可欠です。 2。オペレーティングシステムチューニングファイル記述子とネットワーク接続:/etc/security/limits.confファイルを変更して、システムによって同時に開くことができるファイル記述子とネットワーク接続の上限を増やします。 JVMパラメーター調整:Hadoop-env.shファイルで調整します

Debian syslogを学ぶ方法Debian syslogを学ぶ方法Apr 13, 2025 am 11:51 AM

このガイドでは、Debian SystemsでSyslogの使用方法を学ぶように導きます。 Syslogは、ロギングシステムとアプリケーションログメッセージのLinuxシステムの重要なサービスです。管理者がシステムアクティビティを監視および分析して、問題を迅速に特定および解決するのに役立ちます。 1. syslogの基本的な知識Syslogのコア関数には以下が含まれます。複数のログ出力形式とターゲットの場所(ファイルやネットワークなど)をサポートします。リアルタイムのログ表示およびフィルタリング機能を提供します。 2。syslog(rsyslogを使用)をインストールして構成するDebianシステムは、デフォルトでrsyslogを使用します。次のコマンドでインストールできます:sudoaptupdatesud

DebianでHadoopバージョンを選択する方法DebianでHadoopバージョンを選択する方法Apr 13, 2025 am 11:48 AM

Debianシステムに適したHadoopバージョンを選択する場合、次の重要な要因を考慮する必要があります。1。安定性と長期的なサポート:安定性とセキュリティを追求するユーザーにとって、Debian11(Bullseye)などのDebianの安定したバージョンを選択することをお勧めします。このバージョンは完全にテストされており、最大5年のサポートサイクルがあり、システムの安定した動作を確保できます。 2。パッケージの更新速度:最新のHadoop機能と機能を使用する必要がある場合は、DebianのUnstableバージョン(SID)を検討できます。ただし、不安定なバージョンには互換性の問題と安定性のリスクがあることに注意する必要があります。 3。コミュニティのサポートとリソース:Debianには、豊富なドキュメントを提供できるコミュニティサポートが大きくなり、

debianのtigervnc共有ファイルメソッドdebianのtigervnc共有ファイルメソッドApr 13, 2025 am 11:45 AM

この記事では、Tigervncを使用してDebian Systemsでファイルを共有する方法について説明します。最初にtigervncサーバーをインストールしてから構成する必要があります。 1. TigerVNCサーバーをインストールし、端末を開きます。ソフトウェアパッケージリストの更新リスト:sudoaptupdate tigervnc server:sudoaptinstaltaltigervnc-standalone-servertigervnc-common2。tigervncサーバーを構成するVNCサーバーパスワードを設定します。

Debian Mail Serverファイアウォールの構成のヒントDebian Mail Serverファイアウォールの構成のヒントApr 13, 2025 am 11:42 AM

Debian Mail Serverのファイアウォールの構成は、サーバーのセキュリティを確保するための重要なステップです。以下は、iPtablesやFirewalldの使用を含む、一般的に使用されるファイアウォール構成方法です。 iPtablesを使用してファイアウォールを構成してIPTablesをインストールします(まだインストールされていない場合):sudoapt-getupdatesudoapt-getinstalliptablesview現在のiptablesルール:sudoiptables-l configuration

Debian Mail Server SSL証明書のインストール方法Debian Mail Server SSL証明書のインストール方法Apr 13, 2025 am 11:39 AM

Debian Mail ServerにSSL証明書をインストールする手順は次のとおりです。1。最初にOpenSSL Toolkitをインストールすると、OpenSSLツールキットがシステムに既にインストールされていることを確認してください。インストールされていない場合は、次のコマンドを使用してインストールできます。sudoapt-getUpdatesudoapt-getInstalopenssl2。秘密キーと証明書のリクエストを生成次に、OpenSSLを使用して2048ビットRSA秘密キーと証明書リクエスト(CSR)を生成します:Openss

Debian Mail Server仮想ホスト構成方法Debian Mail Server仮想ホスト構成方法Apr 13, 2025 am 11:36 AM

Debianシステムでのメールサーバーの仮想ホストの構成には、通常、Apache Httpserverではなく、Apache Httpserverではなく、Mail Serverソフトウェア(Postfix、Eximなど)のインストールと構成が含まれます。以下は、メールサーバーの構成のための基本的な手順です仮想ホスト:ポストフィックスメールサーバー更新システムパッケージ:sudoaptupdatesudoaptupgradeポストフィックス:sudoapt

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません