Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

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_…

オープンソースな実用ロボットアームTsukArm その1:これはなに

www.mtmsystems.jp ちょっと前から本ブログでも出てましたが……実は弊社ロボットアームを開発していました。 可動軸が6軸、500gのモノを持ち上げるデスクトップサイズのロボットアーム、その名もTsukArm(ツカーム)です。 オープンソース 一番のウリは、なんと…

キーフレームの移動やコピー

Blender 2.7系でキーフレームの移動やコピーをする方法です 実際のところ こんな状態だったとします。 今選択中のキーフレームを拡張し、位置を固定したい場合……Shift+Dすると ニョロニョロと延ばすことが可能です 他にもGで移動できたりするので…… グラフエ…

ベベル機能をつかって面を分割

ベベル機能で面を分割する方法です。 面を分割するなら、ナイフ(K)やCtr+Rなんかがありますが、これだと一気にできます。 なのでスノコ状の構造を作る時なんかは特に有効です。 実際のところ 辺を選択して マウスのドラッグで拡大 他の機能と同様、ホイー…

リダイレクト先ページをcurlで導入したい

たとえばgithubにあるバイナリファイルの場合、URLをとってきてもリダイレクトページが出てくるだけだったりします。 ブラウザならよろしくダウンロードしてくれますが、Curlはそうはいきません。 こういう場合、"-L"オプションをつかいます。 実際のところ …

STM32F103系ボードでFreeRTOSをためす

FreeRTOSはその名の通り、フリーのリアルタイムOSです。shuzo-kino.hateblo.jp 前回導入したボードコンフィグArduino-STM32には、これの動作サンプルがついてます。 Arduino IDEの環境だけで実験できるのは喜楽でいいですね。Lチカさせるだけなら、ここまで…

RobotDyn STM32F103 Dev.BoardをmacOSにて

BluePillシリーズはARM系のSTM32が載ったボードで 恐ろしく低価格なのに使いやすいというボードです。RobotDyn STM32F103 Dev.BoardはそんなBluePillシリーズの一つ。 本家のサイト(海外)から調達すると、なんと2.5USD……どういうことなの( RobotDyn本家の…