Search
   ホーム       記事サポート       ダウンロード       読者アンケート       メルマガ       バックナンバ       CQ出版社   
   FPGAを全方位に使いこなす   
  
  
   初歩の遠隔制御ロボット   
  
  
   初めてのROS&位置推定   
  
  
   アナログ回路の教科書 サポート・ページ   
  
  
   1738石のフルディスクリートCPU   
  
  
   エレクトロニクス設計ツール全集   
  
  
   AIマイコン&RISC-Vの研究   
  
  
   技術書典7   
  
  
   ゼロディストーション・パワーアンプ   
  
  
   GPU全速力   
  
  
   確率統計コンピュータ   
  
  
   回路クリエイタ「TSoC」特設サイト   
  
  
   物理大実験!宇宙ロケットの製作   
  
  
   アナログウェア   
  
  
   トラ技検定   
  
  
   2018年   
  
  
   2017年   
  
  
   2016年   
  
  
   2015年   
  
  
   2014年   
  
  
   2013年   
  
  
   2012年   
  
  
   2011年   
  
  
   2010年   
  
  
   2009年   
  
  
   2008年   

 

 

 

面白い製品が見つかる!
匠たちの技術が読める!
匠たちの部屋(旧ECN)
ホーム > 記事サポート > 初歩の遠隔制御ロボット
 

スピード製作!初歩の遠隔制御ロボット

トランジスタ技術2020年12月号
特集 スピード製作!初歩遠隔制御ロボット
~ラズパイ4/Arduino/LiDAR/ROS/センサ&アクチュエータ…定番ツールで誰でも~
[特集執筆]砂川 寛行

 

 

●ロボットを動かして慣れることを体験
 筐体にさまざまなセンサを取り付けて,人の行けない場所の保守点検を行う遠隔制御ロボットが注目されています.今では,ロボットのメイン・コントローラとして,高性能なコンピュータ・ボード ラズベリー・パイが約4,000円,周囲の状況把握や地図作成に向く距離センサとして,LiDARが約2,000円と安価に入手できます.
 ロボット制御のソフトウェアは,オープンソースのロボット開発ソフトウェアROSで開発期間を短縮できます.遠隔制御においては,家庭に普及しているWi-Fi環境を使用すれば,ロボットとパソコンの双方向通信を実現できます.
 本特集では,すべて入手性が良い部品を組み合わせてハードウェアを作り,PythonとROSを使用して遠隔制御ロボット制御システムに仕上げます.人が行くことができない床下に潜り込んで,環境状況をカメラで確認したり,悪臭を検知して消臭剤を散布したりするロボットを製作します.

[ソースコード公開]
第1章,第2章,第3章,第5章のソースコード(←クリック)
I/O制御,各種センサのデータ取得,LiDAR,サーモ表示カメラ,
ROS通信プログラムをまとめたzipファイルをダウンロードできます.

 

■本誌の補足
● 温湿度/CO2/TVOC(総揮発性有機化合物量)/センサ・データをRviz画面に表示
 紙面掲載のタイミングでは,温湿度/気圧センサ・モジュールBME280TVOC/CO2センサ・モジュールCCS811の取得データを,ROS経由で母艦(マスタ)パソコンに送信するところまでの解説が間に合いませんでした.上記センサの取得データをRvizで読み取れるようにします.




● カメラと熱センサのデータ合成処理
 上記2つのセンサは,センサ表示パネルのプログラム(本誌p.40のリスト9)でデータ取得処理を実行していますが,センサのライブラリがPython3だけにしか対応していないので,その状態ではROSプログラム(紙面p.62のリスト6)で動かすことはできませんでした.また,母艦側のパソコンでセンサ・データを表示する対応も面倒だったので,サーモ表示用センサ・モジュールAMG8833と同様に取得データを画像データに変換して送信し,Rviz画面に表示させるようにしました.カメラのセンサ・データを画像イメージに変換してAMG8833の画像と合成したのちに,ROSメッセージとして送信します.


▲手順
① センサ表示パネル(本誌p.40のリスト9)のプログラムを次のリスト1に修正します.取得したセンサ・データをJSON形式にしてファイルに保存します.
リスト1:sensor_panel_json.py
保存されたJSONデータ:sensor.json
② AMG8833センサの取得データをイメージ画像として保存(処理は紙面p.41のリスト11と同じ内容ですが,保存ファイル名を変更)
リスト2:amg8833save.py
③ 上記①のJSONデータを読み取って黒ベタ画像の上にテキストとして埋め込み,AMG8833イメージ画像に合成して保存するプログラムを作成
リスト3:add_sensor_data.py
④ 上記③の画像をROSプログラムにてROSメッセージとして送信する(画像送信は紙面p.62のリスト6と同じ内容)
 ①~③までのプログラムは,起動時に自動実行するように,crontabにて設定しました.
参照:crontabの内容.txt
 メッセージとして送信する画像はPicturesフォルダに保存するようにしました.
 LAUNCH(ランチ)ファイル(本誌p.54のリスト1)にて,ROSプログラムを実行すると,母艦のRviz画面ではAMG8833のサーモ・イメージ・センサから取得したデータが表示されるようになります.

[ウェビナ開催!遠隔制御ロボ作りのヒント]
・リンク先
https://zoom.us/meeting/register/tJMpcu2urT4vHNZOK0NM4Vln2miLdOH2FLGH

■読者プレゼント
●ラズベリー・パイ4 モデルB/2Gバイト (3名様,提供:ケイエスワイ)
●1万円ロボット・ケース「Devastator」 (1名様)
 本特集の第4章で紹介したロボットの筐体です.組み立てマニュアル,金属ケース,DCモータなど同梱しています.
(※写真の筐体はLiDARモジュールとアクリル板を搭載していますが,プレゼントには同梱していません)



 

雑誌/書籍のご購入

CQ出版WebShop 定期刊行物の年間予約購読

オンライン・サービス

メール・マガジン「トラ技便り」配信登録 オンライン・サポート・サイト CQ connect

セミナ案内/イベント情報

特設ページ

基本電子部品大事典

トランジスタ技術SPECIAL

MOTORエレクトロニクス

特設ページ「お手本! トランジスタ&定番IC 回路見本市」へのリンク