Pythonの引数が参照渡しである影響
Python 2.7でちょっとつまってしまったので検証してみたら、関数の引数は以下のような例で変更されるらしい。
Pythonは参照渡しなので可変オブジェクトであるリストに関してはこういった破壊的(?)な処理が行われます。
参考サイト
Pythonの引数は全て参照渡しの件について - k_kinukawa's diary
$python >>> list = [1,2,3,4] >>> def f(list, x): ... list[x] = 0 ... return list ... >>> list_ = f(list,1) >>> print list [1, 0, 3, 4]
ROSの日本語入門書
最近知ったのですがROSの日本語ドキュメント(入門書?)がフリー公開されていました。
感激です。
詳説 ROSロボットプログラミング
Ubuntuがフリーズした際に再起動するためのMagicSysReq Key
Ubuntuがフリーズしてしまった時には「Alt + SysReq + Command Key」を正しく入力することで安全に再起動できる。
SysReqキーはない場合はPrtScキーで代用のようです。
Command Keyは「REISUB」の順に押していく。(REIでプロセスを強制終了できる場合もあるらしい)
ARdroneのシミュレーター(tum_simulator)のインストール方法(Ubuntu14.04LTS)
ARdroneのシミュレーターことtum_simulatorをUbuntu14.04LTS + ROS Indigoで動かします。
(2015/10/24訂正)
1. ardrone_autonomyのインストール
・Debianパッケージの場合
sudo apt-get install ros-indigo-ardrone-autonomy
(Indigo以外もあるそうです)
・ワークスペースにコンパイルする場合
cd ~/catkin_ws/src git clone https://github.com/AutonomyLab/ardrone_autonomy.git -b indigo-devel cd ~/catkin_ws catkin build
2. tum_simulatorのインストール
今回はワークスペースにシミュレーターをいれます。
cd ~/catkin_ws/src git clone https://github.com/algron/tum_simulator.git -b indigo cd ~/catkin_ws catkin build
(2015/10/24 tum_simulatorのレポジトリを訂正)
github上を見る限りの最新のレポジトリを選びました。
tum-vision/tum_simulatorというのが最上位のレポジトリですがIndigo用はまだのようです。
3. テスト
source ~/catkin_ws/devel/setup.bash roslaunch cvg_sim_gazebo ardrone_testworld.launch
しばらく待つとGazeboが起動して3Dモデルが表示されます。(初回はしばらくかかることがあります)
別のターミナルなどから
rostopic pub -1 /ardrone/takeoff std_msgs/Empty
送ってみるとARdroneが離陸してホバーリングします。
4. その他
ARdrone_helpersなどを入れる事でjoystick操作が可能になるそうなどと色々おもしろそうです。
OS X上でWindowsブータブルUSBが作れない?
USBにシステム修復ディスクを作るためにisoファイルを落としましたがWindowsのブータブルUSBをOS X上では作れませんでした。
OS X上でやるにはBootCampでWindowsを動かさないとダメみたいです。
ちなみにLinux上では作るアプリがあります。
bootrec /RebuildBcdで"required system cannot be found"とでるエラー
突然ですがうちのWindows7が起動しなくなりました。
なのでUSBで作ったシステム修復ディスクでシステム修復を行ったのですが、bootmgrが悪いというのは検出してくれるのですがstartup optionsが変更できないと言われました……
スタートアップ修復はもちろんできませんでした……
コマンドプロンプトでPartation 2をアクティブにしてbootrec /fixboot、bootrec /fixmbrが成功してからbootrec /RebuildBcdを行うと、"required system cannot be found"のメッセージが……
色々調べてみるとUSBポートを変えればできたという報告があり今絶賛ためしています。(報告はここ)
IPアドレスがDNSBLに登録されているかをdigで確認する
digコマンドを使ってIPアドレスがDNSBLにリストアップされているかを確認します。
DNSBLとはDNS-Based Blackhole Listのことで、スパムを送ってくるサーバをリストアップしています。
dig [domain].dnsbl_server_name
この際にdomainはIPアドレスの後ろから順にかきます。
例えば12.34.56.78をについてspamcop.netで調べたい場合は
dig 78.56.34.12.bl.spamcop.net
を実行します。