Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

2018-04-01から1ヶ月間の記事一覧

FPGAボードPapillo ONEであそぶ その3:VHDLのための環境構築

FPGAボードPapillo ONEであそぶ その2:公式提供のbitファイルでLチカ - Bye Bye Moore の続き。 用意されたbitファイルを書き込んでいるだけでは何も進まないので、 自前のVHDL環境を構築します。 実際のところ 作業環境はUbuntu16LTS on VirtualBoxです。…

FPGAボードPapillo ONEであそぶ その2:公式提供のbitファイルでLチカ

shuzo-kino.hateblo.jp の続きです。1ヶ月以上開いちゃいましたが……。 公式提供のbitファイルを使ってLチカまでいってみます 実際のところ まずはUSBポートをあけます shuzo-kino.hateblo.jp次に必要なライブラリ群を導入 あとで使うのでgitも入れときます …

オブジェクトの一部を非表示にする

Blenderではモデル編集モード時にオブジェクトの一部を非表示にする モデルが入り組んで来た時に使える手法です 実際のところ こんな感じで適切に Hを押すと、隠れます Alt+Hで選択したトコ以外が表示

Jupyter Notebookに外部拡張を導入する

今回はJupyter Notebookに外部拡張を導入する方法です。 例としてJavaScript製マップ活用ライブラリleaflet.jsのJupyter Notebook用拡張、ipyleafletをいれてみます。 実際のところ 環境導入 $ pip install ipyleaflet $ jupyter nbextension enable --py --…

Jupyter Notebookの結果をPDF等々に出力する

Jupyter Notebookの結果をPDF等々に出力する方法です。 内部的にはTeXを援用しています。 他にはMarkdownやpy、HTMLなんてのもあります。大本がJSON形式で把持しているので、頑張れば他の形式にもできそう。 実際のところ 前提 macOS 10 環境導入 利用するた…

Jupyter Notebookをつかう

Jupyter Notebookは対話型のドキュメント生成を可能とするライブラリです。 かつてiPythonと呼ばれていました。 最近は動かしながら検証できるドキュメント兼サンプルというプログラミング便利フレームワークとして 学術系を中心に活用されています。 実際の…

Python3でQRコードを生成する

pypi.org 実際のところ 導入 $ pip install qrcode別途画像が必要な場合、画像生成ライブラリpillowが必要です $ pip install pillow コマンドで生成 何もしないとASCIIアートで出てきます bashなら、そのまんまカメラで認識可能です $ qr "https://duckduck…

表計算ソフトウェアで文字列と数字を結合する

今回は表計算ソフトウェアで文字列と数字を結合する方法です 実際のところ 難しい事はなく、&記号で繋いでやるだけ =6&"月"こうなります 参考もと 文字列と数値を結合する - Excel

【イベントログ】技書話人伝に行ってきました

shuzo-kino.hateblo.jp と同日、少し離れた通運会館という所で技書話人伝という これまた技術書系のイベントがやっていました。 この通運会館、以前技術書展の会場になった所でもあります。 gisho-wajinden.techblog.jp さて、主催さんは開催にあたって以下…

【イベントログ】技術書展4に行ってきました

技術書専門のイベント、技術書展が今回も秋葉原UDXで開催されたので行ってきました。 https://techbookfest.org/event/tbf04前回はこちら。 shuzo-kino.hateblo.jp生憎の天気だった前回と異なり、今回は条件に恵まれ物凄い人手でした。 会場の様子 主観では…

面を分割する

こんな感じで分割したBOXがあるとして ここで"Y"を押すと完全に分離できます。 作り込んだハッチ部分を後で稼働可能にする場合なんかには、 特に重宝しそうです。 オブジェクトとしては分離しないので注意 参考もと www.youtube.com

【イベントログ】Tech frontier 2018に行ってきました

幕張であった、Tech frontier 2018に行ってきました 会場の様子 モッタイナイエナジー 磁力テープで誘導 分解能が細かいサーボ Ip67対応のステッピングモーター 物凄い保持力の電源コネクター 受け手未加工で20kgキープできるそうです! スーパーキャパシタ…

リスト初期化で使える小技

Python3でリスト初期化で使える小技 answer1 = ([1]*8 + [0]*2)*2 answer2 = [1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0] answer1 = answer2 #=> True これならまぁ頑張る気にもなりますが…… こういうパターンだと割と重宝しそうです。 a…

PythonのRoundメソッドも整数部分の切り上げにつかえる

shuzo-kino.hateblo.jp 他のLLと同様、PythonのRoundメソッドも負の値を与えると整数部分の切り上げにつかえます。 しかも、整数か小数点持ちかで結果をちゃんと切り分けてくれる親切仕様。 実際のところ round(2018,-2) # 2000 round(2018.0,-2) # 2000.0 …

unittestのテスト関数にも色々とある

shuzo-kino.hateblo.jp の流れで。 unittestには色々とテスト関数があります。 実際のところ assertEqual/assertNotEqual a = 1 b = 1 self.assertEqual(a, b) # => OK c = 2 self.assertNotEqual(a, c) # => OK 型固有を使わなくともassertEqual/assertNotE…

unittestをコマンドラインから個別に実行

shuzo-kino.hateblo.jp の続き。 参考もと 上記記事のような構成で、test_module.pyのTestModuleクラスについて実行したい場合は以下のように。 $ python -m unittest test_module.TestModule setUp . setUp . --------------------------------------------…

Python3標準添付のunittestで・テスト書きながら実装する

ここのところ使い捨てのスクリプトばっかりやっていて感覚が鈍ってきたので、 新規プロジェクトはリアルに数年ぶりにTDD的方法でやろうと思い立ちました。 幸い、今回使うツールであるPython3はかなりしっかりしたテスト ライブラリ"unittest"がついてます。…

ウェイトペインティングでボーンの動作に重み付け

shuzo-kino.hateblo.jp ではオブジェクトの配置にウェイトペインティングをつかいました今度は、モデル動作のために使ってみます。 実際のところ 各ボーンについて、こんな感じで色付け 重みに対して、このように影響範囲が決まります。 参考もと www.youtub…

ウェイトペインティング(Weight Painting)機能をつかって、オブジェクトを配置する

ウェイトペインティング機能を使うと広い範囲にオブジェクトを一気に配置できたりします 実際のところ ウェイトペインティング ウェイトペインティングで重みつけをします ウェイトペインティングモードを選択 面を作成、細かく分割します ウェイトペインテ…

オープンソースな実用ロボットアームTsukArm その9:外部入力で動作を切り替える

shuzo-kino.hateblo.jp のシリーズ第9回めの今日は、外部入力から動作を切り替える方法です。これまでは単独の動きだけを考えてみましたが、 実際のアプリケーションではいくつかの動作を使い分ける必要が出てくるはずです。 そういうわけで、今回は外部入…

オープンソースな実用ロボットアームTsukArm その8:動きをループ実行させる

shuzo-kino.hateblo.jp のシリーズ8回め。 これまでの方法では、記録した動作は一回しか実行できませんでした。 今回は、これをループで実行してみます。 実際のところ オープンソースな実用ロボットアームTsukArm その7:動きを関数として分離 - Bye Bye …

オープンソースな実用ロボットアームTsukArm その7:動きを関数として分離

shuzo-kino.hateblo.jp 実際のところ C++クソ雑魚マンなので苦労しましたが…… グローバルで使えるインスタンス作っておいて、関数側で呼び出すような形になるっぽく。 JobBuilderは関数の中で作ってあげれば良いようです。 #include <Angle.h> #include <BezierFunction.h> #include <BezierStepper.h> #i</bezierstepper.h></bezierfunction.h></angle.h>…

RobotDyn STM32F103 Dev.Boardのシリアル通信

shuzo-kino.hateblo.jp の続きRobotDyn STM32F103 Dev.Boardは小型でありながら、 シリアル通信用のポートが3個も存在しています。 なので、一つをセンサー、もう一つをPCとの通信に使ってもまだ余るという豪華仕様。 本体が軽く、短時間ならボタン電池でも…

オープンソースな実用ロボットアームTsukArm その6:ウェイト

shuzo-kino.hateblo.jp のシリーズ 6回めの今回は動きのウェイトについて。 これらを上手く活かしてやることでスマートな動きを実装できます。 実際のところ 動作にかける時間を指定 このキューで動く動作を、どの程度時間をかけて実行するかms単位で指定し…

アルファ化テクスチャを面に貼り付けると

アルファ化されたテクスチャを面に貼り付けると、 ギザギザした葉っぱのような形状でも面を一枚つくるだけで楽ができます。 実際のところ UボタンでUVマップ用に展開 適切に整形して貼り付ける こんなノード設定だと なんやら黒くなってしまいます そこで、…

ナイフ投影をつかって形状に追従した形でカットする

ターゲットを最後に選択してください。 この辺りはペアレント設定と同じ要領です。 編集モードに移行 ツールからナイフ投影を選択*1 するとこんな感じで この例ではそんなに有り難みが無いですが こんなボコボコした形状でも 追従してカットしてくれます 変…

オープンソースな実用ロボットアームTsukArm その5:グリッパー

shuzo-kino.hateblo.jp 皆さんお待ちかね、グリッパーの操作です。 他のサーボとは異なり、確度でなく1.0 ~ 0.0の範囲で設定を行うものになります。 実際のところ // グリップを開く builder.setGripper(1.0); queue->enqueue(builder.build()); // グリップ…

オープンソースな実用ロボットアームTsukArm その4:ベジェ曲線での軌跡

shuzo-kino.hateblo.jpアーム軌跡を点やサーボ角度だけで指定するのは大変です。 TsukArmライブラリは、この点をベジェ曲線を活用してクリアできます。 実際のところ 以下のようにやると、(0.0, 100.00, 90.00)を起点として グリッパーを並行に保ったまま左…

オープンソースな実用ロボットアームTsukArm その3:アーム先端の角度を一定に維持

shuzo-kino.hateblo.jp今回はアーム先端の角度を一定に維持する方法です。 たとえば、中身入り容器を端した後だと大事な関数ですね。 実際のところ 位置指定の後に、ピッチ設定を加えます。 たとえば0度(初期姿勢)のまま固定したい場合、以下のようにします…

オープンソースな実用ロボットアームTsukArm その2:セットアップと基本的動作

shuzo-kino.hateblo.jp の続きで、今回はArduino上に環境を構築し、ロボットアームを少し動かしてみます。 実際のところ ライブラリの導入 $ git clone https://github.com/TsukArm/TsukArm-Library.git $ cd TsukArm-Library/arduino_lib $ zip -r tsukarm_…