イレクターパイプをテーブルに垂直に固定ししたい
イレクターパイプをテーブルに固定して、ホワイトボードを取り付けたい!
ディスプレイスタンドやデスクトップライトのように、万力方式で固定できるイレクター対応の金具が欲しくて探したが、見つからない。公式にも同じような製品を作っているメーカーでも見つからなかった。

垂直に立ててホワイトボードの固定をしたかった。
Cクランプ(万力)に自分でタップを切るかと思ったが一応市販の部品で解決できたのでメモをまとめて置く。
2つの金具をつなげてパイプを固定!
様々ほかにも方法がありそうだが、「蝶番式吊りバンド」「リップみぞ形鋼用 吊りボルト 支持金具」をM5xL25の六角穴付きボルトで組み合わせることで落ち着いた。
ただ、あまり強度は期待できないちょっと緩い固定になってしまった。どちらもホームセンターで数百円台で購入可能なので、同じ壁にぶち当たった人は1案として試してみるのもいいかと思う。ホームセンターにもよるが、「蝶番式吊りバンド」は塩ビ管が売っている近くに、「リップみぞ形鋼用 吊りボルト 支持金具」は配線部材の近くにあった。自分のテーブルやイレクターパイプのサイズに合わせて購入する必要がある。

「蝶番式吊りバンド」「リップみぞ形鋼用 吊りボルト 支持金具」

組み合わせた様子
製品のモジュール化設計は、普段より商売自体の設計を考える
ビックカメラを歩いていたら、モジュール化された延長ケーブルを見つけたので楽しくなって買ってみました。レゴ好きなので、楽しくなりました。
この製品は、既存のコンセントと互換性を保ちながらモジュールとして利用できます。


モジュール化を考える場合に考えなくてはいけないことの1つは、「設計費用、原材料費はモジュール機能実現の分高くなる」
- 互換性や接続のため、ほぼ全パターンを網羅的に考える必要があります。検討の時間は長くなります、設計時間は長くなり、費用は大きくなります。
- モジュール化の接続部分の構成(モジュール実現機能)のためにコストが上がります。今回の例だと、モジュール実現機能は1つの製品ごとのプラグ部分とロック部分です。この部分は、完成品の4つ穴スイッチ付きコンセントを買った不要です。
- 設計時の機能確認、生産時の品質確認もモジュール実現機能のために時間がかかります。
コスト的には高くなりますが、メリットは次に用になります。
- 仕様違いに新規開発費用を抑えられる。今回の例だと、7つ穴付きスイッチ付きコンセントを新規開発費用をかけずに市場に提供できます。結果、ユーザーに寄り添った製品を提供できます。
- 製品の在庫がしやすい。仕様がたくさんあると、受注生産になりがちですがモジュールで在庫することが可能になります。
- 量産効果でコストダウンもある程度期待できる。どこでモジュールを分割するかが影響します。
- 部品やモジュールで量産効果が出ることもある(特に少量多品種の量産効果が聞いにくい製品)。
- (BtoC)組み合わせが顧客の楽しみになる
多々、メリットはありますが、設計時に、どこでモジュールを分割するを考える必要がありますが、どう発注するか、在庫するか、カタログにどう記載するかまで考えないといけなくなってきます。
とくに新規にモジュール設計を採用する際は、商売全体を考えて設計していかなくてはいけません。よく関係部署とすり合わせてください。
市販している(してそうな)、フィンガー系ロボットハンドを調べてみた(主に多指)
SVH [SCHUNK Japan]
人間の手にそっくりな、電動サーボ5本指ハンド!
K3Hand [Orbray株式会社(旧 アダマンド並木精密宝石株式会社)]
BARRETTHAND
国内販売
書いてから公開するの忘れてた
CADがおしゃべりしたらCADもゲームみたいに楽しくならないかな?
CADのコマンドがゲームの必殺技みたいに叫んだら楽しくないかな?
というわけで作っていみました。
Solidworksでコマンドを実行するたびにwavファイルを呼び出します。動画ではずんだもんにしゃべってもらってます。
エラー処理もろくにしてないので、あくまで遊びの範囲にしてください。なお、bingに相談して作ってます(便利)。
概要
今回はSolidworksのマクロを利用しています。
- Cドライブの中に"C:\temp\wave"というフォルダを作ります。
- そのフォルダの中に、音声ファイル(WAV)と設定ファイル(CSV)を入れます。
- 設定ファイルでは、数字と音声ファイルの名前を書きます。数字は、Solidworksでどんな操作をしたかを表すもので、swCommands_e Enumerationと呼ばれています。どんな数字がどんな操作に対応しているかは、次のサイトで見ることができます。
swCommands_e Enumeration - 2021 - SOLIDWORKS API Help - マクロを実行すると、設定ファイルに書いた数字の操作をするたびに、その数字に対応した音声ファイルが再生されます。この効果はSolidworksを終了するまで続きます
マクロ本体
メイン部分
Dim swEventsHandler As EventsHandler
Sub main()
Set swEventsHandler = New EventsHandler
End Sub
クラスモジュール部分
Option Explicit
Private Declare PtrSafe Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
Public WithEvents swApp As SldWorks.SldWorks
Private filePaths() As String 'ファイルパスを格納する配列
Private commandIDs() As String '数字を格納する配列
Private Sub Class_Initialize()
Set swApp = Application.SldWorks
Dim fileNum As Integer 'ファイル数
Dim i As Integer 'ループカウンタ
Open "C:\temp\wave\sound_list.csv" For Input As #1
fileNum = 0
While Not EOF(1)
ReDim Preserve filePaths(fileNum)
ReDim Preserve commandIDs(fileNum)
Input #1, filePaths(fileNum), commandIDs(fileNum)
fileNum = fileNum + 1
Wend
Close #1
MsgBox "VOICEVOX:ずんだもん" & vbCrLf & "(Exit Load : " & fileNum & ")"
End Sub
Private Function swApp_CommandOpenPreNotify(ByVal command As Long, ByVal userCommand As Long) As Long
Dim i As Integer 'ループカウンタ
Dim comandStr As String '再生するコマンドを格納する変数
'数字と比較して対応するファイルを検索する
For i = 0 To UBound(commandIDs)
If commandIDs(i) = CStr(command) Then
comandStr = "play " & filePaths(i)
Exit For
End If
Next i
'再生するファイルが見つかった場合は、wavファイルを再生する
If comandStr <> "" Then
Call mciSendString(comandStr, "", 0, 0)
'MsgBox comandStr
End If
End Function
設定ファイルの例("C:\temp\wave\sound_list.csv")
C:\temp\wave\001_ずんだもん(ノーマル)_おしだし.wav,8
C:\temp\wave\002_ずんだもん(ノーマル)_おしだかっとっ.wav,10
C:\temp\wave\003_ずんだもん(ノーマル)_ぐるん.wav,24
C:\temp\wave\004_ずんだもん(ノーマル)_ぐるんかっと.wav,48
C:\temp\wave\005_ずんだもん(ノーマル)_ねじねじ.wav,39
C:\temp\wave\006_ずんだもん(ノーマル)_あーる.wav,9
参考サイト
Qidi i-matesの冷却ノズルダクトを変えてみる
ことの経緯(関係ないし)
Qidi i-matesを運転していると、フィラメントが出てこなくなり、お?
フィラメントを抜いてみると途中で溶けている。
調べていくと、別件で分解修理をしたときにヘッド冷却用ファンを間違えて組付けてしまい。ファンが回らなくなって、ファンが焼けてしまって故障したみたい。細ノズル用のヘッドのファンと部品を交換して修理完了。
で、いろいろ調べている中でQidi用のダクトノズルのデータに出会う!
ダクトノズルの印刷
調べる中で、ノズル冷却用ファンのダクトノズルを見つけたので取り付けてみます。

サポートがうまくレイアウトできないの45度印刷
結果
同じモデルで比較したいので、ダクトノズルを印刷

i-matesに取り付けた様子(取り付けのネジがとどいてない)

(右)ダクトノズルをつけて印刷
(左)標準

(右)ダクトノズルをつけて印刷
(左)標準
標準のダクトノズルではわずかに欠けていた部分がきれいに印刷。気持ち糸引きの糸が細くなったかな?
ClearGraspを使って、透明なボトルをRealsenseで撮影したい!それもWindows(WSL)で
Google AI blogのClearGraspを利用して、透明なボトルを撮影してみる。いつかマッチングをさせたい。という内容です。
現在我が家には、Linux環境がないのでWindowsで行いたいのですが、ClearGraspは構成上でonly Linuxとなっています。このためWSLから実行するために用意しました。
思い出しながら書いているので抜けてるかもしれませんがご容赦ください
環境を用意
WSLのインストール
WSL2のインストールと分かりやすく解説【Windows10/11】 | チグサウェブ
WSLでUSBを動かせるようにする
【第4回】WSL2にUbuntu 22.04 LTSを導入する(Webカメラを使う) - パソコン関連もろもろ
WSL2 USBカメラ+他のUSB機器 2022年09月06日版
他には、動作試験用にfswebcamやGeditもインストール
3DとRealsense周りは以下の物をインストール
- Pytorch
- CUDA
WSL2 上の Ubuntu での NVIDIA CUDA ツールキット, NVIDIA cuDNN, PyTorch, TensorFlow 2.7 のインストールと動作確認(Windows 上)
- LibRealsense
RealsenseをセットアップしてROSやUnityで使う方法
【第4回】WSL2にUbuntu 22.04 LTSを導入する(Webカメラを使う) - パソコン関連もろもろ
/bin/sh: 1: bc: not found
buを別でインストール
3.9.1-landiskクロスコンパイル - forester3の日記
本体の用意(での問題点)
- gitできず
git clone git@github.com:Shreeyak/cleargrasp.git
ではダウンロードできず。以下を実行。
git clone https://github.com/Shreeyak/cleargrasp.git
- $ sudo apt-get install libhdf5-10 libhdf5-serial-dev libhdf5-dev libhdf5-cpp-11
で"libhdf5-10"と"libhdf5-cpp-11"がインストールできず。
"sudo apt update"などやったが効果なし。
結局問題のあった"libhdf5-10"と"libhdf5-cpp-11"を取り除いて実行
$ sudo apt-get install libhdf5-serial-dev libhdf5-dev
なんでこれでよいかがわからない。 - $ pip install -r requirements.txt
でCould not find a version that satisfies the requirement opencv-python==4.1.2.30と怒られる。opencv-python==4.1.2.30が無いとのこと。
requirements.txtをopencv-python==4.7.0.68と書き換え - depth2depthは"api/depth2depth/gaps"に入っており自分でコンパイルする。
-
depth2depthをコンパイル中、GL/Glu.hが無いといわれる。
以下を実行した。
$ sudo apt-get install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev - python起動し足りなかったライブラリは入れていく
- eval_dept_completion.py を実行の際に__init__.py周りでエラーが出た。__init__.pyの書き方を少し修正した。

- live_demoを起動するために、パイプラインソフトを起動するとエラーが出る。
- realsense.cppの解像度を変更、154,156行のフレームレートも30fpsに固定
合わせてcamera.pyも修正
- ダウンロードした”cleargrasp-checkpoints”はフォルダ"data"以下に"cleargrasp"といフォルダを作って入れる
- libcuda.soのリンクが見つからない
"~/.bashrc"に以下を追加
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/lib/wsl/lib/:$LD_LIBRARY_PATH - camera.pyでエラーが出る。
284行目のlongをint64に修正
普段の起動
wslにUSBを紐づける
USBのリストを確認して、1-5をwslに紐づける
wsl側
>usbipd wsl list
>usbipd wsl attach --busid 1-5
以下、画像は1-5を紐づけた様子

wsl側でカメラの接続を確認
$ lsusb

カメラの権限を変更する
$ sudo chmod 777 /dev/video*
カメラ準備完了
デモを動かす。まずはRealsenseの画像をTCP経由(パソコン内)で渡すソフトを起動する。このソフトは"&"をつけて起動したまま次のコマンドへ行く。
$ cd ~/cleargrasp/live_demo/
$ ./realsense/build/realsense &

続いてスクリプト本体を起動する
python live_demo.py -c config/config.yaml

WSLでUbuntu,Python,PyTorch,CUDAのバージョンを確認
Ubuntuのバージョンの確認
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.1 LTS
Release: 22.04
Codename: jammy
Pythonのバージョンの確認
$python3 --version
Python 3.10.6
PyTorchのバージョン確認
PyTorchのバージョンを確認 (version) | 日々、学ぶ
$ pip show torch
Name: torch
Version: 1.13.1
Summary: Tensors and Dynamic neural networks in Python with strong GPU acceleration
Home-page: https://pytorch.org/
Author: PyTorch Team
Author-email: packages@pytorch.org
License: BSD-3
Location: /home/ootone/.local/lib/python3.10/site-packages
Requires: nvidia-cublas-cu11, nvidia-cuda-nvrtc-cu11, nvidia-cuda-runtime-cu11, nvidia-cudnn-cu11, typing-extensions
Required-by: torchaudio, torchvision
CUDAのバージョン確認
$ nvidia-smi
Thu Jan 19 23:30:12 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 527.92.01 Driver Version: 528.02 CUDA Version: 12.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 Quadro P1000 On | 00000000:01:00.0 On | N/A |
| 34% 35C P8 N/A / 47W | 635MiB / 4096MiB | 2% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+