Thought about system by Hiroyasu Ishikawa

We are uncovering better ways of developing system.

JavaScriptのスコープ

JavaScriptでは、varを付けないで変数を宣言するとグローバルと見なされる。

例:2が2個出力される。varを付けていれば2と1が出力される。

count = 1;

function getCount() {
  count = 2;
  return count;
}

document.writeln(getCount());
document.writeln(count);

ここで1つ疑問。そもそも一般的にvarを付けない形式で実装する習慣なのかどうか。
全てにvarを付けるようなスタイルが一般的になっていないのだろうか。今度調べてみよう。

動かない, Pepper

昨日は話をさせたので、本体を動かしてみようかと. が,動かない.

from naoqi import ALProxy
motion = ALProxy("ALMotion", "x.x.x.x", 9559)
motion.wakeUp()
motion.setStiffnesses("Body", 1.0)
motion.moveInit()
motion.moveTo(0.5, 0.0, 0.0)

同僚の話によると周りに物があるからダメなんじゃないかと言うことでなるべく何も所に手で移動させて見たがだめだった. うーん.次は遠隔操作ではなく,プログラムを転送して実行してみるか….

今日はここまで.

はじめてのPepper開発 with Python

所属する会社にPepperが届いて数週間、若手がPepperを弄っているのを横目で見ながら自分も触ってみた。

環境

環境はGUIベースのChoregraphe(コレグラフ)というものでなく、Pythonで。
なぜかというと、他の人がGUIベースでやっていたから。あまのじゃくである。

インストール

PythonSDKをダウンロードするには、Pepperと紐付いたアカウントが必要。
SDKくらいID登録すれば誰でも入手可能可能なようにならないのだろうか。
アルデバランのサイトのDocumentを見ればインストール方法は書いてある。
Pythonの実行環境が必要なのは無論。

Aldebaran Robotics | Humanoid robotics & programmable robots

いつものHello

いつものHello, Worldをば。

from naoqi import ALProxy
tts = ALProxy("ALTextToSpeech", "x.x.x.x", 9559)
tts.say("Hello, World!")

声のピッチとスピードを変更

声色を変えて、内線案内。

from naoqi import ALProxy
tts = ALProxy("ALTextToSpeech", "x.x.x.x", 9559)
tts.setParameter("pitchShift", 1.5)
tts.say("\\rspd=80\\組込み技術センターの内線は3213です")
tts.setParameter("pitchShift", 0)


最後に

tts.setParameter("pitchShift", 0)
しないと、通常の声色も変わったままになってしまうので注意。