スタックチャンにシンプルなText-to-Speech機能を実装して喋ってもらう

はじめに 概要 今回はシンプルなText-to-Speech機能(フォルマント合成)を実装してスタックチャンに喋ってもらおうと思います。 音声合成のライブラリは性能が高いものがいろいろあるとは思うのですが、 勉強も兼ねてシンプルな音声合成機能を実装してみます(実装の大枠はGeminiにお願いします)。 過去の記事 M5Stack製のスタックチャンをmicro-ROSとArduinoで動かす方法を記事にまとめました。 スタックチャンをmicro-ROSで動かす - Arduino編 移動ロボットとスタックチャンの連携もやってみました。 スタックチャンをラズパイマウスに搭載してカメラを使った顔の検出と追従 Geminiに音声合成機能を実装してもらった 「勉強も兼ねて実装する」と言いつつ、音声合成機能のプログラムはGeminiに書いてもらいました。 この記事ではGeminiに実装してもらったプログラムを読み解いていこうと思います。 Geminiに実装してもらったプログラムは下記リンクで公開しています。 GitHub - stack-chan_micro-ros_arduino/speech.ino ちなみにプログラム全体の流れとしては下記の通りです。 トピックで文字列を受け取る 文字列を音声に変換する スピーカーで音声を出力する この記事では基本的なArduinoのお作法やmicro-ROSの処理の説明は省いて、 音声合成機能部分を読み解いていきます。 プログラムを読み解く 注意: 音声合成について素人なので説明が間違っていたらすみません。 フォルマント このプログラムではフォルマント合成でテキストを音声に変換して、 人工的に人間の声を模倣しています。 フォルマントについては下記のWikipediaの「フォルマント」ページを参照します。 Wikipedia - フォルマント フォルマントは人間の音声内で周囲よりも強度が高い周波数帯域のことです。 フォルマントは音声内に複数存在することもあり、周波数の低いほうから「第一フォルマント(F1)」、「第二フォルマント(F2)」、…と続いていきます。 私の理解だとフォルマントがその音声の特徴になるかと思います。 つまり逆に考えると、フォルマントを人工的に再現できるとその音声が生み出せるということになります。 ちなみに人間の音声におけるフォルマントは、主に口腔や鼻腔等での共鳴によって発生するようです。 特に、第一フォルマントは口の開きの大きさ、第二フォルマントは舌の前後の位置に影響されるとのことです。 そして今回のプログラムでは、この第一フォルマントと第二フォルマントの周波数を再現することで母音(a,i,u,e,o)の音を模倣しています。 周波数は下記のように設定されています。 1列目が第一フォルマント、2列目が第二フォルマントです。 母音のa,i,u,e,oの5つそれぞれに値を設定します。 const float VOWEL_FREQ[5][2] = { {800.0, 1200.0}, // a {300.0, 2300.0}, // i {300.0, 1200.0}, // u {500.0, 1900.0}, // e {500.0, 800.0} // o }; これらの周波数は下記リンクの研究で計測されています。 日本語母音のフォルマント周波数の年齢による変化(粕谷ら、2006) Biquad Filter このプログラムでは、Biquad Filterというフィルタを使って、 音のベースとなる非対称の矩形波(声帯の模倣となるパルス波)を入力し、指定した周波数帯(第一フォルマント、第二フォルマント)を強調させた滑らかな波形を出力します。 そして第一フォルマントと第二フォルマントのそれぞれの波形を足し合わせて母音(a,i,u,e,o)の音声を作成します。 ...

作成日: 2026年5月22日 · 最終更新日: 2026年5月23日 · Yusuke Kato

スタックチャンをラズパイマウスに搭載してカメラを使った顔の検出と追従

はじめに 概要 M5Stack製のStackChan(スタックチャン)をアールティの小型移動ロボットRaspberry Pi Mouse(ラズパイマウス)に搭載して、 スタックチャンのカメラを使った顔の検出と追従を行いました。 スタックチャンのカメラ画像をmicro-ROSでトピックとして配信、 ラズパイマウス側のROS 2で画像を受け取ってOpenCVで顔を検出、 顔の位置が画像の中心かつ顔の大きさが範囲内に収まるようにスタックチャンとラズパイマウスを動かします。 注意: ちなみにラズパイマウスは自社製品ですが今回は個人開発です。宣伝とかではないです。 これまでにやったこと、今回やること まずラズパイマウスをROS 2で動かせるようにセットアップしました。 Raspberry Pi Mouseをセットアップ 次にmicro-ROSとArduinoを使ってROS 2のトピック経由でスタックチャンのモータを動かせるようにしました。 スタックチャンをmicro-ROSで動かす - Arduino編 そして今回はスタックチャンのカメラ画像をトピックで配信してOpenCVによる顔の検出を行い、 スタックチャンとラズパイマウスのモータを動かして顔を追従させます。 開発環境 開発環境は前回と同様なので前回の記事を参照ください。 スタックチャンをmicro-ROSで動かす - Arduino編(再掲) スタックチャンのカメラ画像をトピックで配信 まずはスタックチャンのカメラから画像を取得してmicro-ROSで配信します。 カメラ画像の取得方法は下記の公式のサンプルプログラムを参考にしました。 M5Stack - StackChan Camera カメラ 実際に作成したプログラムは下記です(だいたいはGeminiに書いてもらいました)。 GitHub - stack-chan_micro-ros_arduino/camera_node.ino 注意点としては画像は比較的にデータサイズが大きいため、マイコンで処理する場合は扱う画像を小さくするなどの対策が必要になることがあります。 また、micro-ROSで画像をトピックとして配信するわけですが、ここでもデータサイズに制限があってあまり大きなデータは扱えないようです。 そのため今回は.frame_size = FRAMESIZE_QQVGAのように解像度は160x120に設定して、 fmt2jpg()でjpg形式に圧縮してからCompressedImageとして配信しています。 画像がグレースケールで問題なければPIXFORMAT_GRAYSCALEを設定したり、 解像度がもっと小さくてもよければFRAMESIZE_96X96を設定したりもできます。 また、配信周期は一応5Hzに設定していますが、実際は1~2Hz程度になっていました。 以上のプログラムでスタックチャンのカメラ画像を/stackchan/camera/image/compressedというトピック名で配信できました。 スタックチャンにプログラムを書き込んでmicro-ROS agentを起動した後、rqtを使って配信されているカメラ画像を確認できました。 実行方法は下記のREADMEを参照ください。 GitHub - stack-chan_micro-ROS_arduino/README#camera 顔を検出してスタックチャンとラズパイマウスで追従する カメラ画像が取得できたので本題の顔の検出と追従を行います。 ROS 2のトピックのpublish/subscribeを行うので専用のROS 2パッケージを作成しました。 下記のGitHubリポジトリとして公開しています。 GitHub - YusukeKato/stackchan_on_raspimouse ...

作成日: 2026年5月16日 · Yusuke Kato

スタックチャンをmicro-ROSで動かす - Arduino編

はじめに KickStarterでM5Stack製のスタックチャンを手に入れたので、 micro-ROSとROS 2、Arduino IDEを使ってスタックチャンのモータの制御と現在角度の取得をやってみようと思います。 KickStarterのM5Stack製スタックチャンの情報は下記リンクです。 KickStarter: M5Stack - スタックチャン 開発環境 下記の環境で開発しています。 ROS 2を使用するためUbuntu PCが必要になります。 PC Ubuntu 24.04 LTS ROS 2 Jazzy Arduino IDE 2.3.8 Docker 29.5.0 Arduino IDE - Boards esp32 3.3.8 M5Stack 3.3.7 Arduino IDE - Library micro_ros_arduino 2.0.7-humble 2026/05/17追記:3.0.0-ironでも動作確認済み M5StackChan 1.0.1 M5Stack製スタックチャン用のプログラムはGitHubでも公開しています。 GitHub - YusukeKato/stack-chan_micro-ros_arduino ROS 2のインストール ROS 2 Jazzyの公式チュートリアルは下記リンクです。 ROS 2 Jazzy Tutorials ROS 2 Jazzyのインストールについては私のほうでも別の記事に書いたので、そちらを参考にしていただければと思います。 ROS 2 Jazzy公式チュートリアル01: ROS 2 Jazzyのインストールから動作確認まで M5Stack製スタックチャンのスペック M5Stack製スタックチャンの詳細は下記リンクの公式ページで確認できます。 ...

作成日: 2026年5月13日 · 最終更新日: 2026年5月17日 · Yusuke Kato

Raspberry Pi Mouseをセットアップ

はじめに せっかくのゴールデンウィークなので家でもロボット開発をしてみようということで、 アールティのRaspberry Pi Mouse V3(通称:ラズパイマウス)を購入してみました。 最終的にはM5Stack製のスタックチャンと連携させるところまでやりたいと思っています。 注意: ちなみにラズパイマウスは自社製品ですが今回は個人開発です。宣伝とかではないです。 ラズパイマウスについて 下記写真がラズパイマウスです。ROS 2対応で2つの車輪が付いた移動ロボットです。 詳しい情報については下記リンクの公式ページで説明されています。 株式会社アールティ - Raspberry Pi Mouse V3 ラズパイマウスの上にスタックチャンを乗せたかったのでオプションキットのマルチLiDARマウントも追加で購入してみました。 ラズパイマウスのセットアップ 開封 私はラズパイマウスのフルキットを購入しました。 ちょうどRaspberry Piも欲しかったので手に入って良かったです。 環境 今回は下記環境をセットアップしました。 Ubuntu Server 24.04 LTS ROS 2 Jazzy セットアップに使用したPCはWindows 11です。 セットアップ セットアップ手順は下記の公式チュートリアルに従いました。 基本的にはチュートリアル通りにセットアップを行ったのでこの記事では細かい説明は省略します。 RT Corporation Software Tutorials - Raspberry Pi Mouse Raspberry Pi Imagerを久しぶりに使いましたが、Wi-Fiやsshの設定も一緒にできてやっぱり便利ですね。 OSを書き込んでラズパイマウスを起動した後、まずはデバイスドライバをインストールしました。 ちなみにRaspberry Pi 4Bをディスプレイに繋ぐためにはmicroHDMIケーブルが必要です。 私はディスプレイに繋ぐのが少々手間だったので最初からsshで接続しました。 デバイスドライバのインストールが完了したら次にROS 2 Jazzyをインストールします。 CLI版のUbuntu Serverを使用しているので、ROS 2もros-jazzy-ros-baseのほう(desktop版ではないほう)をインストールしました。 ...

作成日: 2026年5月2日 · Yusuke Kato

ROS 2シェル芸:URDFを置換してRVizで表示する

はじめに アドベントカレンダーについて この記事はQiitaのROS 2 Advent Calendar 2024の18日目の記事です。 12月1日から12月25日まで毎日ROS 2に関係した記事が投稿されるはずなので、そのほかの記事については下記のリンクからカレンダーをご確認ください。 ROS 2 Advent Calendar 2024 記事の概要 この記事ではURDFを置換してRVizで表示して遊ぶシェル芸を紹介します。 やはりROS 2においてURDFは必要不可欠な要素ではありますが、 イマイチどうやっていじっていいのかよく分からないことも多々あります。 また、無理やりでもいいからURDFを書き換えたいというケースもあるかもしれません。 そこで今回はとりあえずURDFを書き換えてみて、後のことはそれから考えようというコンセプトでやっていきます。 ぜひお付き合いいただけると嬉しいです。 とはいえ本題に入る前に、まずはあらゆる読者を想定してそれぞれのキーワードを簡単に説明しておきます。 ROS 2とは何か ROSはRobot Operating Systemの略称で、ロボットを動かすためのミドルウェアです。 豊富なライブラリやツール、コミュニティなどが備わっていてとても便利だと思います。 詳しくは下記の公式ドキュメントをご覧ください。 ROS 2 Documentation シェル芸とは何か シェルのワンライナーで様々なタスクをこなすことを指します。 詳しい定義や情報については下記のページをご覧ください。 シェル芸のトップページ URDFとは何か URDFはUnified Robot Description Formatの略称で、ロボットの情報を記述するためのXML形式のフォーマットのことです。主にROSで使われています。 URDFのwikiページ 参考資料 下記が参考資料です。 Qiita - ROS コマンドラインツール シェル芸 Qiita - turtlesimの亀をなるべく簡単にたくさん出したい Qiita - シェル芸で遊ぶROS 2 URDFを置換してRVizで表示する それではさっそく始めていこうと思います。 最低限のURDFを作成 まずは下記の内容をコピペしてcube.urdfを作成します。 不完全なURDFかもしれませんが、とりあえずはこれで遊べます。 <robot name="cube"> <link name="cube_link"> <visual> <geometry> <box size="1 1 1"/> </geometry> </visual> </link> </robot> RVizでURDFを表示 作成したcube.urdfをRVizで表示してみます。 robot_state_publisherにcube.urdfを渡すことで、robot_descriptionトピックとtfトピックを配信してくれます。 ...

作成日: 2024年12月1日 · 最終更新日: 2024年12月6日 · Yusuke Kato

改訂新版『ROS 2ではじめよう』を読了&メモ書き

はじめに 近藤豊さんの『改訂新版 ROS 2ではじめよう 次世代ロボットプログラミング ロボットアプリケーション開発のための基礎から実践まで』(以下、近藤ROS 2本)が先月(2024年9月)に発売されたのでさっそく読んでみました。 私は大学生時代からROS 1を使い始めて、現在も仕事でROS 2を触っていますが、 いまだにROSに対して苦手意識というか、ROSをあまり深く理解できていないという感覚がありました。 今回は近藤ROS 2本を読むことで曖昧に理解していた知識がしっかり補強された気がして非常に嬉しい限りです。 この記事では近藤ROS 2本を読み進めていく中で気になったことや勉強になったこと、感想などをメモ書き程度で記録しておこうと思います。 書籍情報はこちらです↓ 技術評論社の書籍案内 - 近藤ROS 2本 近藤ROS 2本メモ 各章ごとに気になったことや勉強になったこと、感想などのメモを箇条書きします。 はじめに メッセージ通信の項目でトピックやサービス、アクションと並んでパラメータが紹介されているが、パラメータがメッセージ通信の一つであるという認識がなかった。パラメータの仕組み(挙動)について意識したことがなかったので勉強になる。公式のドキュメントでもどのように説明されているのか改めて確認したい。(vi) → 下記に公式ドキュメントのリンクを記載。 → パラメータにはサービスが利用されているとのこと。(62) 大学生の頃にROS 1を使っていたときは特に気にしていなかったが、たしかにROS 1を製品開発で使用するのは大変そう。ROS 2誕生の経緯も知れて良かった。(vii) MoveIt Studio(ix)、AWS RoboMaker(xii)、Foxglove Studio(xii)なども聞いたことはあるが、他人に話せる程度の知識は持っておきたい。 mROS 2はPC側とマイコン側でノードが直接通信できると紹介されているが、この「直接通信」は何を表しているのか気になる。mROS 2とmicro-ROSの違いも確認したい。(x) → micro-ROSが仲介を必要とすることに対してmROS 2は必要ないとのこと(149) 各章の構成や対象読者の説明が丁寧で勉強になる。(xiv) 公式ドキュメントにおけるパラメータの説明↓ docs.ros.org/en/jazzy/Concepts/Basic/About-Parameters 第1章:ROSの歴史 ros-oコミュニティを初めて知った。(3) ROS 2はROS 1の上位互換というよりも、もっと広く利用されるために新しいROSを作り上げたというイメージらしい。そもそもの開発された目的が違う感じかも。(4) 「1-4 ROS 1とROS 2の違い」が情報がまとまっていてかなり勉強になる。また、それ以降のDDSなどの通信の説明も充実していてありがたい。(5) 第2章:開発環境セットアップ 公式ドキュメントが英語なので、日本語のインストール方法の説明も参考になる。(21) 第3章:ROS 2の基本機能 ノード発見デーモンはいつか必要になるかもしれないので覚えておきたい。(31) colcon mixinはたまに見かけるが、よく分かっていなかったので勉強になった。(33) Pub/Subの通信を日本語でどう表現するかはやはり悩みどころ。「送信受信」、「出版購読」、「配信」も使ったりする。(35) プロセス間通信とプロセス内通信は理解できたが、それぞれの使い分け(使いどころ)が気になる。プロセス間通信のほうが汎用性は高いが、プロセス内通信のほうがパフォーマンスは高いみたいな感じだろうか。(41) 「3-4-3 コンピュータ間通信」でROS_DOMAIN_IDの説明がなかったが、ROS_STATIC_PEERSのほうが安全ということだろうか。要確認。(45) サービスは基本的に非同期通信で、疑似的に同期通信も可能にしているとのこと。なるほど。(46) アクションはフィードバックを受け取れることに加えて、途中で中断できることも特徴の一つとのこと。たしかに。(52) パラメータは設定と取得がサービスで行われるとのこと。各ノードにパラメータサーバが用意される。ノードの実行中にパラメータが書き換わるとコールバック関数が呼び出されるということも設定できる。(62) 第4章:ROS 2の応用機能 コンポーネントやライフサイクル、QoSあたりは重要であることは分かりつつも何となくの曖昧な理解のままだったので、情報がまとまっていて勉強になった。とはいえ、まだ理解し切れていない部分もあるのでまた読み返したい。(69) 現状ROS 2を使う上でセキュリティを気にする場面は少なかったが、認証やアクセス制限の機能などがROS 2に備わっているということで勉強になった。(103) 第5章:Pythonクライアントライブラリrclpy Pythonでトピック、サービス、アクションを扱う内容が簡潔にまとめられていて参考になる。(111) 第6章:ROS 2に対応したツール / パッケージ ROS 1からROS 2への移植時に中身が刷新されたツールやパッケージが多いとのこと。(本章を通して) rosbagはROS 2 Jazzyからトピックだけでなくサービスの記録にも対応したとのこと。凄い!(128) MoveItは移動ロボットへの対応も進んでいるとのこと。凄い!(135) 第7章:ROS 2エコシステム ROSBoard便利そう。(148) AutowareやIsaac ROSも触りたい気持ちは常にある。(151) 第8章:実践ROS 2ロボットプログラミング PCLはあまり使ったことがないので触ってみたい。(164) おわりに 事前アンケートで「リアルタイム制御」が一番人気なのはたしかに意外だった。あと「セキュリティ」があまり人気がないのも意外だった。(187) 本を作り上げる大変さが伝わってくる(勉強になりました。ありがとうございます)。(おわりにを通して) 付録 Windowsで動かしたい人も多そう。Dockerやrockerの説明もあって充実している。(付録を通して) おわりに 近藤ROS 2本を読み終えました。 もちろん全ての知識を自分の中に取り込めたわけではありませんが、 明らかに私のROS 2に対する気持ちは前向きになったと思います。 ROS 2の全体像や輪郭を掴めた感じがあります。 これからはROS 2を曖昧な理解のまま使うのではなく、 他人に説明できるくらい理解しながら使いこなせたら嬉しいなと思っています。 近藤ROS 2本、とても良い本でした。 おすすめです。 それでは、また。

作成日: 2024年10月10日 · Yusuke Kato

ROS 2 Jazzy公式チュートリアル02: ROS 2のノードとトピックについて

はじめに はじめに ROS 2 Jazzyの公式ドキュメントに沿ってチュートリアルを進めています。 今回はROS 2のノードとトピックを紹介します。 公式ドキュメントは下記のリンクからアクセスできます。 ROS 2 Jazzy公式チュートリアル 前回の記事 2024年9月26日の記事です。 ROS 2 Jazzy公式チュートリアル01: ROS 2 Jazzyのインストールから動作確認まで 用意するもの Ubuntu 24.04 LTSがインストールされたPC ROS 2 Jazzyインストール済み ROS 2の基本 ROS 2ではノードごとにそれぞれ動作しており、ノード同士がデータを送受信できます。 各ノード間の通信方法はTopic、Service、Actionの3つがあります。 トピックはPublisherからSubscriberへデータを垂れ流しする通信、 サービスとアクションはクライアントがサーバへリクエストを送ると、 サーバがクライアントへ処理結果のデータを返す通信です。 公式ドキュメントより画像を引用↓ ノードと通信 ros2 pkgコマンド ros2 pkgコマンドを使うとパッケージ情報を確認できます。 たとえば下記のようにコマンドを実行するとturtlesimパッケージの実行ファイルの一覧が確認できます。 ros2 pkg executables turtlesim 出力内容↓ turtlesim draw_square turtlesim mimic turtlesim turtle_teleop_key turtlesim turtlesim_node 今回はturtlesim_nodeとturtle_teleop_keyを実行します。 turtlesimを起動 前回と同様にturtlesimを起動します。 1つ目のターミナルで実行↓ ros2 run turtlesim turtlesim_node キーボード入力で亀を操作するノードも起動します。 2つ目のターミナルで実行↓ ros2 run turtlesim turtle_teleop_key ros2 nodeコマンド ros2 nodeコマンドを使うとノードの情報を確認できます。 たとえば下記のようにコマンドを実行すると起動しているノードの一覧を確認できます。 ...

作成日: 2024年9月27日 · Yusuke Kato

ROS 2 Jazzy公式チュートリアル01: ROS 2 Jazzyのインストールから動作確認まで

はじめに はじめに ROS 2 Jazzyの公式ドキュメントに沿ってインストール作業からturtlesimの動作確認まで行います。 開発環境としてUbuntu 24.04 LTSがインストールされたPCを用意しています。 公式ドキュメントは下記のリンクからアクセスできます。 ROS 2 Jazzy公式チュートリアル 過去の記事 ROS 2 Humbleの記事は下記のリンクからアクセスできます。 ROS 2 Humble公式チュートリアル 01: 環境構築からturtlesim まで 用意するもの Ubuntu 24.04 LTSがインストールされたPC ROS 2 Jazzyのインストール まずはROS 2 Jazzyをインストールします。 有志の方(Tiryohさん)のインストールスクリプトを使うと簡単にインストールできるので、 ありがたく使用させていただきます。 インストールスクリプトをダウンロード(clone)します。 sudo apt install git git clone https://github.com/Tiryoh/ros2_setup_scripts_ubuntu.git インストールスクリプトを実行します。 cd ros2_setup_scripts_ubuntu ./ros2-jazzy-desktop-main.sh インストールが完了したらsourceコマンドでROS 2 Jazzyの設定を読み込みます。 この設定を読み込む作業はターミナルを起動するたびに必要となります。 source /opt/ros/jazzy/setup.bash 下記のように~/.bashrcに書き込んでおくと毎回sourceコマンドを実行しなくて済むのkで便利です。 echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc 次のコマンドで環境変数を確認するとROS 2 Jazzyがインストールされたことを確認できます。 printenv | grep -i ROS 環境変数抜粋↓ ROS_VERSION=2 ROS_DISTRO=jazzy 以上でインストールは完了です。 turtlesimで動作確認 ROS 2 Jazzyの動作確認を行います。 動作確認には定番のパッケージであるturtlesimを使用します。 turtlesimはROS 2を学ぶための2Dの簡易的なシミュレータです。 ...

作成日: 2024年9月26日 · Yusuke Kato

ROS 2 Humble 公式チュートリアル 02: ROS 2 のノード関係のコマンド

はじめに ROS 2 Humbleの公式チュートリアルに従って勉強中です。 今回はROS 2のノードに関係するコマンドたちをまとめていこうと思います。 公式チュートリアルは下記のリンクからアクセスできます。 ROS 2 Humble 公式チュートリアル 前回の記事は下記のリンクからアクセスできます。 ROS 2 Humble公式チュートリアル 01: 環境構築からturtlesim まで 用意するもの Ubuntu 22.04 LTS ROS 2 Humble ノードの起動 パッケージ内の実行ファイルは下記のコマンドのように実行できます。 ros2 run package_name executable_name 例↓ ros2 run turtlesim turtlesim_node ノードの一覧 起動しているノードの一覧は下記のコマンドで出力できます。 ros2 node list ノードの情報 ノードの情報は下記のコマンドで出力できます。 ros2 node info node_name 例↓ ros2 node info /turtlesim おわりに ROS 2のノードに関係するコマンドについてまとめました。 この3つのコマンドを覚えておけばノードに関しては困らないと思います(ホントに?)。 それではまた次回もよろしくお願いします。

作成日: 2023年9月13日 · 最終更新日: 2024年3月30日 · Yusuke Kato

ROS 2 Humble 公式チュートリアル 01: 環境構築から turtlesim まで

はじめに ROS 2 Humbleの公式チュートリアルに従って勉強中です。 誰かの役に立つかは分かりませんが、 チュートリアルの手順や困ったポイントのメモをブログに残しておこうと思います。 チュートリアルは英語なので、日本語の情報が増えるのは良いことかもしれません。 ROS 2 Humble公式チュートリアル 用意するもの Ubuntu 22.04 LTS がインストールされたPC WindowsとUbuntuのデュアルブート方法は下記のページをご覧ください。 WindowsとUbuntuのデュアルブート ROS 2 Humbleのインストール Ubuntu 22.04 LTSにROS 2 Humbleをインストールします。 ありがたいことにROS 2 Humbleを簡単にインストールできるBashスクリプトがあります。 下記のGitHubリポジトリをcloneして使用させていただきましょう。 ros2_setup_scripts_ubuntu 下記のようにコマンドを実行すればインストールできます。 git clone https://github.com/Tiryoh/ros2_setup_scripts_ubuntu.git cd ros2_setup_scripts_ubuntu ./ros2_humble_desktop_main.sh インストールが完了したら下記のコマンドを実行してsetupファイルを読み込んでおきましょう (このコマンドは端末を起動するたびに実行する必要があります。~/.bashrcに書いてあれば不要です。) source /opt/ros/humble/setup.bash turtlesim のインストール 下記のコマンドを実行してturtlesimパッケージをインストールします。 sudo apt update sudo apt upgrade sudo apt install ros-humble-turtlesim 下記のようにros2のサブコマンドpkgを実行するとturtlesimパッケージの情報が表示されます。 ros2 pkg executables turtlesim 出力内容↓(turtlesim パッケージの実行ファイル一覧) turtlesim draw_square turtlesim mimic turtlesim turtle_teleop_key turtlesim turtlesim_node turtlesim のノードを起動 それでは準備が整ったので下記のコマンドでノードを起動します。 ...

作成日: 2023年9月10日 · 最終更新日: 2024年3月30日 · Yusuke Kato