SlideShare ist ein Scribd-Unternehmen logo
1 von 19
RoboticsとC++
@OTL
自己紹介
名前: OTL
Twitter: @OTL
Blog: http://ros-robot.blogspot.jp/
GitHub: http://github.com/OTL
Robot屋です。
内容
● 自己紹介を兼ねた趣味のロボットと言語
● RoboticsとC++
● 真面目なロボットのC++使用例
● 個人的C++イメージ
2015年
Python
2013年
C++
2012年
Java / Python
2009年
Objective-C
ロボットはいろんな言語を使
う
Python/C++/Java/Objective-C
RoboticsとC++の話
組み込み系世界
制御
C言語、Matlab
マイコン
知能系世界
認識・学習・計画・制御
C/C++、Python、
Lisp、、、、
PC
ロボット界には2つの世界がある。
知能系では計算効率のよい高級言語であるC++は人気
実際につかわれている例
● ミドルウェア
o ROS
o OpenRTM-aist
● OpenCV
● PCL
ROS(Robot Operating System)
米国のベンチャーが作ったロボット用OS(コンピュータ
用OSの上で走るミドルウェア)。(BSDライセンス)
http://ros.org/
言語非依存の分散環境やGUIなどのツール群などを提供
デフォルトサポート言語: C++、Python、Lisp
ROS(Robot Operating System)
Publisher:
main() {
ros::NodeHandle node;
ros::Publisher pub = node.advertise<std_msgs::String>(“/topic”, 1);
std_msgs::String msg;
pub.publish(msg);
}
ROS(Robot Operating System)
Subscriber:
void callback(const std_msgs::String &msg) {
/* do something */
}
main () {
ros::NodeHandle node;
ros::Subscriber sub = node.subscribe(“/topic”, 1, &callback);
}
ROSのC++11/14への対応状況
ロボット界ではC++11/14への対応への関心は薄そうなイメージ。C++03が主流。
こんな感じにしたいが・・・
main() {
ros::NodeHandle node;
auto sub = node.Subscriber(“/topic”, 1, [] (const std_msgs::String& msg)
{
/* do something */
});
}
OpenRTM-aist
国産のROSみたいなもの(むしろこちらが元
祖)
C++, Python, Javaをサポート
http://www.openrtm.org/
Robot用ライブラリ
OpenCV:
Intelが作った画像処理ライブラリ
C++とPython
PCL(PointCloudLibrary):
Kinectなどの3次元センサからのデータを処理するライブ
ラリ
C++のみ
http://pointclouds.org/
初心者的なC++イメージ
● C++のよいところ
o GCがない (cf. java)
o 効率がよい (cf. python)
o ライブラリ多い (cf. lisp)
初心者的なC++イメージ
● 初心者的C++への不満
o (テンプレートの)コンパイルが遅い
o ヘッダファイル書くのめんどい
o むつかしすぎ(べからず集が多すぎ
解決方法あれば教えてください!
以上です

Weitere ähnliche Inhalte

Was ist angesagt?

C言語について
C言語についてC言語について
C言語について
Katsuro-u
 
シミュレーター
シミュレーターシミュレーター
シミュレーター
Kensei Demura
 

Was ist angesagt? (20)

C# Tokyo コミュニティ案内
C# Tokyo コミュニティ案内C# Tokyo コミュニティ案内
C# Tokyo コミュニティ案内
 
Siv3Dのすゝめ
Siv3DのすゝめSiv3Dのすゝめ
Siv3Dのすゝめ
 
レガシーコードとの戦いの軌跡
レガシーコードとの戦いの軌跡レガシーコードとの戦いの軌跡
レガシーコードとの戦いの軌跡
 
Uno Platform 入門 2020/04/03
Uno Platform 入門 2020/04/03Uno Platform 入門 2020/04/03
Uno Platform 入門 2020/04/03
 
まんまとリレーションされた話
まんまとリレーションされた話まんまとリレーションされた話
まんまとリレーションされた話
 
私の失敗道(仮)
私の失敗道(仮)私の失敗道(仮)
私の失敗道(仮)
 
Unity/CSharp 2
Unity/CSharp 2Unity/CSharp 2
Unity/CSharp 2
 
Pietで競プロしよう
Pietで競プロしようPietで競プロしよう
Pietで競プロしよう
 
C言語について
C言語についてC言語について
C言語について
 
ドット絵でプログラミング!難解言語『Piet』勉強会
ドット絵でプログラミング!難解言語『Piet』勉強会ドット絵でプログラミング!難解言語『Piet』勉強会
ドット絵でプログラミング!難解言語『Piet』勉強会
 
Intelli code
Intelli codeIntelli code
Intelli code
 
Ultra piet
Ultra pietUltra piet
Ultra piet
 
Visual Studio Code で C# でのアプリ開発
Visual Studio Code で C# でのアプリ開発Visual Studio Code で C# でのアプリ開発
Visual Studio Code で C# でのアプリ開発
 
dwangocpp1-lt
dwangocpp1-ltdwangocpp1-lt
dwangocpp1-lt
 
rChartsによるインタラクティブな可視化表現
rChartsによるインタラクティブな可視化表現rChartsによるインタラクティブな可視化表現
rChartsによるインタラクティブな可視化表現
 
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRubyKanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
 
Customizing cargo for cross compiling
Customizing cargo for cross compilingCustomizing cargo for cross compiling
Customizing cargo for cross compiling
 
シミュレーター
シミュレーターシミュレーター
シミュレーター
 
Multi paradigm design
Multi paradigm designMulti paradigm design
Multi paradigm design
 
デプロイに苦労した話
デプロイに苦労した話デプロイに苦労した話
デプロイに苦労した話
 

Andere mochten auch (8)

unique_ptrにポインタ以外のものを持たせるとき
unique_ptrにポインタ以外のものを持たせるときunique_ptrにポインタ以外のものを持たせるとき
unique_ptrにポインタ以外のものを持たせるとき
 
Boost.Spirit.QiとLLVM APIで遊ぼう
Boost.Spirit.QiとLLVM APIで遊ぼうBoost.Spirit.QiとLLVM APIで遊ぼう
Boost.Spirit.QiとLLVM APIで遊ぼう
 
不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarray不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarray
 
C++でHello worldを書いてみた
C++でHello worldを書いてみたC++でHello worldを書いてみた
C++でHello worldを書いてみた
 
BoostAsioで可読性を求めるのは間違っているだろうか
BoostAsioで可読性を求めるのは間違っているだろうかBoostAsioで可読性を求めるのは間違っているだろうか
BoostAsioで可読性を求めるのは間違っているだろうか
 
組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由
 
Boost17 cpplinq
Boost17 cpplinqBoost17 cpplinq
Boost17 cpplinq
 
これからはじめるIoTデバイス mbed入門編
これからはじめるIoTデバイス mbed入門編これからはじめるIoTデバイス mbed入門編
これからはじめるIoTデバイス mbed入門編
 

Ähnlich wie RoboticsとC++@歌舞伎座.tech#8「C++初心者会」

LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45
civic Sasaki
 

Ähnlich wie RoboticsとC++@歌舞伎座.tech#8「C++初心者会」 (20)

LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45
 
Why python
Why pythonWhy python
Why python
 
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築
 
現実世界コンピューティング RealSense とロボットと HoloLens (2019/04/24 Intel RealSense Japan Mee...
現実世界コンピューティング RealSense とロボットと HoloLens (2019/04/24 Intel RealSense Japan Mee...現実世界コンピューティング RealSense とロボットと HoloLens (2019/04/24 Intel RealSense Japan Mee...
現実世界コンピューティング RealSense とロボットと HoloLens (2019/04/24 Intel RealSense Japan Mee...
 
ロボット用マイコンボードを 設計してみた
ロボット用マイコンボードを設計してみたロボット用マイコンボードを設計してみた
ロボット用マイコンボードを 設計してみた
 
東大大学院 戦略ソフトウェア特論2021「ロボットで世界を計算可能にする」海野裕也
東大大学院 戦略ソフトウェア特論2021「ロボットで世界を計算可能にする」海野裕也東大大学院 戦略ソフトウェア特論2021「ロボットで世界を計算可能にする」海野裕也
東大大学院 戦略ソフトウェア特論2021「ロボットで世界を計算可能にする」海野裕也
 
GBDC 勉強会 #1 Python を用いたツール作成工数の最小化
GBDC 勉強会 #1 Python を用いたツール作成工数の最小化GBDC 勉強会 #1 Python を用いたツール作成工数の最小化
GBDC 勉強会 #1 Python を用いたツール作成工数の最小化
 
Why python
Why pythonWhy python
Why python
 
業務の自動化をはじめよう!!
業務の自動化をはじめよう!!業務の自動化をはじめよう!!
業務の自動化をはじめよう!!
 
ソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティングソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティング
 
2020年10月29日 プロフェッショナルAI×Roboticsエンジニアへのロードマップ
2020年10月29日 プロフェッショナルAI×Roboticsエンジニアへのロードマップ2020年10月29日 プロフェッショナルAI×Roboticsエンジニアへのロードマップ
2020年10月29日 プロフェッショナルAI×Roboticsエンジニアへのロードマップ
 
osakapy 2014.05 LT
osakapy 2014.05 LTosakapy 2014.05 LT
osakapy 2014.05 LT
 
CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ
 CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ
CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ
 
Wantedlyのテスト事情
Wantedlyのテスト事情Wantedlyのテスト事情
Wantedlyのテスト事情
 
FutureKreateロボットシミュレータ
FutureKreateロボットシミュレータFutureKreateロボットシミュレータ
FutureKreateロボットシミュレータ
 
TUT-LTで話したアレ(k3_kaimu)
TUT-LTで話したアレ(k3_kaimu)TUT-LTで話したアレ(k3_kaimu)
TUT-LTで話したアレ(k3_kaimu)
 
りんな風 女子高生Bot - docomo雑談対話API +α を使って 自分専用Botを作る -
りんな風 女子高生Bot - docomo雑談対話API +α を使って 自分専用Botを作る -りんな風 女子高生Bot - docomo雑談対話API +α を使って 自分専用Botを作る -
りんな風 女子高生Bot - docomo雑談対話API +α を使って 自分専用Botを作る -
 
160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM
 
「CodeYourRuby」で オープンなコードレビューを体験しよう
「CodeYourRuby」で オープンなコードレビューを体験しよう「CodeYourRuby」で オープンなコードレビューを体験しよう
「CodeYourRuby」で オープンなコードレビューを体験しよう
 
PHPからC#のライブラリを呼べるようにしたdotnet_ffiを趣味でつくってみた
PHPからC#のライブラリを呼べるようにしたdotnet_ffiを趣味でつくってみたPHPからC#のライブラリを呼べるようにしたdotnet_ffiを趣味でつくってみた
PHPからC#のライブラリを呼べるようにしたdotnet_ffiを趣味でつくってみた
 

RoboticsとC++@歌舞伎座.tech#8「C++初心者会」