プログラミング Tips

ITエンジニアの雑記ブログ。
IT関連ニュースの考察や、プログラミングに関するTipsの備忘録として…
育児や日常の雑記帳としても、記事を投稿していきます。

プログラミングと日常生活に関する情報を発信しています。

2017年09月

コマンド操作系の一覧


ファイルやディレクトリ操作に関して、

下記一覧のコマンドを説明する。

  1. ファイル・ディレクトリの一覧表示
  2. ディレクトリ構造のツリー表示
  3. カレントディレクトリ表示
  4. カレントディレクトリ変更

ファイル・ディレクトリの一覧表示

  • Windows :"dir"
  • Mac :"ls"
ファイルとディレクトリの一覧を表示する。

ディレクトリやファイルを指定しない場合は、カレントディレクトリの内容を表示する。

ディレクトリを指定した場合、そのディレクトリの内容を表示する。

ファイル名を指定した場合、そのファイルの情報を表示する。

隠しディレクトリやファイルを含めたすべての内容を表示するためのオプションもあるため、

詳細は各コマンドのオプションを参照のこと。


ディレクトリ構造のツリー表示

  • Windows :"tree"
  • Mac :初期状態では該当コマンドなし
Windowsでは、標準で用意されていて、ディレクトリ構造をツリー上に図示する。

オプション"f"を用いると、ディレクトリに加えてディレクトリに含まれるファイルもも表示可能。

また、表示の際のけい線はデフォルト2バイトのグラフィック文字。

オプション"a"を用いると、ASCII文字の「+」「|」「-」に置き換わる。

一方Macでは、標準コマンドとして対応しておらず、外部コマンドをインストールすることで

利用可能となる。具体的には、homebrewからインストール可能である。

brew install tree


カレントディレクトリ表示

  • Windows :"chdir"
  • Mac :"pwd"
Windowsでは、ディレクトリ変更コマンドである"chdir"(短縮系 "cd")の後に

何も指定しないと、現在のディレクトリが表示される。

Macでは、ディレクトリを表示する際にホームディレクトリが「~」と

省略表示されることがあるため、pwdを使うことでフルパス表示される。

カレントディレクトリ変更

  • Windows :"cd [ディレクトリ名]"
  • Mac :"cd [ディレクトリ名]"
Windows, Macともに"cd"コマンド。

パス付きで指定したディレクトリがカレントディレクトリになる。

ディレクトリ名に".."を指定すると、1階層上のディレクトリへ移動する。

ちなみにWindowsは、デフォルトではカレントドライブとは異なるドライブへ

移動することはできないため、"/d"オプションを指定する。

注意:相違点

Windowsで"cd" + ディレクトリ名省略で実行の場合、カレントディレクトリが表示

(=Macの"pwd"コマンド相当)されるが、Macで同様のコマンドを実行すると、

ホームディレクトリへ移動となる。




次回以降は、主にファイルの操作(コピー、移動、削除、名称変更) や

ディレクトリの操作(コピー、新規作成、移動、削除、名称変更)などを

解説していく予定。 

コマンド操作系の一覧

コマンド操作

OSにコマンドを直接入力することで、簡単且つ確実に目的の

処理を実行することができる。

それぞれの専用ソフトウェア(※1)上で、適切なコマンドを実行するのだが、

同じ結果を得られるコマンドも、OSごとに異なるため総てを

暗記しておくことは容易ではなく、調べ直すことも珍しくない。 
  • WindowsではコマンドプロンプトやPower Shell
  • Macではターミナル
 
よって、利用頻度の高いコマンドを中心に、Windows, Macそれぞれの

コマンドを逆引き形式でまとめていく。

 
まずWindows, MacそれぞれのOSにおいて、用いるソフトウェアについて記載する。

Windows コマンドプロンプト

Windowsでコマンドを実行するためには「コマンドプロンプト」アプリを利用する。

このアプリを起動するには、

「すべてのプログラム」>「アクセサリ」>「コマンドプロンプト」

を選択する。

コマンドによっては、管理者権限が求められる場合もある。

管理者権限で実行するためには、起動直前に右クリックし、「管理者として実行」を

選択する。

尚、管理者として実行しようとすると、「次のプログラムにコンピュータへの変更を許可しますか?」

と表示されることがあるが、「はい」の選択で問題ない。



WindowsのPowerShell

Windowsには、コマンドプロンプロに加えてシステム管理特化した「PowerShell」も利用可能。

これはWindows OSのバージョンによって、標準でインストールされている場合されていない場合(※2)があるため注意が必要。

PowerShellを起動するには、

「すべてのプログラム」>「アクセサリ」>「Windows PowerShell」>「Windows PowerShell」

を選択する。

尚、Windowsのバージョンによっては「Windows PowerShell ISE」が利用可能。

これはPowerShellのGUI版である。

Macのターミナル

Macでコマンドを実行するためには、「ターミナル」アプリを利用する。

このアプリを起動するには、

「アプリケーション」>「ユーティリティ」

内に同梱されている。

MacOSXのターミナルは日本語の表示や入力に対応している一方、

日本語で書かれたテキストファイルを表示するためには、ファイルが

UTF-8で記述される必要がある。

Windows同様にMacも管理者権限が必要なコマンドが存在する。

Macにおいて、管理者権限を得るためにはコマンドの前に「sudo」

を付与する。 "sudo"でコマンドを実行しようとすると、パスワードの

入力(※3)が求められる。

注意:シェルの変更

Macのターミナルでは、実際「シェル」と呼ばれるプログラムがコマンドを解釈している。

標準では、Linuxでよく使われる"bash"と呼ばれるシェルになっている 。

下記方法で、シェルの切り替えは可能だが、シェルを切り替えるとシェル組み込みコマンドが

変わる可能性があるため、注意が必要。

補足:シェルの切り替え

ターミナルで用いるシェルを切り替えるには、「システム環境設定」>「アカウント」から

自分のアカウントを右クリックし、詳細オプションに表示される「ログインシェル」項目で

切り替えることができる。


※1…OSごとそれぞれに使用するソフトウェアが異なる
※2…Microsoft社のWEBサイトからダウンロードしてインストールが可能
※3…ターミナル画面上には、「Password:」と表示される





▼広告の配信について

当サイトはGoogle及びGoogleのパートナー(第三者配信事業者)の提供する広告を設置しております。その広告配信にはCookieを使用し、当サイトへの過去のアクセス情報に基づいて広告を配信します。

DoubleClick Cookie を使用することにより、GoogleやGoogleのパートナーは当サイトや他のサイトへのアクセス情報に基づいて、適切な広告を当サイト上でお客様に表示できます。

お客様は下記のGoogleアカウントの広告設定ページで、インタレスト ベースでの広告掲載に使用される DoubleClick Cookie を無効にできます。また aboutads.info のページにアクセスして頂き、インタレスト ベースでの広告掲載に使用される第三者配信事業者のCookieを無効にできます。
 
その他、Googleの広告におけるCookieの取り扱い詳細については、Googleのポリシーと規約ページをご覧ください。 

 

前回の続き…

Pepperでのアプリ開発には、専用の開発ツール群を用いる必要がある。
  • Choregraphe
  • Monitor
  • Memorize

 Choregraphe:
ボックスをつなげてPepperの動作や制御を実装していく
【ビジュアルプログラミング】ツールの一種

Monitor:
カメラやセンサから得られる各種情報を確認するためのデバック用ツール 
 
Memorize:
Pepper上のデータのバックアップや復元に用いられるツール


更に、アプリ開発を進めるにあたって、 ソフトウェアライブラリや専用ツールが必要になる。
それはSDK(Software Development Kit)として提供されている。
例えば、Pepperのモジュールの開発やリモートでPepperを動作させる形式のソフトウェアを
開発するために非梅雨なツールやライブラリ、ドキュメントがまとめられている。
具体的には…
  • Python SDK
  • C++ SDK
  • Cross Toolchain 
である。

上記からわかる通り、Pepperのアプリ開発に対応したプログラミング言語は、
  1. Python
  2. C++
があり、言語に応じたSDKを利用する。尚、C++の場合は、Pepperのプロセッサ(Intel Atom)上で
自作プログラムを動作させるためにCross Toolchainを用いてコンパイルする必要がある。

 開発環境には、OSによって注意が必要である。
  • Windowsの場合、Python SDK, C++ SDKのみが利用可能
  • Mac・Linuxの場合、Python SDK, C++ SDKに加えて、Cross Toolchain含むすべてのSDKが利用可能

続いて、Choregrapheの使い方。

まずアプリ開発をスタートさせるまでに下記準備が必要。
  1. デベロッパープログラムへの登録
  2. ツールのダウンロード
  3. Choregrapheのインストール

ということで、早速手順の1から…


1. デベロッパープログラムへの登録

"Choregrphe X.X"(X.X:バージョン記載。この時は2.3を利用)をダウンロードするためには、
Pepper本体を所有しているか、アルデバランロボティクス社のデベロッパープログラムへの
登録(無料)が必要。

個人で開発を行うにあたって、Pepper所有者は多くない…と思うので、基本的に
アルデバラン社への登録になると思う。

後述するが、Choregraphe上のシュミレーターでPepper動作が確認できるため、
Pepper本体がなくとも開発を進めることは可能。

但し、発音の抑揚、顔認識センサーの動作など一部機能の確認は
実機を用いる必要が出るため、所有でなくとも職場や近くで動作確認できる環境が
あることが望ましい。

ソフトバンクショップやPepperを置いている飲食店に飛び込みで
動作確認への協力を仰ぐことも不可能…では、ないが…ハードル高い。

筆者にはその勇気はなかったので、知り合いの所有物を適宜借りている。


さて話を戻して、登録を済ませると以下が入手可能となる。
  • Choregraphe SDKなどの開発ツール一式
  • Choregrapheの無期限ライセンス
  • アプリ開発に関する様々な技術ドキュメント
  • 開発効率化のための、サンプルコードやサンプルアプリ
デベロッパープログラムの詳細内容や登録については、
「アルデバランロボティクス社」のWEBページを参照のこと。

以下登録までの簡単な手順を記載。
  1. アルデバランロボティクス社にアクセス
  2. 新規メンンバートして「Aldebaran」アカウント作成
  3. Aldebaranアカウントでログイン
  4. "ソフトウェア"ページの【PepperソフトウェアスィートX.X】を確認
  5. OSに応じたインストーラーファイルをダウンロード
以上が、デベロッパー登録(ツールダウンロードまで)の作業である。


次回は、ダウンロードしたツールのインストール方法を記載する。

Pepperのアプリ開発を始めるにあたって、まずは基本スペックをおさらいした。

人に向かって話しかけたり、身振り手振りや移動したり…

積極的にコミュニケーションをとるPepperには数々のセンサーや駆動システム、

それらを制御するハイスペックなCPUが搭載されている。

それらの構成を知っておくことで、今までにない新しいアイデアを発想する

きっかけにしたいと思う。

Pepperは…


ソフトバンクのグループ企業「ソフトバンクロボティクス」と

フランスのロボット開発会社「アルデバラン」が共同開発したロボット。

Pepperができること

  • 人が近くにいることを認識
  • 人の言葉を理解し、それぞれに対応した会話
  • 人の顔と声から、感情の認識
  • インターネットに常時接続の為、最新ニュースなどを確認&DL 
  • 周りの障害物を検知し、当たらないように動きを制御(安全に配慮した動き)
  • 開発したオリジナルのロボアプリを起動

特に興味深いのは、アプリを開発することでPepperのできることが増えていく。
今までに開発されたアプリは、例えば…
  1. ゲーム
  2. エンターテイメント
  3. コミュニケーション
  4. 情報
  5. 教育
がある。


ハードウェア仕様

本体サイズ

  • 全高:約1.2メートル (*1)
  • 全幅:約0.5メートル (*2)
  • 奥行:約0.4メートル (*3)
*1…腕をあげると、約1.4メートル
*2…腕を広げると、約1.2メートル
*3…腕を差し出すと、約0.7メートル

重量

28キログラム

移動速度

最大時速:2キロ

バッテリー

最大稼働時間:12時間

CPU

Intel Atom E3845 Quad Core 1.91GHz

メモリ

4GB

GPU

Intel HD Graphics 792MHz


タブレット仕様

ディスプレー

10.1インチ

解像度

1280 x 800 (px)

メディアファイル形式

AVI, WMV, ASF, MP4, MkV, MPG, DAT, TS, TP, TRP, 3GP

ビデオコーデック

DivX, XviD, H.264, WMV, MPEG1

ビデオ解像度

最大1980 x 1080 (px)


センサー仕様

RGBカメラ

2基(額中央、口)ー最大解像度 2560 x 1080

3Dセンサー

1基(左目)ー最大解像度 320 x 240

慣性ユニット

2基(胴体、土台)ー3軸ジャイロメーター、3軸加速度センサー

レーザーセンサー

6基ーレーザー線ジェネレーターを搭載し、レーザー線の反射を検知して周囲の状況を認識

赤外線センサー

2基(足元)

ソナー

2基(前後足元)ーレーザー では感知できないガラスのような透明な板などを感知

バンパーセンサー

3基(土台 前後左右、後方)

タッチセンサー

5基(頭部3基、両手の甲)


アプリ開発

Pepper上で稼働するアプリを開発するためには、「Pepperソフトウェアスイート」と呼ばれる開発ツールが必要になる。
  • Choregraphe
  • Monitor
  • Memorize
各ツールの説明や使い方は次回以降の説明としたいと思う。
 


本稿では、Pepperの持っている基本仕様について紹介した。

この仕様をベースにしてアプリケーションが駆動し、Pepperが動作する。

アイデア次第で、オリジナルのPepper動作を開発することができるのである!

夢膨らむ、ワクワクのロボティクス時代到来!である。

↑このページのトップヘ