# ロボットとは? いろんなモノに「ロボット」という名前をつけっています <img src="./v1_media/all_robots.png" alt="" style="width: 50%;"/> --- ## 移動ロボット - この実習でロボットの移動機能に注目します - 移動ロボット ⇒ 環境の中に動ける、自分の位置を変えられる <img src="./v1_media/robot_mobility.png" alt="" style="width: 40%;"/> - ロボットアーム(マニピュレータ)の動かし方については学びません --- ## 移動というスキル - 移動に必要な機能 - 環境内の動き = 移動技術 - 環境の理解 = 認識 - 環境モデリング = 環境の地図の構築 - 自分の位置がわかる = ローカリゼーション - 目的地まで行く = 経路計画やナビゲーション <br> - この実習では上記の全ての機能の実装方法を勉強します --- ## 移動ロボットが様々 ### 産業用移動ロボット <iframe width="560" height="315" src="https://www.youtube.com/embed/klJ5lyrOg54" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> ### 宇宙探査ロボット <iframe width="560" height="315" src="https://www.youtube.com/embed/CubXtcQLma0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> ### 自動運転 <iframe width="560" height="315" src="https://www.youtube.com/embed/B8R148hFxPw" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> ### 人とインタラクションするロボット <iframe width="560" height="315" src="https://www.youtube.com/embed/FLE8utuaavo" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> これは我々が研究しているテーマです --- # ロボットオペレーティングシステム(ROS) --- ## ROSとは --ロボットオペレーティングシステム-- > ROS (Robot Operating System)はソフトウェア開発者のロボット・アプリケーション作成を支援するライブラリとツールを提供しています. 具体的には, ハードウェア抽象化, デバイスドライバ,ライブラリ,視覚化ツール, メッセージ通信,パッケージ管理などが提供されています. ROSはオープンソースの一つ, BSDライセンスにより, ライセンス化されています. ([ROS Wiki](https://wiki.ros.org/ja)より) <br> - プログラムのモジュール化 ⇒ 分散コンピューティング機能、ソフトウェアの再利用、迅速なプロトタイピングとテスト、などが可能。 --- ## ROSの歴史 - スタンフォード大学の人工知能研究所で2007年に開発されました - 2013年からOpenSource Robotics Foundation(OSRF)によって管理されています - 今日では、多くのロボット、多くの大学や企業で使用されています - 事実上の**ロボットプログラミングのスタンダード**になっています --- ## ビデオ ROSは、さまざまなロボットやアプリケーションで使用されています。 <iframe src = "https://player.vimeo.com/video/245826128" width = "640" height = "360" frameborder = "0" webkitallowfullscreen mozallowfullscreen allowfullscreen> </iframe> --- ## ROSの基本的な概念 - **ピアツーピア** ⇒ プログラムは、定義されたAPI(ROSメッセージ、サービスなど)を介して通信します。 - **分散** ⇒ プログラムは1つ以上のコンピューターで実行でき、ネットワークを介して相互に通信できます。 - **多言語** ⇒ ROSモジュールは任意の言語で実装できます(サポートされている言語はC++、Python、MATLAB、Javaなど) - **軽量実行環境** ⇒ スタンドアロンライブラリを開発し、薄いROSレイヤーにラップします。 - **無料でオープンソース** ⇒ ほとんどのROSプログラムはオープンソースです。 --- → [実習その1](v1_1.html) ↑ [ホームページ](index.html)