SlideShare a Scribd company logo
2. プログラミングの基礎
2021年11⽉09⽇
⾼度ポリテクセンター・能⼒開発セミナー (E0771)
「RTミドルウェアによるロボットプログラミング技術」
• 本⽇の講習会のWebページ
– https://bit.ly/3EI3peN
• こちらに、必要な情報がま
とまっていますので、ブッ
クマークしてください。
2
はじめに
3
概要
1. OpenRTMのインストール
2. プログラミングについて
⽬標︓
1.OpenRTMのインストール⽅法を学ぶ。
2.RTコンポーネントを作成する⽅法を学ぶ。
(1)OpenRTMのインストール
4
5
5
Webページ参照
• Visual Studio 2019
– インストール済み
• Python 3.7
– python-3.7.4-amd64.exe (64bit版)
• CMake
– cmake-3.17.2-win64-x64.msi (64bit版)
• Doxygen (32bit, 64bitの別なし)
– doxygen-1.8.18-setup.exe
• OpenRTM-aist-1.2.2-RELEASE
– OpenRTM-aist-1.2.2-RELEASE_x86_64.msi (64bit版)
• TeraTerm
• エディタ(使い慣れたもの)
– VScode
– Vim
ソフトウェアのインストール
より新しいバージョンがある場合、
そちらをインストールすること
OpenRTM-aist(Windows)
• OpenRTM-aistをWindowsに⼀括でインストール可能
なインストーラ
– C++, Python, Java版開発環境
– OpenRTP(GUIツール群)
– Rtshell(CUIツール)
– NS(ネームサーバ)、rtcd(マネージャ等)コマンド群
– JRE(Java実⾏環境)
– がインストールされる
• C:¥Program Files¥OpenRTM-aist¥1.2.2以下にインス
トールされるが、PythonはPythonをインストールした
ディレクトリなどにインストールされる
• Python環境はあらかじめインストールしておく必要が
ある
6
Pythonについて
• Python⾔語
– スクリプト⾔語の⼀種
– OpenRTM-aistではPythonでコンポーネントを作成
することもできる
– コンパイル不要で、プログラム作成後すぐ実⾏可能
– AIプログラミングフレームワークでもよく利⽤され
る⾔語
• バージョン
– バージョン2.X系は2020年4⽉でサポート終了
– 現在は3.X系(3.6,3.7,3.8,3.9が現⾏)
– OpenRTMでは 3.6〜3.8をサポート
7
Doxygenについて
• Doxygen
– ソースコードのコメン
トからドキュメントを
⾃動⽣成するためのツ
ール
– HTML、LaTeX等様々
な形式でドキュメント
を⽣成可能
– RTCではツール(
RTCBuilder)で説明を
⼊⼒すると、Doxygen
できれいなドキュメン
トを⾃動⽣成できる
8
その他
• TeraTerm
– ターミナルソフトウェア
– RasPiMouseのRaspberryPi
にログインし操作する際に
使⽤する
• VS-code
– エディタ
– ちょっとしたファイルの編
集に利⽤する場合がある
– メモ帳でも可
• Cmake
– 後ほど説明
9
(2)RTCプログラミング概要
10
プログラミングの流れ
11
プログラム
コンパイル
リンク
実⾏
プログラム
コンパイル
(javac.exe)
JavaVM(java.exe)で
実⾏
プログラム
Pythonインタプリタで
実⾏
C++ Java Python
ビルド
(コンパイル
+リンク)
OpenRTMでは、C++、Java、Pythonのどの⾔語を
利⽤してもRTCを作成できる
CMake
• コンパイラに依存しないビルド⾃動化の
ためのフリーソフトウェア
• 様々なOS上の様々な開発環境⽤ビルドフ
ァイルを⽣成することができる
– Linux では Makefileを⽣成
– Windows ではVC(Visual C++)のプロジェク
トファイルを⽣成
• 最近のオープンソースソフトウェアでは
CMakeでビルドするようになっているも
のが多数。
12
コンポーネント作成の流れ
13
RTBUilder CMake Visual C++
コンポーネントの
仕様の⼊⼒
VCプロジェクトファイル
またはMakefileの⽣成
実装およびコンパイル
実⾏ファイルの⽣成
RTBUilder CMake
make
+
gcc (g++)
Windows
Linux
途中まで流れは同じ、コンパイラが異なる

More Related Content

What's hot

NEDO講座 MoveIt! チュートリアル 第1部
NEDO講座 MoveIt! チュートリアル 第1部NEDO講座 MoveIt! チュートリアル 第1部
NEDO講座 MoveIt! チュートリアル 第1部
openrtm
 
201110 03
201110 03201110 03
201110 03
openrtm
 
OpenRTM概要
OpenRTM概要OpenRTM概要
OpenRTM概要
openrtm
 
Rtコンポーネント作成入門
Rtコンポーネント作成入門Rtコンポーネント作成入門
Rtコンポーネント作成入門
openrtm
 
Rtshell入門
Rtshell入門Rtshell入門
Rtshell入門
openrtm
 
Rtミドルウェアサマーキャンプ2021_宮本信彦
Rtミドルウェアサマーキャンプ2021_宮本信彦Rtミドルウェアサマーキャンプ2021_宮本信彦
Rtミドルウェアサマーキャンプ2021_宮本信彦
openrtm
 
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)NEDO特別講座 ロボット共通プラットフォーム講習会 (1)
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)
NoriakiAndo
 
1.コース概要
1.コース概要1.コース概要
1.コース概要
openrtm
 
Slam実習
Slam実習Slam実習
Slam実習
openrtm
 
190605 04
190605 04190605 04
190605 04
openrtm
 
Rtmコンテスト必勝法
Rtmコンテスト必勝法Rtmコンテスト必勝法
Rtmコンテスト必勝法openrtm
 
OpenRTM-aist入門
OpenRTM-aist入門OpenRTM-aist入門
OpenRTM-aist入門
Yuki Suga
 
ROBOMECH2021 RTMオンライン講習会 第1部
ROBOMECH2021 RTMオンライン講習会 第1部ROBOMECH2021 RTMオンライン講習会 第1部
ROBOMECH2021 RTMオンライン講習会 第1部
openrtm
 
SICE 2020 Rtm tutorial 2_online_ja
SICE 2020 Rtm tutorial 2_online_jaSICE 2020 Rtm tutorial 2_online_ja
SICE 2020 Rtm tutorial 2_online_ja
openrtm
 
200923 01jp
200923 01jp200923 01jp
200923 01jp
openrtm
 
160705-01 RTミドルウエア講習会・名城大
160705-01 RTミドルウエア講習会・名城大160705-01 RTミドルウエア講習会・名城大
160705-01 RTミドルウエア講習会・名城大
openrtm
 
2015 summercamp 09
2015 summercamp 092015 summercamp 09
2015 summercamp 09
openrtm
 
RTミドルウェアサマーキャンプ2021_坂本武志_1
RTミドルウェアサマーキャンプ2021_坂本武志_1RTミドルウェアサマーキャンプ2021_坂本武志_1
RTミドルウェアサマーキャンプ2021_坂本武志_1
openrtm
 
Robomec2015講習会 150517 01
Robomec2015講習会 150517 01Robomec2015講習会 150517 01
Robomec2015講習会 150517 01openrtm
 
200527 RTM Tutorial in ROBOMECH2020
200527 RTM Tutorial in ROBOMECH2020200527 RTM Tutorial in ROBOMECH2020
200527 RTM Tutorial in ROBOMECH2020
openrtm
 

What's hot (20)

NEDO講座 MoveIt! チュートリアル 第1部
NEDO講座 MoveIt! チュートリアル 第1部NEDO講座 MoveIt! チュートリアル 第1部
NEDO講座 MoveIt! チュートリアル 第1部
 
201110 03
201110 03201110 03
201110 03
 
OpenRTM概要
OpenRTM概要OpenRTM概要
OpenRTM概要
 
Rtコンポーネント作成入門
Rtコンポーネント作成入門Rtコンポーネント作成入門
Rtコンポーネント作成入門
 
Rtshell入門
Rtshell入門Rtshell入門
Rtshell入門
 
Rtミドルウェアサマーキャンプ2021_宮本信彦
Rtミドルウェアサマーキャンプ2021_宮本信彦Rtミドルウェアサマーキャンプ2021_宮本信彦
Rtミドルウェアサマーキャンプ2021_宮本信彦
 
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)NEDO特別講座 ロボット共通プラットフォーム講習会 (1)
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)
 
1.コース概要
1.コース概要1.コース概要
1.コース概要
 
Slam実習
Slam実習Slam実習
Slam実習
 
190605 04
190605 04190605 04
190605 04
 
Rtmコンテスト必勝法
Rtmコンテスト必勝法Rtmコンテスト必勝法
Rtmコンテスト必勝法
 
OpenRTM-aist入門
OpenRTM-aist入門OpenRTM-aist入門
OpenRTM-aist入門
 
ROBOMECH2021 RTMオンライン講習会 第1部
ROBOMECH2021 RTMオンライン講習会 第1部ROBOMECH2021 RTMオンライン講習会 第1部
ROBOMECH2021 RTMオンライン講習会 第1部
 
SICE 2020 Rtm tutorial 2_online_ja
SICE 2020 Rtm tutorial 2_online_jaSICE 2020 Rtm tutorial 2_online_ja
SICE 2020 Rtm tutorial 2_online_ja
 
200923 01jp
200923 01jp200923 01jp
200923 01jp
 
160705-01 RTミドルウエア講習会・名城大
160705-01 RTミドルウエア講習会・名城大160705-01 RTミドルウエア講習会・名城大
160705-01 RTミドルウエア講習会・名城大
 
2015 summercamp 09
2015 summercamp 092015 summercamp 09
2015 summercamp 09
 
RTミドルウェアサマーキャンプ2021_坂本武志_1
RTミドルウェアサマーキャンプ2021_坂本武志_1RTミドルウェアサマーキャンプ2021_坂本武志_1
RTミドルウェアサマーキャンプ2021_坂本武志_1
 
Robomec2015講習会 150517 01
Robomec2015講習会 150517 01Robomec2015講習会 150517 01
Robomec2015講習会 150517 01
 
200527 RTM Tutorial in ROBOMECH2020
200527 RTM Tutorial in ROBOMECH2020200527 RTM Tutorial in ROBOMECH2020
200527 RTM Tutorial in ROBOMECH2020
 

Similar to 2.プログラミングの基礎

2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
Atomu Hidaka
 
IBM Rational Team Concertに触れてみた
IBM Rational Team Concertに触れてみたIBM Rational Team Concertに触れてみた
IBM Rational Team Concertに触れてみた
You&I
 
.NET Micro Framework is my spirit.
.NET Micro Framework is my spirit..NET Micro Framework is my spirit.
.NET Micro Framework is my spirit.
Atomu Hidaka
 
2017 summercamp 04
2017 summercamp 042017 summercamp 04
2017 summercamp 04
openrtm
 
ROBOMECH2023 RTミドルウェア講習会 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部ROBOMECH2023 RTミドルウェア講習会 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部
openrtm
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今
Yuki Igarashi
 
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション
Yuta Matsumura
 
XPagesジャンプスタート
XPagesジャンプスタートXPagesジャンプスタート
XPagesジャンプスタート
Mitsuru Katoh
 
Desktop app dev strategy for .net core 3.0
Desktop app dev strategy for .net core 3.0Desktop app dev strategy for .net core 3.0
Desktop app dev strategy for .net core 3.0
Atsushi Nakamura
 
170622 02
170622 02170622 02
170622 02
openrtm
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
Yuta Matsumura
 
Hardware control by .NET Core 3.1
Hardware control by .NET Core 3.1Hardware control by .NET Core 3.1
Hardware control by .NET Core 3.1
Atomu Hidaka
 
OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介
OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介
OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介
Daisuke Nishino
 
OpenEL for Robot(Japanese)
OpenEL for Robot(Japanese)OpenEL for Robot(Japanese)
OpenEL for Robot(Japanese)
Upwind Technology Inc.
 
Robotech2012講習会v01最終版v2
Robotech2012講習会v01最終版v2Robotech2012講習会v01最終版v2
Robotech2012講習会v01最終版v2
Yuki Suga
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
Takako Miyagawa
 
EnOcean Development Performance - STM3xy and .NET Gadgeteer
EnOcean Development Performance - STM3xy and .NET GadgeteerEnOcean Development Performance - STM3xy and .NET Gadgeteer
EnOcean Development Performance - STM3xy and .NET Gadgeteer
Atomu Hidaka
 
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
de:code 2017
 
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
Akira Inoue
 
Microsoft Intelligent Edge Technologies
Microsoft Intelligent Edge TechnologiesMicrosoft Intelligent Edge Technologies
Microsoft Intelligent Edge Technologies
Takeshi Fukuhara
 

Similar to 2.プログラミングの基礎 (20)

2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
 
IBM Rational Team Concertに触れてみた
IBM Rational Team Concertに触れてみたIBM Rational Team Concertに触れてみた
IBM Rational Team Concertに触れてみた
 
.NET Micro Framework is my spirit.
.NET Micro Framework is my spirit..NET Micro Framework is my spirit.
.NET Micro Framework is my spirit.
 
2017 summercamp 04
2017 summercamp 042017 summercamp 04
2017 summercamp 04
 
ROBOMECH2023 RTミドルウェア講習会 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部ROBOMECH2023 RTミドルウェア講習会 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今
 
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション
 
XPagesジャンプスタート
XPagesジャンプスタートXPagesジャンプスタート
XPagesジャンプスタート
 
Desktop app dev strategy for .net core 3.0
Desktop app dev strategy for .net core 3.0Desktop app dev strategy for .net core 3.0
Desktop app dev strategy for .net core 3.0
 
170622 02
170622 02170622 02
170622 02
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
 
Hardware control by .NET Core 3.1
Hardware control by .NET Core 3.1Hardware control by .NET Core 3.1
Hardware control by .NET Core 3.1
 
OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介
OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介
OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介
 
OpenEL for Robot(Japanese)
OpenEL for Robot(Japanese)OpenEL for Robot(Japanese)
OpenEL for Robot(Japanese)
 
Robotech2012講習会v01最終版v2
Robotech2012講習会v01最終版v2Robotech2012講習会v01最終版v2
Robotech2012講習会v01最終版v2
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
 
EnOcean Development Performance - STM3xy and .NET Gadgeteer
EnOcean Development Performance - STM3xy and .NET GadgeteerEnOcean Development Performance - STM3xy and .NET Gadgeteer
EnOcean Development Performance - STM3xy and .NET Gadgeteer
 
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
 
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
 
Microsoft Intelligent Edge Technologies
Microsoft Intelligent Edge TechnologiesMicrosoft Intelligent Edge Technologies
Microsoft Intelligent Edge Technologies
 

More from openrtm

ピッキングシステム
ピッキングシステムピッキングシステム
ピッキングシステム
openrtm
 
GNGを使った未知環境における経路計画
GNGを使った未知環境における経路計画GNGを使った未知環境における経路計画
GNGを使った未知環境における経路計画
openrtm
 
まねっこロボット
まねっこロボットまねっこロボット
まねっこロボット
openrtm
 
商品自動補充ロボットシステム
商品自動補充ロボットシステム商品自動補充ロボットシステム
商品自動補充ロボットシステム
openrtm
 
RTサマーキャンプ2022最終発表_都立大.pptx
RTサマーキャンプ2022最終発表_都立大.pptxRTサマーキャンプ2022最終発表_都立大.pptx
RTサマーキャンプ2022最終発表_都立大.pptx
openrtm
 
SysML実習20220822SC_GA.pdf
SysML実習20220822SC_GA.pdfSysML実習20220822SC_GA.pdf
SysML実習20220822SC_GA.pdf
openrtm
 
RTミドルウェアサマーキャンプ資料2022.pdf
RTミドルウェアサマーキャンプ資料2022.pdfRTミドルウェアサマーキャンプ資料2022.pdf
RTミドルウェアサマーキャンプ資料2022.pdf
openrtm
 
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
openrtm
 
Rtミドルウェアサマーキャンプ資料2021_菅佑樹
Rtミドルウェアサマーキャンプ資料2021_菅佑樹Rtミドルウェアサマーキャンプ資料2021_菅佑樹
Rtミドルウェアサマーキャンプ資料2021_菅佑樹
openrtm
 
ROBOMECH2021 RTM講習会 第1部
ROBOMECH2021 RTM講習会 第1部ROBOMECH2021 RTM講習会 第1部
ROBOMECH2021 RTM講習会 第1部
openrtm
 
SICE 2020 Rtm tutorial 2_online_en
SICE 2020 Rtm tutorial 2_online_enSICE 2020 Rtm tutorial 2_online_en
SICE 2020 Rtm tutorial 2_online_en
openrtm
 

More from openrtm (11)

ピッキングシステム
ピッキングシステムピッキングシステム
ピッキングシステム
 
GNGを使った未知環境における経路計画
GNGを使った未知環境における経路計画GNGを使った未知環境における経路計画
GNGを使った未知環境における経路計画
 
まねっこロボット
まねっこロボットまねっこロボット
まねっこロボット
 
商品自動補充ロボットシステム
商品自動補充ロボットシステム商品自動補充ロボットシステム
商品自動補充ロボットシステム
 
RTサマーキャンプ2022最終発表_都立大.pptx
RTサマーキャンプ2022最終発表_都立大.pptxRTサマーキャンプ2022最終発表_都立大.pptx
RTサマーキャンプ2022最終発表_都立大.pptx
 
SysML実習20220822SC_GA.pdf
SysML実習20220822SC_GA.pdfSysML実習20220822SC_GA.pdf
SysML実習20220822SC_GA.pdf
 
RTミドルウェアサマーキャンプ資料2022.pdf
RTミドルウェアサマーキャンプ資料2022.pdfRTミドルウェアサマーキャンプ資料2022.pdf
RTミドルウェアサマーキャンプ資料2022.pdf
 
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
 
Rtミドルウェアサマーキャンプ資料2021_菅佑樹
Rtミドルウェアサマーキャンプ資料2021_菅佑樹Rtミドルウェアサマーキャンプ資料2021_菅佑樹
Rtミドルウェアサマーキャンプ資料2021_菅佑樹
 
ROBOMECH2021 RTM講習会 第1部
ROBOMECH2021 RTM講習会 第1部ROBOMECH2021 RTM講習会 第1部
ROBOMECH2021 RTM講習会 第1部
 
SICE 2020 Rtm tutorial 2_online_en
SICE 2020 Rtm tutorial 2_online_enSICE 2020 Rtm tutorial 2_online_en
SICE 2020 Rtm tutorial 2_online_en
 

2.プログラミングの基礎