[[FrontPage]

2021年の授業準備で過去の復習

BB8については接続の確認のためにはクレードルのボタンを押して動作確認しておくのが良い。あとはこのページの追記の部分でOK。

Telloについては、Tello SDKだとjoystickのものもある。

https://qiita.com/hsgucci/items/3327cc29ddf10a321f3c

にpygameを使うことになっているので、大概のコントローラが使えるはず。いたれりつくせり。

研究室2021にTello-python(SDK)のjoystick版を載せておいた。コマンドをいっぺんに送るのではなく、個別に送るようにした。スティックの一番動きの大きなものを送る。

このプログラムを動かしてみて分かるのは、ドローンのコマンドを送ったあと、特に停止コマンドを送らなくても、変動が停止されることが分かる。BB8などは一度動かすと止まらないので停止コマンドが必要だが、この状態ではそうでもないようだ。何かモードのようなものもあるかもしれない。ずっと動き続けるモードや、ちょっと動いて止まるモードのようなものが。

LinkStationのHDD読み出し

ネットで見えなくなっていたLinkstationのHDDを取り出してHDDスタンドでUbuntuPCに接続すると読めた。幸い、RAID1になっていたので両方とも読めた。なぜかスタンドでないコピー用のusbの方は認識しなかった。Diskツールで簡単にマウント、アンマウントができる。変にストライピングなどしないほうが良いですね。

AutoCADでフレット付きフランジ状物体

実体顕微鏡のサポートが支柱無しで届いた。残りを自作する必要がある。支柱の穴は塩ビパイプの径と同じだった。そこでフランジの穴に塩ビパイプを立てるものを3Dプリンターで作る時どうするか。フランジの穴は6個あるので、配列で作るがこの配列のままでは押し出せないので分離する必要がある。また円盤にフレットをつけようとすると3DモデリングでのZ軸と違う面に作図する必要がある。このときはUCSを使う。原点とZ 軸の正方向を指定する作図を仮想の立体の上に作図し、あとでその立体を消すというやり方が良さそうである。現状ではUCSを使わずにフィレット無しで作図し印刷にトライ中。

今更電子回路

 最近、小学校内容論の電源回路についていろいろ考えているうち、ピクセル検出器の電源のことが気になり、リップルを抑える回路について調べています。さらにピクセル検出器のチップの電源は当然MOSなので、MOS回路記号についても勉強しました。ややこしいのはチャンネル部に矢印がある書き方と、ソースに矢印を書くやり方があり、その向きが逆になっていることです。アトラスの仕様書などはソース側の矢印を使います。

 通常はCMOS的に使うのでVDD側にp-channelCMOSで上側にソースを持ってきて入る向き、グランド側にn-channelのソースが来て、出る向きになります。またゲートに白丸はp-channel MOSです。

 定電圧電源は面白いページがありました。

http://bbradio.sakura.ne.jp/psupply13/psupply13.html

この回路の実験をするにに必要なトランジスタは2SD2012(低周波トランジスタでエミッターフォロワ)と05Z6.2だけなので入手は簡単そうです。下側のトランジスタはよくある高周波回路用です。それが負帰還の誤差増幅器として動作するようです。勉強になりました。LTSPICEXVIIを使えば簡単にシミュレートできるかも。進展フォルダーに入れておきました。CdTe検出器でBa133の31keV信号が見えると一安心。150uのシリコンセンサーのMIP信号とほぼ同じキャリアー数。

機械学習の再挑戦

fashion-MNISTを以前よくわかないままやった。今回は手書き数字のデータセットを機械学習で取り扱う例題をやってみた。kerasというのを使うやり方が紹介されているのでほとんど同じような感じでやることになる。ただどんなデータなのかを表示する例がないのが少し残念。しかも自分でやると収束が遅く、グラフが違うものになった。

https://weblabo.oscasierra.net/python/keras-mnist-sample.html

どんな手書きデータを見て、どう判断したかについてわかりやすくしてあるページがあった。

https://gtrt7.com/blog/python/mnist-dl

飛行機とか犬とかを画像判断するCIFAR-10という例題がある。これをネットにあるやり方をコピペしてやり始めたが、なぜか時間がかかる。fitでエラーが出たのでnb-epochをepochsに変更して始めた。こうなるとIntel第10世代やアップルM1とかが気になり始めます。3万円のノートパソコンCeleron N3450だと苦しい。まあお金を使うより良いかもしれないが、週明けに来てみるとファイルシステムが壊れていた。fsck /dev/sda4だったかで復旧した。ー>時間がかかるのはCNNという複雑なNNになっているため。MNISTではシンプルなNNだった。

https://qiita.com/God_KonaBanana/items/10fa8bb58cdd1dbd2e59

実際に自分で何かやれるかというと大変そうである。コピペしただけなので。

VGG16を「断想録」というページに従ってやってみた。これは自分で学習させるのでなく、すでにある学習ファイルを読み込んで行う例。最初はPILの画像でないと言って怒られて終わった。最初のjpegを変換する時に必要なライブラリがないため。

conda install pillow

が必要。一回動かすと、500MB程度の学習ファイルは覚えていてくれるので、次はすぐ終わる。最初のAngoraの写真でやってみた。画像はcifar10より十分大きい。分類先も1000個。学習ファイルは~/.keras/modelsに入っているらしい。

頭の体操

'A geometric answer to the Basel problem' というのがRNA vaccineのビデオを見ているうちに出て来た。英語力を磨く上でも良さそう。周長2の円の上にある灯台から出る光が下に届く。円を上側に2倍ずつ増やしていく。一つ前に描いた円上の灯台と頂点を結ぶ線分を増やした円まで伸ばして灯台を置いて、灯台の数を2倍にしていく。増やした灯台の光の強さは最初の灯台と変わらないし、灯台までの距離は奇数倍あるように増えていくので、奇数の2乗分の一の級数のの2倍が最初の灯台の明るさになるという仕組みを使ってバーゼル問題が解ける。偶数の2乗分の1の和の級数は求める級数の1/4であることから、最終的な答えにたどり着く。なんたる不思議。プランク定数を求める時に使われた級数の解法の簡単なもの。ビデオでは湖の縁に並んだ灯台の光の和というイメージを使っている。

raspbian でarduino

ふた通りインストールのやり方がある。本家から取ってくるのと、apt install arduinoとやるのと。今回はaptコマンドで行ってみた。いちごのマークの「プログラミング」にできているので立ち上げると文字が日本語フォントの関係で表示されない。以下のページに従って英語表記に変更した。

https://qiita.com/tamamori/items/7d40bfb73b3a5766ce29

一応、BME280は読めた。I2CはWire.hを使って取り扱う。SPICEMANというブログにコードが載っている。

BMP280は少しお安いが湿度が測れません。でもデバイスの認識から丁寧に説明するページがありました。授業ではラズパイでなくwindowsで行った。

https://www.denshi.club/cookbook/arduino/spresense/spresensel-24-wire.html

step motor

https://techweb.rohm.co.jp/motor/knowledge/basics/basics-04/499

障害物回避のプログラム例

https://osoyoo.com/ja/2017/05/10/arduino_car_obstacle_avoidance/

読みやすいプログラムがありました。UCTRONICS K0069は障害物回避、IRリモコン、BluetoothとScratchを組み合わせたコードになっていて読みにくいです。

うなりの現象をpythonで

https://blog.proglearn.com/2020/01/25/【python】numpy-matplotlib-math-を使いこなせ!-入門②-グラフ描画を/

使っているのがリストの内包表記という技。リストを数式的に作る基本技術。radiansは角度をラジアンにする関数。振動の関数の引数が2pi*f*tであることを思い出せば意味がわかる。x軸(今の場合時間軸)がmsec単位となっている。numpyはndarrayにして、高速にCを使って行列計算するためのもの。単純にグラフだけかかすなら、listでも良さそうだけど。やって見ないとわからないところもある。

レーザー変位計のデータ表示

一点だけ読めたが、マップ状にするとするとファイルの読み書きなども考える必要がある。h5というのがあったような。->見よう見まね風にリストのリストにした。あとはバイト列を文字列に変換する必要があるかもしれない。最終桁は1ミクロンだが結構揺れてるし、台が動くわけだからそんなに精度はでないはず。やっぱり共焦点系にはかないません。

raspberry Pi 4BのGPIO

sunfounder マニュアルに従ってやろうとするとgpio readallコマンドが効かないのでネットで調べて対処した。sunfounderの安いロボットカーはpythonで動く。電池は保護回路のないのを買った。外したりするのが大変なので。

cd /tmp
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb
cd /home/pi/
git clone https://github.com/sunfounder/davinci-kit-for-raspberry-pi.git
cd davinci-kit-for-raspberry-pi/1.1.1
gcc 1.1.1_BlinkingLed.c -o BlinkingLed -l wiringPi

2.2.3温度湿度計はCだとうまく読めない。pythonだと読める。なんでか。Step Motorもできるようだが、9Vの電池が必要。

buffaloのhepnet用無線ルーター

困ったことにこれにつなぐとネームサーバーがセットされない。linux系だと/etc/resolv.confに手打ちでセットしてやるとOK. windowsはこれから調べる。->最近はなぜか問題ない。

cache serverのセッティング

named.confに自分のネットワークを入れてなかった。digでrecursionができてないとコメントが出てたので、変えて見た。

acl my-network{
       192.168.0.0/24; 192.168.10.0/24; 192.168.11.0/24; xxx.yyy.zzz.0/24; localhost;
};

UCTRONICS K0073の動作について

これはH接続という2個づつのスイッチのON,OFFを切り替える配線が内蔵されているL293Dと呼ばれるモータードライバーを使って動かすようになっている。Rasbianを入れたラズパイ4にコードのページ通りgitコマンドで入れたが、うまく動かなかった。なぜかOpenCVが入っていたのでそのままコンパイルすると2箇所エラーがあったが、エラーメッセージが分かりやすいものだった。最初に書いてあるラズパイ4用のdebianパッケージを入れておかないとピンヘッダーの割り当てが違っていて動かないとわかった。ロボットカーのサーバーサイドがCのコードなので解読すると面白そう。クライアントサイドはアンドロイドのアプリ。ロボットカーを木材で持ち上げ、テストする。歯車マークをタップして、IPアドレスをラズパイの無線ランに合わせておくと接続する。左がカメラの擬似ジョイスティックで右が移動用。この辺をPython化出来ないものか?TelloやBB8はネットにあったが。

iPhone SE2 ホームボタン

iPhone6からSE2に買い換えた。ホームボタンが不思議な感覚になっている。押すと凹む感触がなく、振動するような特殊な感覚がある。つい触るだけにすると押せていないことになるので故障と勘違いする。ロック解除が触るだけなので、触るだけと勘違いするのかも。指紋認証のスピードが上がったせいかな。

戦後10年生まれの人は

やっぱり「Midway」を見に行きますよね。Richard Bestさんがほぼほぼすべて。一人で赤城を沈めたみたいでした。しかももう一人のヒーローのマクラスキー司令官が2飛行中隊全部を加賀に集中させたミスを一人で挽回したということでした。英語のwikiが正確です。飛龍はあと2時間で日没だったのに残念。日本語wikiは日本時間なので真夜中に攻撃隊を出したことになったりしてるので現地時間を付記しないと。雷装を地上攻撃用に転換したのが最大のミス。地上攻撃は急ぐ必要がなかったのに。

https://en.wikipedia.org/wiki/Richard_Halsey_Best

レーザー変位計の通信インターフェース

http://www.omron-ap.co.nz/data_pdf/mnu/zx2-sf11_inst-3731763-7b.pdf?id=2979

最近見てびっくりのブログ

http://yuuyuusyumi.blogspot.com/

ステージをpythonで制御

コムスのステージコントローラーの通信速度は9600の4倍だった。windowsではCOM3に接続されているようなので、pyserialでそこに向けてホームポジション移動コマンドを送ると動作した。

pyserial シグマ光機で検索したら以下のページがあった。

https://github.com/elerac/autopolarizer

jitsiのテレビ会議システムを紀要に投稿

tex原稿なのでzipでフォルダーごとまとめた。

CentOSはdefaultが非接続

やってはいけないのがrestart network。切れちゃう。 どっかを変えないといけないがどこだったかな。

nmcli connection modify enp2s0 connection.autoconnect yes 

CentOS7のnamed.conf

ipv6に関連してlogにメッセージが出るのを抑制する。

http://vega.pgw.jp/~kabe/vsd/bind-unreach.html

そろそろjavaのアプレットをmainに変換?

https://nompor.com/2017/11/30/post-1503/

アニメーションもあった。

https://nompor.com/2017/12/22/post-1825/

wan側、lan側にルーターを使って分離する

よくやられているのがlan側内部にもネームサーバーを入れるというやり方。?(この辺の解釈は間違い)今の無線ルーターで名前参照ができてない。

どうも権威サーバーでhep.kyokyo-u.ac.jpについて情報を提供し、もう一台キャッシュサーバーなるものをrecursiveに情報検索するDNSサーバーとして建てる必要があったようだ。勉強になりました。無線ランルータが参照する相手は権威サーバーでなく、キャッシュサーバーにする。今までは兼用してたので良くなかったらしい。結局最低2台WAN側に必要。セカンダリーも設定したらどうか。

https://qiita.com/nk9bb8/items/9a0b678b1abdfcb958ea

CentOS 7の日本語入力

アプリケーションからfirefoxを立ち上げると入力がおかしくなる。以下のようにすれば問題なかった。

export  GTK_IM_MODULE=xim
firefox &

いろいろある。

自宅のLinux

最後がnoだったので以下の設定が必要

echo "source ~/anaconda3/etc/profile.d/conda.sh" >> ~/.bashrc
conda upgrade --all

をbaseでやっている。anaconda-navicatorが使えているので、tfからそれを立ち上げて、jupyter-notebookが使える。 まずbase端末でanaconda-navicatorを起動しapplication on のところをtfにしてからjupyter-notebookをインストールする。そのあとtf端末からjupyter-notebookを起動するとブラウザに入力画面が出てくる。

物体認識は以下のところをクローンする

https://github.com/rdeepc/ExploreOpencvDnn

opencv-pythonのversion4以上で動作する。ubuntu py27では動作した。

Telloでpose recognition

ファイルがダウンロードできなかったが、ぐぐってみるとおいてあるところが書いてあった。以下のページでまず動かしてみましょう。

http://codecrafthouse.jp/p/2018/01/picto-san-generator-using-pose-estimation/

chainerのインストールとか面倒だったので、とりあえずTelloのプログラムを起動したところ、あっさり動作した。opencvの関数だけでもpose 認識はできることがわかった。

Tello SDKの例題

Tello_Videoをやってみた。py27の環境にcondaでしてから、今まではbaseでしてたせいか、エラーが出たので以下を行った。

pip install pumpy
pip install Pillow
pip install opencv-python
python main.py

Telloの回転などはキーボードから操作する。一応写真などsnapshotのボタン押し下げで取得。

anaconda3 on ubuntu

to disable base, type as follows

conda config --set auto_activate_base false

I have created python 2.7 environment and activated it

conda create --name py27 python=2.7
conda activate py27

pygameをやってみた

(py27)でpip install pygameとしてds4で以下を試すと、あっさりハットのところがkey操作と対応していた。サードパーティのds3はハットが0でエラーとなった。

https://sd08419ttic.hatenablog.com/entry/2019/06/26/224930

BB8をジョイスティックで動かしてみた。座標軸が計算機画面でやるのがゲームなので、向こう側を0度にしようとすると逆になるので符号を反転した。あと角度を0から360度にするときはxが負のときだけ2πをたす。Xbox360とDS4の左スティックで動かすのは確認済み。

2021年の授業のデモでやろうとして、すっかり忘れていたので追記。これはドライバーが必要でgit cloneで取ってきたもの。同じところに上記のファイルを置きアナコンダでpy27として実行していたようだ。address書き換えなど詳しくは以下のものをみてください。

https://github.com/spezifisch/sphero-python

手順としては

cd py27BB8
conda activate py27
git clone https://github.com/spezifisch/sphero-python  //これでいいのか未チェック
cp ~Downloads/BB8axis.py ./
vi BB8_driver.py  // address書き換え
python BB8axis.py  //左側のjoystickで操作する。DS3互換やDS4で確認済み

BB8をpythonでやろうとしてはまる

自宅のUbuntu 18.04にanaconda3が入っていてpython 3.7.7が(base)となったときのpython

source activate py27

とするとpython 2.7となる。pip install bluepyとしてBB8test.pyをMACをBB8_driver.pyにセットするとなんと動作した。ただpipを使うと警告がでるし、

Stored in directory: /home/takasima/.cache/pip/wheels/b5...

となっているので(base)との関連、condaのパッケージの関連がよくわからず不安。

gitで入れたが2.7みたい。connectしないがどうしてか?

https://www.ipride.co.jp/blog/2510

pythonの演習教材

京都大学のPythonの演習課題がある。

https://repository.kulib.kyoto-u.ac.jp/dspace/handle/2433/245698

CentOSの日本語入力

最初に「設定」(実際はgnome-cntrol-centor)を選んだ時に「日本語」しかないが、その後「日本語(かな漢字)」が出てくるので大丈夫。

gnome-control-centor

I was trying to set japanese environment on CentOS desktop. By some mistake, gnome-control-centor become unavailable. It said

gnome-control-center: error while loading shared libraries: libwbclient.so.0: ...

I checked Web and saw the comment about sssd-libwbclient. I installed sssd-libwbclient without no understanding about the package. Trouble recovered.

fusion360でCFRP

繊維の方向とそれに直角な方向でだいぶ違いそう。10GPaと300GPaということで、 10GPaで実際と一致。CADの元の数値は130GPaぐらいだった。

http://www.performance-composites.com/carbonfibre/mechanicalproperties_2.asp

応力解析、異方性で検索するとFemtetもヒットする。ANSYSもヒットする。

windwos でtellopyはできるのか

以下のページにやり方はある。miniconda3も入れてみた。

https://qiita.com/beholder/items/158e2d29364dff392f3b

去年はDAQでpythonも使ってたので復習

pythonの仮想環境が使えるように以下の頁の通り自宅のlinux練習マシンにanacondaを入れてみた。.bashrcに自動でセットされた。個別のディレクトリに環境が配置された。

https://www.kkaneko.jp/tools/ubuntu/anaconda.html

anacondaのbaseがpython 3.7.7となった。その上でtellopyをその環境でgit cloneでいれて前のように飛ばしてみたところ、videoがエラーだがjoystickは動作した。右ボタンで離陸、左ボタンで着陸、左スティックが上下と回転、右スティックはドリフトでいわゆるモード2。openCVのversion不整合?aptではOpenCVは3.2?

File "<stdin>", line 1, in <module> cv2.error: OpenCV(4.2.0) 

AutoCADの練習

最初のtutorialをやってみている。線分を描く、トリムのオブジェクトを選択など続きの動作が想定されている時、コマンドのインストラクションを見ながらやっていくが、操作の終了を指示するためには右クリックしてメニューを表示してEnterを選択して終了する。これがわかってないと色々困る。また、オフセットの時は最初にオブジェクトを選択しておくのが、今やっているバージョン。ビデオではオフセットを選んだ後、選択してるように見える。


添付ファイル: filekiyou2020-2.zip 478件 [詳細] fileBB8axis.py 532件 [詳細]

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-12-22 (水) 23:07:04 (862d)