Windows 10 Bash on Ubuntu on WindowsでROSを動かす!

Windows 10最強!海外のフォーラムでWindows 10のWSL(Bash on Ubuntu on Windows)上でROSが動作したという情報を見て試したら動いたので、取り急ぎ手順を書いておきます。

Windows Subsystem for Linux(WSL)は、Bash on Ubuntu on Windowsとも呼ばれており、Windowsの上で「ネイティブに」Linuxバイナリを動作させる機能です。この機能とCanonical社(Ubuntuプロジェクトを支援している)の協力のもと、Windows上でUbuntuと同様の実行環境が実現できるようになっています。

以下、Windows 10でROSを動作させる方法を書いていきますが、ある程度WindowsやLinuxの使い方がわかっていることを前提にしています。また、Linux上でROSを使用した経験があるとわかりやすいかもしれません。ROS自体に関する解説はここでは行いません。

手順

とりあえず、手元のSurface Pro 3で試してみます。Windows 10 1709 Fall Creators Update適用済み環境です。1709ではついにWSLからBetaが外され、正式な機能に昇格されました。このため、1709環境を利用するのがおすすめですが、1703でもおそらく実行可能です。

WSL環境を用意

これについては記事がたくさんあるので簡単に書きます。

設定 -> 更新とセキュリティ -> 開発者向け -> 開発者モード

で開発者モードをオンにします。

また、

アプリと機能 -> プログラムと機能(一番下にある) -> Windowsの機能の有効化または無効化 -> Windows Subsystem for Linux

でWSLを有効化します。 再起動を求められたらそれに従います。

さて、Ubuntuのインストールには2つの方式が存在します。Ubuntuをストアアプリとして入れる方法と、そうでない方法です。 今後はどうもストアのほうが主流になりそうですが、Beta版として最初に提供されて情報も多いのは非アプリ版です。 私は非アプリ版で環境を作ってしまっていたのでそちらにしましたが、新しく始める人はアプリ版が良いかもしれません。 アプリ版でもし動かなければ、コメントで教えていただければ幸いです。

非アプリ版のWSLを使用するとき

Windows PowerShellを開き、bashと入力すればUbuntuのインストールが開始されます。

ストアアプリ版のWSLを使用するとき

ストアを開き、「Ubuntu」で検索してインストールします。

Windows版X11をインストールする

さて、WSLのUbuntuを触る前に、GUIの表示に必要なX11をインストールしておきます。LinuxでGUIを使わないのであれば、この項目は飛ばしてかまいません。ROSにおいて、rvizやrqt系の可視化ツールを使用するためにはX11が必要です。

Windows版X11として、オープンソースのXmingというX11サーバーを使用します。以下のサイトからXサーバー本体 Xming-6-9-0-31-setup.exeとフォント Xming-fonts-7-7-0-10-setup.exe (2017/10/19現在)をダウンロードします。

https://sourceforge.net/projects/xming/

本体、フォントの順にインストールしてください。これで、X11のインストールは完了です。

ROSをインストールする

さて、いよいよROSをインストールします!ROSの2017/10/19時点での最新はLunarですが、ここでは安定性重視で長期サポート版のKineticをインストールすることにします。以下のインストールガイドに従います。私はLunarで試していませんが、おそらく同様に動作すると思われます。

http://wiki.ros.org/kinetic/Installation/Ubuntu

それでは、WSL Ubuntuの端末を開いてください。スタートメニューから「Bash on Ubuntu on Windows」(非アプリ版)か「Ubuntu」(アプリ版)を選択し起動してください。

ROSのインストールは、ROSプロジェクトで用意されているaptリポジトリを用いて行います。 まずはaptにリポジトリを登録します。

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 421C365BD9FF1F717815A3895523BAEEB01FA116

パッケージ情報を更新します。

sudo apt update

いよいよROS関連パッケージのダウンロードを行います。使用目的に合わせて、いくつかのセットを選べます。例えばGUIを含まない最低限の構成などです。ここでは、GUIを含めたフルのセットをインストールすることにします。どのセットを選んでも、最初にインストールされるパッケージが違うだけで、後からパッケージの追加や削除は可能です。注意としては、ros-kinetic-desktop-fullを選んでもROSのリポジトリにある全てのパッケージがインストールされるわけではないという点です。

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

最後に、rosdepの初期化をして完了です。2行目ではsudoをつけてはいけません。

sudo rosdep init
rosdep update

環境変数の設定

ROSに限らずX11を使用したい場合、環境変数DISPLAYを設定してディスプレイ番号を教える必要があります。 毎回コマンドを実行するのは面倒なため、.bashrcで設定を行います。以下を最下行に追記してください。

export DISPLAY=localhost:0.0

また、ROSの関連ツールを動かすためにはROSの環境変数設定が必要で、そのためのスクリプトを端末ごとに動かす必要があります。これも面倒のため、同様に.bashrcで設定しておくと良いかと思います。以下追記します。

source /opt/ros/kinetic/setup.bash

起動するか試してみる

さて、いよいよ動作のテストを行ってみます。 まず、WSL端末を一つ開き、roscoreを起動します。

roscore

もう一つWSL端末を開き、rvizが起動するか確認します。

rosrun rviz rviz

ファイルマネージャなどをインストールする(Optional)

必要に応じて以下のようなものを入れてみるといいかもしれません。

ファイルマネージャCaja。GUIでファイル操作ができるようになります。

apt install caja

端末mate terminal。Linuxのデスクトップ環境で使っているような高機能な端末。

apt install mate-terminal

GUI関連の設定(Optional)

デフォルトでは日本語フォントやテーマが入っておらず、ものによってはGUIがまともに表示されないため、これらのインストールと設定を行います。

gtk-chthemeはGTKのテーマ設定ツール、light-themesはUbuntuデフォルトのテーマパッケージ、fonts-takaoはUbuntuデフォルトの日本語フォントです。

sudo apt install gtk-chtheme light-themes fonts-takao

インストールできたら、端末でgtk-chthemeを実行し、Ambianceなどを選択します。フォントがデフォルトで小さめなら、13くらいにしておくといいかもしれません。

また、何故かgtk-chthemeではアイコンを設定してくれないため、こちらは手動で設定します。~/.gtkrc.mineというファイルを作り、以下を書き込んでください。

gtk-icon-theme-name = "Humanity"

これでcajaなどを起動すれば、本物のUbuntuと同じように見えるはずです。

参考にしたサイト

http://janbernloehr.de/2017/06/10/ros-windows

タイ・Krabiに行きました (2)

バンコクを出てクラビへ

8/13、この日はいよいよ今回の目的地であるクラビに移動する日です。飛行機はあらかじめ予約してあり、今度はドンムアン空港からの出発です。タクシーで空港まで向かいます。タクシーの運転手がちょうどその日に子供が生まれたのだと言っていました。おめでたい。

さて、クラビでの予定は事前の計画はほぼありません。昨日食事した現地の友達の人に、おすすめを教えてもらいました。クラビ市街とビーチの町は離れている(10kmくらい)ので、とりあえずビーチまで行ってしまったほうがいいということでした。現地の人がそういうのであれば従わない理由はないので、クラビ空港から市街地は飛ばしてアオナン・ビーチに向かいます。

ついたら、とりあえずビーチまで来てみました。しかし、雨季のせいかちょっと天気が良くない。この後は雨まで降り出しました。日本と違いビーチがごった返していないのがいい。

(編集中)

タイ・Krabiに行きました (1)

2017年の夏の休みに9日ほどタイに行ってきました。前回に引き続き2回目のタイです。同じ国に2回行ったのは実は初めてです。

今回は海に行きたかったので、そのような場所を選びました。前回に行ったときに知り合ったバンコクの女性の方がクラビという場所をお勧めしてくれたので、そこにいくことにしました。相変わらず綿密に計画するのは苦手なので、今回もノープランな旅になりました。

とりあえずバンコク往復のチケットを取り、最初のバンコクでの宿泊2日分だけ予約しました。それと、バンコク-クラビの国内線往復チケットも取りました。とりあえず準備はこれくらい。初日の宿も未定だった前回より大きな進歩です。

バンコクでは現地のクラブに行ってみたかったので、Nanaという歓楽街の近くに宿を取りました。

チケットの予約は遅かったので、行きは直行でなく韓国経由になってしまいました。仁川でトランジット。

出発

今回は初めて関西国際空港から出発です。コード名はKIX。NRTやHNDと比べたら最初は??でした。

仁川着。アカペラのコンサートがあるようで、日本の人が「もののけ姫」を歌っていた。

とりあえず韓国に来たということで、ビビンバでも食べときます。

仁川でトランジットツアーへ

仁川では、トランジットツアーというものがありました。これはトランジットで時間がある人を対象に無料で空港周りのツアーをしてくれるというものでした。無料なのに観光バスで案内までしてくれて、ちょっとした韓国旅行気分でした。さすがハブ空港に力を入れている仁川だと思いました。

韓国の古民家を再現したところ。暑さは日本と変わらず。

伝統的な造りの部屋で、王様の部屋だそうです。韓国ドラマみたいなコスプレ撮影もしてもらいました(笑)。

マーケットへ。結構美味しそうな露店など多かったです。残念ながらウォンを持っていなかったので買えず。。

見た感じ街を走っている車は韓国企業のヒュンダイ自動車とKIA自動車がほとんどでした。そしてなぜか、多くの車がドアのところにスポンジを貼っていました。隣の車の傷防止なのでしょうが何故か結構いい車までが適当なスポンジ。

バンコクへ到着

深夜0時近くにバンコクに到着しました。今回はクラブに行きたかったので繁華街のNana Streetの近くのホテルを予約していました。前回の旅行から1年半ほど、またこの雰囲気に戻ってきたなと言う感じです。

ちょっと疲れていましたが、深夜2時から近くのクラブに向かいます。ネットの記事でちょろっと見ていたLevels Clubというところに行きました。

クラブは京都・大阪などでもたまに行きますが、あまり音楽に詳しいわけではありません。しかし、流れている音楽はちょっと違った感じがしました。

翌日は、夕方に以前に知り合った家族の方と食事に行く予定になっていました。しかしとても暑いわ前日ほぼ徹夜だわで昼近くまで寝ていました(笑)。まあもともと「旅行」というより「バカンス」のつもりでしたのでそれはOKです。

前回でバンコクの主要な観光スポットは行ってしまったのと、スタートも遅くなってしまったので、とりあえず前回連泊していたカオサン通りを再訪してみることにしました。

ここは全然変わらなかったです。まあ1年半しか経っていないので当然かもしれませんが。前回さんざん歩き回ったせいか、今も遠くにある感じがしません。

前回の思い出のゲストハウスもそのまま。

この後は食事に行き、夜はパブでビリヤードなどをしていました。しかし暑い暑い。

次の日は、いよいよクラビに向かいます。

 

Surface Pro 3を入手!

さて先日、前々から欲しかったSurface Proをついに入手しました!元々今年2月にBungbungame Photon2という、激安新品2万円のデジタイザペン付きWindowsタブレットを入手して、デジタルノートとしての可能性を体感していました。Photon2もノートとしての使い勝手は非常に良かったのですが、当初からKp41というブルースクリーンで落ちるエラーが多発していて、ソフト的な改善策はいろいろと試したものの一向に解決しないため、諦めて次の機種に手を出すことにしました。ネットを見ていてもそれほど不具合報告が多いわけではないので、ハズレを引いてしまったようです。元は良いタブレットだと思います。

現在最新のSurface Pro最新は5代目で、4代目が型落ちでまだ売られているという状況です。今回買うタブレットはノートPCとしても使用したかったので、スペックは最低Core i5, メモリ8GB以上で考えていました。途中、hp spectre x2という、i7/16GBというスペックで20万円、同等スペックのSurfaceより10万円も安いという製品を見つけたりもしました。が、どうも熱設計が不十分でCPUが本来のパワーを発揮できないなど評判があまりよろしくないようでした。

予算は、いいものなら20万円くらいは出してもいいかな、と考えていました。それだと、候補は前述のspectre x2か、Surface Pro 4の最上級グレード(i7/16GB/1TB)ということになります。

結局ジャンクへ。。。

しかし、ここで少し躊躇が発生します。最近の製品は高密度に作られているため公式修理が高額で、自力修理もほぼ不可能という状況があります。ネットの情報では保証期間が過ぎたあとは自然故障でも7万円くらいの修理費を要求されたというような話も見ました。また、修理情報サイトiFixitでは自力修理難易度で最高ランクがつけられています。製品には当たり外れがありますし、20万払ってこれではちょっと困ります。

あともう一つは、PCの値下がりが早すぎるという点です。例えばSurface Proの5代目とPro 4は併売されていますが、Pro 4の最高グレードのモデルでは10万円近くも公式で値引きが行われています。中古の相場なら更に下でしょう。かといって、性能面で10万円分の差があるとは思えません。

こう考えると、特に最新の機能に魅力を感じるというわけでない場合、最新という「ブランド」にプレミアム価格を払っているような感じがし、なんだかなあと思ってしまうわけです。

これまでは中古やジャンクばかりだし、そろそろ新品買ってもいいかな、と思って始まった選定作業でしたが、もやもやしながら、ふとオークションを覗いていました。

すると、見つけました、Pro 3になりますが最高グレード(i7/8GB/512GB)のジャンク品。電源が入らないことがあるという症状でした。修理は難しいということでしたがどうにもこれまでの血が騒ぎ、つい入札してしまいました。4万円と少しで落ちました。途中ヒートアップしてついポチポチ値段を上げてしまいましたが、最後は誰も追ってこなくなりました。やはりジャンクに4万は出せないという人が大半だったようです。

届いてみると、結局もとの持ち主の勘違いだったのか、不具合は一切ありませんでした。調べてみるとこの機種の公式の不具合で、古いファームウェアでバッテリ関連のバグにより落ちることがあったそうです。もしかすると、それと勘違いされたのかもしれません。これは現在はアップデートで修正されています。

そんなこんなで、結局状態のいい完動品が4万円で入手できたというわけです。結局また中古になってしまいました。

本体はよくできていると思う

とりあえず、いろんなギミックはすごいです。本体にいくつも磁気センサを搭載しており、キーボードカバー(タイプカバー)を閉じるとスリープ、後ろに回すとタブレットモードに切り替わりキーとタッチパッドが自動的に無効になるなど、使いやすくする工夫がなされています。OSとうまい具合に連携できていて、ここらへんはAppleよろしくハード・ソフト一体開発の強みが出ているように思いました。

そして、タイプカバーのキーボードは、予想に反してとても打ちやすいです。若干たわむということはありますが、極薄なのにしっかりしたタッチ感があり、キートップも広く、配置も変則的になっていたりしません。

とりあえず、環境構築を行ってみることにします。それではまた。

ROSを用いて自動運転ロボットを作る [序章]

久々の投稿になります。突然になりますが、ここ最近、とあるきっかけで自律移動・自動運転の技術に興味をもっていろいろと調べたりしています。そして、これをDIYで製作してみようと思いましたので、その記録をここに書いておこうと思います。

まずは何となく理解したこの分野のあらましから。大学院の専門などではないので間違いがあったらご指摘いただければ幸いです。というか、ROSまでたどり着けませんでした。

世間的にも、自動車の自動運転が何かと話題になってきていますが、意外とその技術的な内容は知られていないように思います。自動運転車の話題は世間的には最近の人工知能ブームに乗って出てきたようにも見えますが、実は10年以上も前から研究されている技術です。また、最近のブームは主にDeep Learningによる画像認識・自然言語処理などの技術を皮切りに始まっているように思いますが、自動運転の基礎技術はこれらとは全く別の、確率論をベースとしたアルゴリズムとなっています。

この分野の基礎技術が、Probablistic Robotics(邦訳:確率ロボティクス)という本にまとめられています。著者はSebastian Thrunというスタンフォード大学の教授で、移動ロボット分野の権威であり後にGoogle自動運転車プロジェクトのリーダーを務めた方です。

この本はかなり分量もあり数学ベースの理論もかなりあるため、読み切るのはなかなか大変そうです。私もまだ途中です。ここでは、勉強の経過なども書いていけたらと思っています。

自律移動ロボから自動運転車へ

さて、上で自動運転車の技術が昔から研究されてきたと書きましたが、最初から全て自動車において研究されてきたわけではないようです。現在の自動運転車の技術分野が生まれてくる以前に、「自律移動ロボット」という一大研究分野がありました。自律移動ロボットというと概念としては広そうですが、レーザーレンジセンサ(LIDAR)と左右2つの駆動輪を備え、マップ作成と自己位置推定、経路計画といった手順で目標位置までの移動を行うロボットを指すことが多いようです。初期の研究として以下のようなものがあります。

Minerva's Image

[Carnegie Mellon’s Robotic Tourguide Project, http://www.cs.cmu.edu/afs/cs/Web/People/minerva/]

カーネギーメロン大学の博物館で案内役を行うロボットだったようです。この実験が行われたのが1999年とのことで、かなり私たちの感覚より早くから研究が行われていたかがわかると思います。この研究を行っていたのがまさにSebastian Thrunで、後にGoogle自動運転車プロジェクトの初代リーダーを務めています。このことからも、自動運転車の技術が自律移動ロボットの技術の発展であるということがわかると思います。

誰でも自律移動ロボを作れる時代に!

さて、そこからもう少し時代が進み、2000年代後半に、ある密かなブームが起こりました。それはiRobot社がロボット掃除機・Roombaを発売したことと、Microsoft社がゲーム向けデバイスとしてKinectを発売したことによります。Roombaはともかく、Kinectは一般人より研究者が大喜びだったなどと言われていました。

それは何故でしょうか。まずKinectは、それまでにないほど安価に深度データやモーションキャプチャを行えるセンサとして使うことができたからです。これまで、上記の移動ロボのように深度データを取得するにはLIDARが一般的でしたが、これは2017年現在の低性能なラインナップでも10万円くらいする高価なセンサです。また、人間の骨格の動きを測定する専用のモーションキャプチャシステムなどはいくらするか想像もつきません。しかし、これらがKinectの登場により1万円程度で誰でもできるようになってしまったのです。これによって、趣味人やお金のない研究室などで大ブームとなりました。

もう一つはRoombaです。これはKinectほどのインパクトではないかもしれませんが、実は、安価な車輪ロボとして都合が良いものだったのです。車輪ロボで自律移動を行おうとした場合、左右それぞれのモータの速度を外部から制御できることと、エンコーダ値(車輪の実際の回転数=移動距離)を取得できることが必要となります。ですので、ミニ四駆やラジコンのようなシステムでは不十分ということになります。速度制御とエンコーダ搭載は、自作もできないことはないですが、メカや電子回路、マイコンなどの知識が必要となり、ちゃんと使えるものを作るにはそれなりに骨の折れる作業でした。しかし、Roombaは一般向け製品でありながら、外部からシリアル通信で速度制御ができ、エンコーダを搭載し、さらに(実は)強度や搬送可能重量もそこそこあるという、数万円で手に入る立派な車輪ロボだったのです。

Roombaの一般向け製品の多くが実は隠しシリアルポートを備えています。研究目的やDIYへの配慮の姿勢がさすがシリコンバレー企業という感じでしょうか。

これらKinectとRoomba、さらに制御を行うためのノートPCや流行りの高機能CPUボード(Raspberry Piなど)を組み合わせれば、立派な移動ロボが作れてしまいます。中古などを上手く使えば、1万円以下でもできるかもしれません。後は、ソフトです。ソフトも、オープンソースコミュニティの発達によって、自律走行のための高度なソフトを無料で手に入れることができます。腕があれば自分で全て作ることもできます。PC内で動くソフトの開発も面白いですが、上記のようにセンサとアクチュエータをつけることで実世界に飛び出すことができます!DIYで何でもできる面白い時代だと思います。

それでは、次回から実際の製作に入っていきたいと思います!

SHARP Mebius PC-XG70J を入手!

最近、とあるきっかけで古いノートPCを入手しました。シャープのノートPC、Mebius PC-XG70Jというものです。シャープは古くから(Windows 95以前から)PCを製造していましたが、2009年を最後に撤退してしまっていますので、今となってはそこそこレアということになります。

DCIM0102

どうやら壊れているらしいのですが、外装はキレイです。ACアダプタは調達中ですのでまだ動作確認・修理はできていません。しかし、外観を見るだけでもなかなかに面白く、よく出来た製品だと思ったので、レビューしてみることにしました。今は失われてしまったPCへのワクワク感を思い出させてくれる、PC全盛期の傑作です。

DCIM0100

↑かつては栄華を誇ったMebiusのロゴ

これは、調べてみると2005年頃の製品のようです。OSとしてはWindows XPが載っています。2006年にWindows Vistaが発売されましたので、XP後期の製品ということになります。

当時を思い出してみると、テレビ(アナログ)録画機能付きのPCが流行っていたころだと思います。また、まだスマホやタブレットが流行る前で、PCの市場としては最も活気があった頃だったように思います。日本のメーカーは特に、家電のような機能を押し出した製品をたくさん出していたと記憶しています。

2005年頃というと、そのような「家電PC」が全盛だった時代のちょうど終わりごろだったような気がします。この後、PCはもはや空気のような存在になってしまい、製品としても特色・面白みのない時代に入っていったように思います。

そして、今回入手したこのPC。家電PC時代の集大成として、あらゆる機能をてんこ盛りした豪華仕様になっています。

DCIM0103

まずは本体パームレスト部の各種ロゴシールを見てみます。OSはXP、CPUはAMDのAthlonの64ビットが載っています。MS Office 2003が入っています。独立GPUとしてATIのRadeonが載っています。そして何と、デジタルアンプやスピーカにはYAMAHA製の高級そうな(?)ものを採用しているようです。なんとも日本メーカーらしいこだわりだと思います。これだけ見ても、当時かなり力の入った上位機種だったことが推察されます。

DCIM0106

燦然と輝く「SHARP」のロゴ。

DCIM0104

そして、これこそ家電PC時代を象徴するような機能、インスタントプレイ機能です。OSを立ち上げていなくてもTVやDVDを再生でき、まさに「家電」のように使うことができるというものです。実際にはWindowsとは別の、軽量のOSをデュアルブートで起動するような仕組みだったと思います。一時期よく見かけましたが、あまり使い勝手は良くなかったように思います。

DCIM0101

そしてこのフォルムです!画面を閉じると、それはもう家電のAV機器にしか見えません!この時代をよく表した傑作だと思います。

DCIM0107

次に、背面のインターフェイス周りを見てみます。まずはTVチューナの入力端子が目につきます。この他、S端子(アナログ映像)の入力端子と出力端子がついています。

DCIM0108

そして側面には昔のゲーム機でお馴染み・アナログコンポジット入力端子が装備されていました。つまり、アナログキャプチャボードが完全に内蔵されているということで、VHSデッキや古いビデオカメラから映像を取り込むことがこれ単体できることになります。この時代に流行った(というか、よく押されていた)機能でしたが、実際にどれほどの人が活用していたのかはわかりません。自分は自宅のネコの動画を編集して遊んだりはしました。

またS端子の出力が付いていることで、テレビにPC画面を単体で出力することができます。これは当時としてもわりと珍しい機能だったと思います。

IEEE1394端子も付いているので、DVカメラから映像を取り込むこともできます。これらから、映像関係は全部入りと言っても過言ではないような仕様です。この頃、映像を自由に扱えるということでとてもワクワクしたのを覚えています。

DCIM0109

AQUOSの前に置いてみました。もう家電にしか見えないですね。今回は本体のみの入手でしたが、実際にはリモコンも付属されていたようです。

ここまで見てみましたが、当時考えられる機能を惜しげも無く詰め込んだ、これを買ったら何でもできる気にさせてくれるような、良い製品だったのではないかと思います。当時は自分が子供だったこともありますが、PCはその奥に無限の可能性を感じさせてくれる夢の機械でした。ですので、最近のように「消耗品」化してしまっている現状には多少悲しさを感じています。

入手した時にはACアダプタが無かったため、現在ネットで注文しています。電源を入れてみることができたら、今度は中身のレビューも行ってみたいと思います。

21世紀に持っていくテレビ

4月から仕事で引っ越しをして、そろそろ新天地にも慣れてきました。先日、近くのハードオフ(中古屋)にバイクを走らせて行ってみたら、ジャンク品で古い液晶テレビが出ていました。値段は何と300円。電源ランプは点くものの映らないらしく、またデジタル放送にも対応していないため、相応な値段でしょうか。

DCIM0057

これは2000年前後のシャープのAQUOS。まさにシャープが他社に先駆けて液晶テレビを発売し、成功への道を歩み始めていたくらいの時期のものだと思います。

今改めて見ても、デザインは秀逸だと思います。当時のシャープの本気が感じられます。持ち手がついているところなど最初から「ポータブル」を指向したデザインとなっています。これは液晶テレビが普及しきった現在でも珍しく、依然として先進的であるように思います。

DCIM0059

これには、シャープのAQUOSに込めたメッセージが感じられます。当時のブラウン管テレビは大人にも重く、とても持ち歩くことなど考えられなかったですが、これからは自由に持ち歩ける時代なんだ、と。

もちろん、実際にはテレビを家の中で持って歩くことなんてほとんどないと思います。しかし、そうしたメッセージを多分に発信するこのデザインや、2000年前後の時点で未来を見据えた提案をしていたことなど、大きな功績のあった製品なのではないでしょうか。

DCIM0060

裏には、キタ トシユキさんという方のデザインであるというサインが入っていました。

ジャンク品なので、電源アダプタはついていませんでした。早速ネットで検索します。したら、地元・東京の秋葉原でよくお世話になっていたとある店に何故か大量に在庫があることがわかりました。しかも安い。東京にいたら即翌日向かっていたところですが、今はそうもいきません。ネットで注文します。

しかし、ハードオフによれば電源を繋いでも何も映らないそうなので、修理を試みることになりそうです。修理が趣味、というのも珍しいと思いますが、偉大な先輩方が作った「作品」に直に触れることができ、なかなか面白いことです。

Zenfone 5 LTE(Lollipop日本版)のroot化

IMG_0001

先日、ついにZenfone 5 LTE日本版のAndroid 5.0(Lollipop、12.4.5.57)アップグレードが公開されました!このroot化方法を紹介します。台湾のコミュニティで共有されていた方法をベースにしています。
http://apk.tw/forum.php?mod=viewthread&tid=703649

この方法では、root化それ自体にはKingrootという中国製アプリを使用します。このアプリはroot化はできるのですが、スパイウェアのような挙動を示すということが言われています。また、新しいLollipop ROM(12.4.5.42など)では使用できないという問題もあります。

これに対応し、以下の方法では

  • Kingrootに情報抜き取りの隙を与えないようにしつつroot化
  • その状態でKingUser(Kingrootによるroot権限管理アプリ)をSuperSUで置き換え
  • root化を維持しつつ最新のROMにアップグレード

という操作を行います。

具体的には、個人情報が全く入っていないまっさらな状態の古いROM環境でKingrootによるroot化を行い、KingrootをSuperSUに置換、さらにsuのみを維持する細工を施したうえで最新のROMにアップグレードする、という手順を踏むことによって、一般的なSuperSUによるroot化と最新のROMのroot化を実現します。

手順の概要

これから行っていく手順の概要は次のようになります。経験のある人ならこれだけ読めば十分かもしれません。

  • SD、SIM抜く
  • WW_12.4.5.22を書き込み、そのままファクトリーリセット
  • 内部メモリにKingroot(.apk)をコピー
  • Kingrootでroot化
  • 開発者モードをオン、USBデバッグをオンにする
  • RootToolsから、Remove_Kingroot.bat、Root_Survival.batを順に実行
    • 途中、デバイスの画面にroot権限取得を許可しますか?という旨のメッセージが出るので承認
  • 内部メモリにJP_12.4.5.57.zipを転送
  • JP_12.4.5.57を書き込み
    • ここでファクトリーリセットしないこと!
    • 初回起動時に、Root_Survivalで仕込んだ再root化のスクリプトが実行されます
  • 再起動
  • 初期設定画面が出たら、電源OFF、リカバリモードからファクトリーリセット
  • 通常通りセットアップし、PlayStoreからSuperSUをインストールし完了!
  • 完了

Kingrootに情報抜き取りの隙を与えないため、かなり冗長な手順を踏んでいます。

準備

Kingrootのダウンロード

まずはKingrootをダウンロードします。公式サイトでダウンロードすると新しいバージョンになってしまい、上記のツールで除去できないソフトが含まれているため、下記のサイトからダウンロードできる古いバージョンを使用することをおすすめします。

http://www.asus-zenfone.com/2015/05/how-to-root-asus-zenfone-5-lte-t00p-lollipop.html

MicroSD,SIMカードを抜く

KingrootにMicroSD内のデータやSIMのデータへアクセスされないよう、あらかじめ抜いておきます。

公式ROMのダウンロード

以下のASUS公式サイトからROMをダウンロードします。「OS」として、Androidを選択してください。その中から、最新のroot化を行いたいバージョンと踏み台となるバージョンの2つをダウンロードします。2015/10/27現在日本版最新は「JP_12.4.5.57」、世界版最新は「WW_12.4.5.50」です。踏み台バージョンとしては、「WW_12.4.5.22」をダウンロードしてください。

https://www.asus.com/jp/Phones/ZenFone_5_A500KL/HelpDesk_Download/

日本版と世界版

日本版ROMと世界版ROMの違いですが、日本版Zenfone 5にはどちらのROMも書き込むことができます。現状ではJP_12.4.5.57とWW_12.4.5.50を比較すると日本版のほうがOS自体の改良も進んでおり、最新のセキュリティパッチ(StageFright2.0対応)などがあたっています。一方世界版では、カメラのシャッター音が消せるなどのメリットがあります。世界版でも日本語表示はほぼ問題ありませんが、日本版のほうが日本語フォントの表示が綺麗に調整されています。

Kingroot、RootToolsのダウンロード

RootToolsは、以下の台湾のコミュニティで公開されている今回の方法に用いるツールです。

http://apk.tw/forum.php?mod=viewthread&tid=703649

その中のURLである以下からRootTools.zipをダウンロードしてください。

https://mega.nz/#F!tlMCBSBZ!Jh8Hd_T46G5zRcn9mORk9A

また、Kingrootのapkは以下のサイトのURLから取得してください。

http://www.asus-zenfone.com/2015/05/how-to-root-asus-zenfone-5-lte-t00p-lollipop.html

作業手順

踏み台バージョンの書き込み

まずは、これから端末を初期化するため現在の環境を完全にバックアップしてください。端末をリカバリモードで起動し、踏み台バージョンのROM(WW_12.4.5.22)のZIPファイルを選択し書き込みを行ってください。書き込みが成功したら、続けて「wipe cache partition」「wipe data/factory reset」を選択し、端末のデータを全消去します。これで、端末上から全ての個人データが消去され、Kingrootを実行しても抜き取るデータがない状態になりました。

終了したら「reboot system now」を選択し、踏み台バージョンで起動してください。ここで初期設定画面が表示されます。ここで、各種アカウント情報は絶対に入力しないでください。ただし、WiFiだけはKingrootの実行に必要なためパスワードを設定してください。これも気になるようであれば、公衆WiFiや一時的にMacのインターネット共有機能を使用することなどを考えてください。Kingrootの実行にWiFiを必要とする理由としては、第一には機種に合わせたroot化方法をダウンロードするためです。

踏み台バージョンのroot化

踏み台バージョンのOSが起動したら、設定から「提供元不明のアプリ」を許可し、また開発者モード・USBデバッグを有効化してください。このあたりの方法に関しては他サイトを参照してください。

また、PCにUSB接続しKingrootのAPKを本体メモリの最上位にコピーしてください。

完了したら、「ファイルマネージャ」アプリからKingrootのインストールを行い、そのままKingrootを起動、指示に従ってroot化を行ってください。終了したら、再起動せずにそのまま次の手順に進んでください。

SuperSUによる置き換え

ここで、いよいよ台湾コミュニティで開発されたRootToolを使用します。まず、PCのどこかにRootTools.zipを展開し、各種ファイル(Remove_Kingroot.batなど)があるディレクトリでコマンドプロンプトを開いてください。

ここで、コマンドプロンプトでRemove_Kingroot.bat、Root_Survival.batを順に実行します。前者はしばらくすると表示が止まりプロンプトが返ってきませんが、その状態になったら終了していますのでCtrl+Cで停止してください。エラーがでなければ成功です。途中、端末の画面にroot権限の使用を許可するかどうかのポップアップが表示されるので、了承してください。

これにより、まずKingroot関連ファイルを削除しSuperSUで置き換え、その後再root化プログラムがOSアップグレード後に読み込まれるように設定されます。

終了したら、最新のROMを内部メモリにコピーしてください。

ここで再起動を行います。再起動したらリカバリモードに入ってください。

最新ROMの書き込み(再root化)

リカバリモードに入ったら、先ほどと同様の手順で最新ROMのZIPファイルを選択し書き込みを行ってください。ここでは、ファクトリーリセットは行ってはいけません!先ほど仕込んだ再root化のスクリプトは、最新ROMの初回起動時に自動的に読み込まれ、処理を実行するように仕掛けられています。終了したら、再起動してください。

最新ROMで起動しますので、初期設定を行ってください。ここではWiFiも含め全ての情報を入力しなくて構いません。適当にスキップしつつ、ホーム画面が表示されるところまで行ってください。

メニューを表示し、アプリの中にKingroot関連アプリが残っていないことを確認してください。SuperSUは残っていると思います。

確認したら、再度リカバリモードに入ってください。

最後の仕上げ

リカバリモードに入ったら、総仕上げとして「wipe cache partition」「wipe data/factory reset」を行いユーザ領域のデータを全消去します。既にシステム領域にsuは転送されているため問題ありません。念のためシステムを初期状態に戻し、全バージョンから引き継いた余計なファイルを削除するようにしています。

再起動したら、今度は通常通りセットアップしてください。アカウント情報などを入れて構いません。メニューを開くと、SuperSUなどは全て消えていると思いますが、正常です。この状態でシステム内部ではroot化が行われていますので、Play StoreからSuperSUをインストールし、完了となります。

おつかれさまでした!

Windows 10の使いにくい部分を修正!!

こんにちは!去る7月29日、ついにWindows 10が公開されました!まだまだ行き渡ってはいないかもしれませんが、Windows 7, 8.1を使用している人は無償でアップグレードすることができます。XP/Vistaを使用している方は購入するしかありません・・・。

Windows 10では、タブレット向けを強く意識した8から方針転換し、7以前のようにPCを主眼においたデザインに戻されました。批判が強かったとはいえせっかくやった大転換をまた元に戻したことについては少し残念な気もしていますが、PCで使う以上は使いやすくなったと言えます。と言いますか、PCで使うWindowsとしては過去最高の完成度だと私は思っています。

まず、Windows 10ではOSの中核部分であるカーネルのメジャーアップデートが行われ[https://ja.wikipedia.org/wiki/Microsoft_Windows_10]、体感速度が大きく向上しています。最近のハードウェアを利用している場合は特に、7よりも断然速いです。OSXもそうですが、最近のリリースはハードウェアの要件をあまり上げずに軽量化に主眼をおいていますので、Windows 10はCore 2 Duo世代(Windows Vista世代)くらいのPCでも十分その恩恵を受けることができます。

ですが、残念なことに表面的な部分ではいくつか使いにくいところがあります。それは、スタートメニューと画像ビューアです。実力はあるのに、実にもったいないことです。ここでは、その解決法を提案します。

使いにくいかもしれない点: 新しいスタートメニュー

Windows 10の特徴として、新しくなったスタートメニューがあります。これはこれで悪くはないのですが、XPやそれ以前からWindowsを使ってきた人たちにはやはり馴染みにくいところがあるかもしれません。

new_startmenu_mod

そこで、まずはこれを従来の使い勝手に戻すTipsを紹介します。これには、Classic Shellというフリーウェアを利用します。旧来のスタートメニューを再現する同様のソフトはいくつかあるのですが、あるものは完成度は高いものの有料、またあるものはアドウェア疑惑があるなどで、私の一番のおすすめはこのソフトです。

Classic Shellを利用することで、以下のような旧来のスタートメニューに似たスタートメニューを再現することが可能になります。

classicshell

それでは、インストールを行いましょう。

Classic Shell公式サイト

http://www.classicshell.net/

英語のサイトになりますが、臆することはありません。「Download Now」をクリックし、ダウンロード、インストールしましょう。

インストールが完了すると、細かい見た目や使い勝手を設定するウィンドウが出ますので、適宜設定を行います。わからない場合は、そのままでも大丈夫です。

使いにくい点: 「フォト」アプリ

photo

うーん、、私としては、ここはいまいち理解できません。Windows 10では画像ビューアが「フォト」というModernアプリになってしまいました。Modernアプリは主にタブレットを志向したデザインで、PCでは利用しにくいものです。例えば、右クリックメニュー等は使えません。しかも、現状ではModernアプリは従来のWin32アプリと比較し動作速度が遅く感じられます。これも、従来のようなものに戻しましょう。

画像ビューアのフリーソフトはいくらでもあるのですが、使用感やシステム全体の安定性の観点から、できれば純正のものを使用したほうが良いということがあります。そのため、ここではMicrosoftがWindows 7の時期に提供していた、「Windows Essentials」という追加パッケージに含まれる「フォト ギャラリー」を利用することにします。インストールは問題ありませんでした。

photogallery

以下のサイトから、ソフトウェアをダウンロードし、インストールを開始します。

http://windows.microsoft.com/ja-jp/windows-live/essentials

インストール中、「フォトギャラリーとムービーメーカー」だけをインストールするよう指定します。OneDriveなどはもともとインストールされているソフトと競合する可能性があります。「Windows Live メール」は欲しければインストールしても良いかもしれません。「Windows Live Writer」は使いやすさで定評があるブログクライアントです。というか、この記事もLive Writerで書いています。

インストール時に.Net FrameWorkのインストールが始まった場合は指示に従います。

インストールが完了したら、何か画像を開いてみてください。その際、どのソフトウェアで開くか聞かれると思いますので、「フォト ギャラリー」を指定してください。

これで、旧来のような使いやすい画像ビューアで画像が開かれるようになります。

おつかれさまでした。

新しいiPod touchはAndroidとの2台持ちに最適!?

先日、新しいiPod touch(6G)が発売されました。touchとしては久々のアップグレードで、期待してた人も多かったようです。iPhoneがだいぶ普及して、こちらが話題になることが多いですが、実はtouchを欲してる人も意外に多いようです。

その理由は価格にあるかもしれません。iPhoneはとにかく高額で、SIMフリー機であれば64GBで98800円もします。その点、touchであれば36800円です。

ですが、私が注目するiPod touchの利点はずばり「BlueToothテザリングに対応している」ことです。これにより、別でAndroidスマホやモバイルルータを持っている場合、ほとんど契約中のiPhoneと同様に使えるようにできるかもしれないのです。

今回のアップグレードで、性能的にはiPhone 6に近いものとなりました。以前の機種(5G)は見た目はiPhone 5に近いものでしたが、チップで言えば4s相当でした。iPhone 6との主な違いは、GPS非搭載であること、Touch ID(指紋認証)がないこと、当然ながら携帯電話ネットワークに接続できないこと、などです。この他にも、チップやカメラもわずかですが6とは差別化(touchが格下)されているようです。

私は現在、解約したiPhone 5とZenfone 5の二台持ちをしています。SIMはZenfone 5に刺し、ZenをWiFiテザリング状態にして、iPhone 5をZen経由でインターネット接続するようにしています。こうすることで、回線契約一つで複数の端末をネット接続できるようになります。(iPhone 5はSIMロックがかかっており、現在の契約はIIJmioのため、逆を行うことはできません。)

ただ、テザリングはWiFiではなく、Bluetoothを使ったほうが、両方の端末とも消費電力が少なくて済みます。これなら、テザリングを常時オンにしておき、全ての端末を常時接続しておくことも可能です。(もっとも、Zenfone 5のWiFiテザリングは優秀のようで、WiFiテザリングでも何とか一日バッテリーは持つようです。)

ですが、ここで問題があります。iPhoneは、Bluetoothテザリングの「子機」側になれない仕様になっています。Bluetoothで子機になれるのは、iPadとiPod touchに限定されています。これは技術的な理由ではなく、おそらく政治的な理由です。iPhoneは世界中のモバイル事業者を通じて販売されることが想定されているため、他の回線でテザリングされるのは嬉しくないのでしょう。(WiFiはテザリングかどうかを判別できないため、許されていると思われる。)

しかし、iPod touchではそれができてしまいます

しかも「050 plus」などのIP電話アプリを使用すれば、携帯電話契約がない端末でも電話ができてしまいます。もちろん、050番号になりますが。050 plusはNTTコミュニケーションにより月額基本料324円で提供されています。この便利な使い方については別な記事で述べようと思います。

とにかく、iPod touchとZenfoneなどを組み合わせれば、2台持ちにはなってしまいますが、格安でiOS、Android両方の端末を持つことができるようになるというお話でした。