RaspberryPi2にROSを入れる


ラズパイ2にROSを入れます。
LINUX初心者なので、バリバリのデスクトップ環境をなるべく軽量に導入しつつ、
さらに有線LAN接続を使わずに無線LANのみでROS導入までたどり着こうと思います。

ラズパイのみでROS入門書である「ROSではじめるロボットプログラミング」の本を勉強することを目指します。

いくつかの種類のROS導入方法を試しました(いろいろとハマり地獄がありました)が、以下の組み合わせがおすすめです。

・OS:Ubuntu MATE(ubuntu 16.04.1 LTS/ xenial)
・ROS:ros-kinetic-desktop-full
・日本語入力:fcitx

以下、OSXでの導入事例ですが、導入の際に実際に行ったことを順に箇条書きしておきます。
これできっと、一度ぐらいラズパイを起動したことがある人なら誰もが、
挫折せずにラズパイにROSを導入できる・・・はずです。

unixなどの経験が全くなくラズパイに触れるのも初めてという人は、他のサイトや入門本を使って、
Raspbianなどより一般的なものを一度は起動させておくことをおすすめします。


【ROSをRaspberrypi+ubuntu MATEにインストールするのまとめ】


■準備物

・ラズパイ2(3もたぶん可)と電源
・ディスプレイとHDMIケーブル
・USBキーボード
・USBマウス
・Wifiドングル(おすすめは プラネックスのGW-USNANO2A等)
・SDカード(8G以上。たぶんクラス10が良い。たぶん16Gあれば安心。)


■まず、Ubuntu MATE をインストールします。

https://ubuntu-mate.org/raspberry-pi/

から、Raspberrypi用のubuntu mateをダウンロード。
このダウンロードにはけっこう時間がかかるので、作業の前日などにDLを完了させておくと便利です。

MAC OSXでのインストール方法は、前回の記事にまとめてあります。
http://fc2canned.blog54.fc2.com/blog-entry-1289.html


RaspbiにSDカードを入れて電源を入れると、自動で設定が行われます。


■SDのリサイズ

SDの現在のサイズ状況を調べます。

$ df -h

大容量のSDカードを使っている場合、容量が上限まで認識されていないことがわかります。

ここで、raspi-configをいれちゃいます。
これを入れると、Raspberrypi本体だけでSDカードの上限を認識させることができます。

$sudo apt-get install raspi-config

さっそくraspi-configを使ってファイルを拡張します。

$sudo raspi-config

ウィンドウが開くので、「1 Expand Filesystem」を選んでリターン。FINISHを押し、リブートします。

再びSDのサイズ状況を調べます。

$df -h

すると、/dev/root の容量のAvailがアップしていることが確認できます。


■Wifiの設定

デスクトップ右上の無線LANアイコンから、無線LANを設定可能です。
wifiドングルもMATEなら自動で認識してくれます。
電波を認識しない場合には、リブートで認識してくれる場合があります。
パスワード入力は入力時間が短いのでタイムアップに注意します。

ちなみにwifiドングルは、
PLANEX 無線LAN子機 (USBアダプター型) 11n/g/b 150Mbps MacOS X10.10対応 GW-USNANO2A (FFP)
を使用していますが、機器が熱くならないのでとても良い。(以前使用していたBUFFALO製はやけどしそうなほど熱くなりました。)

ここで無線LANが正常に動作すれば、有線LANへの接続一切なしでインストールから環境構築までが可能です^^


■もろもろ最新版に

$ sudo apt-get update
$ sudo apt-get upgrade


■パスワードの変更

パスワードを変更したければ下記。
$ sudo passwd

ただし、一度使ったパスワードにはたぶん戻せなくなるので注意。


■画面サイズの調整

$ sudo nano /boot/config.txt

として、config.txtを修正する。下記をアンコメントとして、数字を書き換えます。
hdmi_group=1
hdmi_mode=数字(解像度の種類。私の環境では14)

リブートで解像度変更OKです。

※nanoの使い方。書き換えたらCTRL+oで上書き。CTRL+xでnano終了。


■デスクトップのオンオフの確認

ヘッドレスサーバー用にデスクトップ表示を停止することができます。
$sudo graphical disable
$sudo reboot

もちろん、デスクトップを有効に戻すことも簡単です。
$sudo graphical enable
$sudo reboot

これなら、デスクトップ環境で作ったものをそのままロボットにも組み込みOKそうですね。


■サウンド出力をオーディオジャックに強制する場合

$sudo amixer cset numid=3 1


■サウンドノイズの軽減(ファームウェアアップデート)

$ sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-update

$ sudo rpi-update

$ sudo reboot


■デスクトップの軽量化

デスクトップのメニューから、
システム - 設定 - ルック&フィール - MATE Tweakを選択。
左のウィンドウの項目のウィンドウマネージャーから、
Marco(コンポジットなし)を選択してみる。
ウィンドウのアニメーションも切ってみる。


■日本語入力の導入

日本語表示には対応しているものの、日本語入力はできないので別途インストールします。
fcitxが安定しているらしいです。

$ sudo apt-get --install-recommends install fcitx-mozc fcitx-libs-qt5 fcitx-frontend-qt5
$ sudo reboot

デスクトップ右上のメニューバーに小アイコンが現れ、
半角/全角キーで日本語入力に切り替えができるようになります。


■ROSのインストール

いよいよROSのインストールです。
まず、ubuntsuのバージョンを確認します。

$ cat /etc/lsb-release

ラズパイ2用のubuntsu mateのubuntsuバージョンは。
Ubuntu 16.04.1 LTSで xenial
と表示されます。

今のところROSのバージョンである「indigo」はUbuntuの「trusy」と「saucy」とういバージョンには対応していますが、
当件でインストールしている「xenial」には非対応です。
しかしながら最新版のKinetic Kameはバッチリサポートされていますので、いれちゃいます。
テキストとして使おうとしている「ROSではじめるプログラミングロボット」の本はindigo対応ですがいれちゃいます。
練習なので「全部入り」のros-kinetic-desktop-fullをいれちゃいます。

参考)http://wiki.ros.org/kinetic/Installation/Ubuntu

$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 0xB01FA116

$ sudo apt-get update

$ sudo apt-get install ros-kinetic-desktop-full


※インストールにはちょっと時間がかかります。


■rosのイニシャライズ

$ sudo rosdep init
$ rosdep update

updated cash in /home/(名前)/.ros/rosdep/sources.cache
と表示されれば完了です。


■環境設定

$ echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
(この作業は待ち時間がほとんどなく一瞬で完了します。)


■頻繁に使うROSコマンドセットのインストール

$ sudo apt-get install python-rosinstall

以上でインストール作業は終了です。

念のため
$sudo reboot

ここで私の環境ではラズパイのグリーンLEDが4回点滅(loader.binが起動しない)という状態になりました。
電源を切り、再度電源を投入したところ、起動しましたが、ちょっと不安が残る仕上がりになってしまいました><
ちなみにこの再起動はけっこう時間がかかります。2回目の起動から速くなります。


■動作確認①

$ roscore

と命令すると、メッセージが表示されます。

… Logging to /home/ほにゃらら…
SUMMARY ほにゃらら
PARAMETERS ほにゃらら
NODES ほにゃらら
ほにゃらら
started core service [/rosout]

というひょうな表示がされたらOKです。

※ CTRL+c キーで、ROSの実行を停止してコマンドプロンプトに戻ることができます。これ重要です。

ここまでで「ROSではじめるロボットプログラミング」のp22までの内容の
Raspberrypiバージョンが完了!のはずです。


■動作確認②

turtlesimを起動します。

$ roscore

ターミナルをもう一つ立ち上げて、

$ rosrun turtlesim turtlesim_node

カメの画面が現れます。
さらにターミナルをもう一つ立ち上げて、

$ rosrun turtlesim turtle_teleop_key

このターミナルにフォーカスした状態で矢印キーを押すことで、画面上のカメを操作できるようになります。

これで一応、動作確認まで完了です!


th_CIMG8023.jpg

(うごいてるうごいてるとりあえずはラズパイでROSがうごいてるよいそよいぞ)
スポンサーサイト

テーマ : 自然科学
ジャンル : 学問・文化・芸術

ラズパイ用SDの準備


ラズパイでいろいろなOSとDESKTOP、ROSの組み合わせを試しているのですが、
SDのフォーマットからOSコピーまでの手順を毎回わすれるので自分用にメモ。




①SDカードを挿す
 →ディスクユーティリティでSDのディレクトリをアンマウント
  →FATで消去。

②ターミナルでSDをアンマウント
 $ diskutil list
 でカードの場所を調べて、
 $ sudo diskutil unmountDisk /dev/diskほにゃらら

③ダウンロードしたlinuxのimgファイルの書き込み
$ sudo dd if=imgファイル of=/dev/rdiskほにゃらら bs=1m
ディスクの場所にrをつけてrdiskほにゃららとし、 bs=1m も加えることで高速コピーができる。
imgファイルの場所は、ファイルをターミナル画面にドロップすればOK。

④書き込み中はターミナルが静かになるが、
 CTRL+Tで進捗が表示される。

テーマ : 自然科学
ジャンル : 学問・文化・芸術

VR-RC003とOSXでシリアル通信


2年ぐらい前に挫折したVS-RC003とのシリアル通信を少しだけがんばります。



まずVS-RC003のCN6を、コマンドポートに設定します。
(私の環境ではCN7がなぜか反応せず・・・)



スイッチサイエンスのUSB-Serial-FTDI
などを購入し、MacにUSB接続します。
ドライバを導入します。(検索で多分出てきます。)



VS-RC003のRXとUSB-Serial-FTDIのTX、
VS-RC003のTXとUSB-Serial-FTDIのRX、
をそれぞれ接続します。



OSXのターミナルから
ls /dev/tty.*
とします。
USB-Serial-FTDIの接続個所が分かります。
たくさん候補が出る場合には、USB-Serial-FTDIを抜いてls /dev/tty.*とすれば、
該当のものが消えているので特定できます。



Mac版のTeraTermのようなソフトである「CoolTerm」を導入し、インストールします。



CoolTermのOptionアイコンを推し、
Port:(先ほど調べたUSB-Serial-FTDIの箇所)
Baudrate:115200
Data Bits:8
Parity:none
Stop Bits:1
Flow Control:すべてアンチェック
Initial Line States when Port opens: どちらもOff
と設定します。
OKを押したらConnectボタンを押します。



「r」「Returnキー」と押して、
#000000 00 01 00 00 00 08 00 00 00 00 00 00 00 00 00 00
のように何か表示されれば成功です。



この先がすこし面倒で、arduinoからのシリアル信号送信がうまくいかず、前回は挫折していました。
また、不安な点を問い合わせたところ、すばやくお返事をいただきました^^
CN7がコマンドポートとして反応しない件→動くはずとのことで、おそらくボードの故障。
シリアル通信とI2Cが共存できるのか→可能だそうです。



プレステ通信コマンドを送信できるといろいろ助かるので、こちらもがんばってみます。

テーマ : 自然科学
ジャンル : 学問・文化・芸術

ニソコンmini 2016

th_2016nisomini.jpg



11月19日の理科大のニソコンminiに参加させていただきました。
事情によりヒト型レスコンを棄権してしまったため、ゼムネスで出るのはロボワン以来の大会となりました。
準備は・・・10月の練習会にちょっとやったのと、あとは前日、当日でした。
もうすこし歩行などの基礎動作をちゃんと安定させてから挑みたいものですが、納得できるほど事前調整が出来たことなどかつて一度もありませんので、大会に参加するというのはつまりそういうことなのだと最近は割り切りつつあります。




今回のニソコンは4つの競技で競われました。
①アスリート:面白い障害物競走。
②ビーチフラッグ:起き上がり+徒競走
③バトル:機体重量差1kgの差ごとに1ポイントのハンデがつくロボワンバトル。
④人気投票


バトルがダメでも①②④で挽回が可能で、③でもポイント差ハンデがあるという、軽量級と重量級が同じ土俵で競えるバランスのよい大会です。
ゼムネスの二足での大会デビュー2戦目が2012年のニソコンです。




th_ sji

お目当てはなんといっても①のアスリートです。
S字状のコースに障害物の壁レンガ(軽い)、ゴムマット、回転棒が設置してあり、まさにゲーム感覚で攻略を楽しめます。
練習の許可を得たところで、当日の現場にて大人げなくガシガシ練習します。ムスコのLRマンもガシガシ練習。
本番では少しのミスがありましたが、3位というなかなかの成績でゴールできました。

ムスコのLRマンは回転棒でドハマリ。いろいろなシーンを想定して直前練習しましたが、回転棒の下での起き上がり練習はしておらず、タイミングをつかみかねかなりのタイムロスになってしまいました。
この手の競技でタイムを伸ばす一番のコツは、現場での直前練習だと思います。一度でも練習しておけば本番での問題点を効率よく洗い出すことができ、機体のポテンシャルの上限に近い記録を出すことができます。

全体的にも七転八倒するロボットが少ないハイレベルな内容で、笑いや見せ所は少なめでした(笑)
ゴーライオーが回転棒といい感じに絡んだり、ネジ止めされた回転棒をの台を倒したりはしていました^^




②のビーチフラッグは、うつぶせ→起き上がって旗代わりのペットボトル倒す、という競技です。
前日の調整で、起き上がりモーションのムダを少しカットしておきました。
サイドステップ時のスラローム歩行機能を仕込んでいたことを競技中に思い出しましたが、第二回戦でガルーとの試合になり、プレッシャーのためか操作ミス&転倒してしまいました。メンタル面の強化が必要であります。

LRマンはモーション速度の調整までは至りませんでしたが、2試合目まで勝利できて大満足。
事前練習で歩行のクセ(弓なりなる)を把握しておき、いい勝負をしていました。




③のバトルは残念ながら1回戦敗退。
相手の転落でリードしましたが、調整不足でハイキックなどが出せず攻めあぐねました。
微妙な投げ技でかろうじて1ダウンを奪えたのが良かったのですが、
壁際に追い詰められてからのプレッシャーに負けて場外ダウン。
相変わらず、練習量不足も実感させられた試合でした。
LRマンも今回も有効なワザをちゃんと作れていなかったので、それなりの結果となりました。




④の人気投票。
昨年の6月に参加したときもここでポイントを稼ぎ1位となり、同率3位となりました。
今回はゼムネスの人気投票は2位・・・で1位はなんとLRマン。
小学生プレイヤーということで整備ブースをのぞきに来たキッズや親御さん達から「自分で作ったの?」というような質問がよく来るのですが、その度に人気投票のお願いを働きかけていたそうです。「俯瞰して勝機を見いだすべし」「もらえるものはもらうべし」という玩流拳の教えををつかみつつあるようです。
競技の合間の体験操縦でゼムネスもLRマンも少し遊ばせることができたのですが、それも得票につながったと思います。




Cxmyi.jpg

ガルー、クロムキッドに次いでゼムネスは3位!過去にも3位を経験していますが、その時は同率の3位だったので、少し成績がアップしました。
景品は東京理科大のロゴ入り「大人の鉛筆」という素敵なシャープペンでした。ありがとうございました!
鉛筆級の太芯のシャープペンなのですが、専用の芯削りが付属していて、本当に鉛筆のようです^^

学生を差し置いてそれでいいのか大人、という気もしますが、気にしない気にしない。
勉強でもなく、研究でもなく、仕事でもない。遊びという、何の責任もなくなおかつ工数とか人件費とか納期とか、全く度外視していいという無敵環境で今後とも競技を楽しませて頂きます!(もちろん大人なのでごく限られた作業時間と費用のやりくりというかなり厳しい制限はありますが)




いろいろな大会で活躍していてよく名前を見かけた「ディザイア」は今回で引退とのことで、解体されてしまうそうです。
今回もさんぽやランプランサスといった面白い感じの機体も出てきていますし、新世代の学生さんの活躍も観客として楽しみにしたいと思います。

というわけで、今回も素晴らしい大会をありがとうございました。理科大無線部の皆さん&参加者のみなさまお疲れ様でした!

テーマ : 自然科学
ジャンル : 学問・文化・芸術

ラズパイにしゃべってもらう

th_P1110528.jpg



ラズパイ。
開発環境だけ整えてうっかり満足していました!
少しずつ進めます。




"おしゃべりロボット「マグボット」"の本を使って、
ラズパイをArduinoのように使えるようになりたいです。
その前にいろいろと問題点を解決。




まず無線LANが激アツなので交換。
バッファロー製からPLANEX 無線LAN子機 (USBアダプター型) 11n/g/b 150Mbps MacOS X10.10対応 GW-USNANO2A (FFP)へ。

pi@raspberrypi ~ $ cat /etc/debian_version
8.0


OSのバージョンは8.0です。
GUIの右上のWifiボタンから接続したいSSIDを選んでパスワードを入れるだけであっという間にネット接続。




しゃべらせたいのでイヤフォンジャックをつないでみましたが、ノイズがものすごいです。
http://ogane.com/homebrew/rpi/1461/index.htmlを参考にさせていただき、
ファームウェアを更新!

$ sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-update

$ sudo rpi-update

$ sudo reboot


かなりノイズが低減しました!




本の7章の通りに音声合成関係をインストール。

誤植:
p202の/etc/rc.lolal → /etc/rc.local
p247の-x $DICDIRE \

初心者に優しそうな本でも、誤植を誤植と見抜けるレベルがないと壁にぶつかります。
初心者向けのプログラム関連本は初版を回避できれば誤植を回避できるかもしれません。

$ /home/pi/mugbot-talk-1.1.sh グアッシャ!

しゃべるようになりました^^




ラズパイを起動したら自動的にスクリプトを実行する!
についても知りたかったので試してみました。
http://torisky.com/ラズベリーパイ:起動時に自動実行したい
で勉強させていただきました。

$ sudo nano /etc/rc.local

として、rc.localの内容を書き換えます。
exit 0の前に
/home/pi/mugbot-talk-1.1.sh 起動しました。
を1行追加。




ラズパイのスイッチオンから自動的に音声「起動しました!」と言ってくれるようになりました^^
あとは外部にシャットダウンボタンとリブートボタンも設ければ、Arduinoに近い使い勝手にできそうです。

テーマ : 自然科学
ジャンル : 学問・文化・芸術

理工展


11月はロボットイベントが盛りだくさんですね!
11月5日は早大理工展のロボットフェスタと法政のROBOT-GENERATIONが同日開催。

早大・・・学生限定。バトルのみ。
法政・・・社会人OK。障害物競走&運搬ゲーム&バトル

と、内容が違います。早大の大会はROBO-ONE認定権を狙う学生にとってはチャンスとなるガチ大会なので、
KHRで参加するには法政の法が楽しそうでしたが、
先に予約をしていたこともあり、理工展の方に小5のLRマンにて参加させていただきました。




「玩流朱雀拳」のチーム名は今回から使用開始しましたが、記念すべき初大会は1回戦敗退でスタート。
重量級の機体を相手に完全に攻めあぐねてしまいました。
いろいろと事情が重なり、ワザの調整など何もできなかったのが原因です。
ロボゼロでKHRを倒したように、KHRで3kg機体を倒せる何かを編みだすべく修行をします。

th_P1110780.jpg
(ザリガニ師匠から何かを学び取ろうとするLRマン)




kikyo.jpg
優勝は桔梗さん!
カッコイイ機体なので以前から応援していましたし私としても優勝は嬉しかったのですが、
卒論のタイミングのROBO-ONE出場権を獲得してしまったとかで手放しでは喜べない御様子でした(笑)
でもおめでとうございます^^




wabo1.jpg

早稲田といえばワボット。そのワボットが53号館には展示されていて、たぶんいつでも見られます。
すごい^^そして重そう!


wabo2.jpg

おなじみの映画泥棒ワボット2も展示されています。ビバつくば万博。




ワボット2の動いているところも見てみましょう!


80年代らしいナレーションと共に。
ホントに楽譜を読んでいたのでしょうか??


こちらは泣ける選曲。シルクロード。これぞまさしく80年代。かっこいいです^^




11月6日の日曜日はヒト型レスコンに出場の予定でしたがこちらは断念。
ゲームレジェンドに行こうかデザイナーズ何とかに行こうかヒト型レスコンに出ようかルンルン気分で悩みつつヒト型レスコンへの参加を決定していたのですが、ふと家族の方を見ると堪忍袋の緒が切れかけている状態だったのでそれが決定打となり自粛しました。
事故でPCが破壊されてその復旧などに時間がかかったり、その他もろもろの悪条件も重なりましての棄権でした。
カメラもバッチリ準備していたのですが、関係者のみなさまスミマセン!

テーマ : 自然科学
ジャンル : 学問・文化・芸術

プロフィール

二名川(ニナガワ)

Author:二名川(ニナガワ)
ホビーロボットをレトロゲームが発展したものと捉えて楽しく遊び倒します。
子供が夢を見ている時間帯に稼働します。

宣伝:電子出版しました。
「コンソロイド ガイドブック」
46107_CONSOLOID_GUID_FACE_200.jpg





■作成中の機体
汎用ヒト型決戦遊具 ~RX計画~
RX-7.5 ゼロタンク
RRf-0.6 ゼニィ
RXM-7.9 ゼムネス
RX-7.5R 量産型ゼロタンク
RX-7.5Fp ファミタンク仮設1号
RX-7.7 ゼロキャノン
RX-7.8 ゼログレイ
SMS-0.1 ゼロライナー
以下続く

ブログ内検索
最近の記事
最近のコメント
カテゴリ
月別アーカイブ
リンク