Dactyl LightCycleの木製リストレストを製作した

f:id:otomon10:20220322012053j:plain

Dactyl LightCycle用の木製リストレストを作った。
マンション環境での木工作業は(騒音関連で)色々と大変だったので、参考までにビルドログを残しておく。

製作

木材の切断

型取りをして、端材を糸鋸で切断する。

f:id:otomon10:20220322001613j:plain
型取り

f:id:otomon10:20220322003954j:plain
クランプで固定する

手動の糸鋸でも振動音が大きので、作業台の足元に静音ゴムを付けるとかなり静かに作業できる。

f:id:otomon10:20220322004137j:plain
静音ゴムを作業代の足に付ける

糸鋸はAmazonで適当に購入した。

f:id:otomon10:20220322004257j:plain
糸鋸

曲線に沿って切るのは難しかったが、木材の切断作業できた。

f:id:otomon10:20220322004702j:plain
木材の切断完了

荒削り

木材側面に印をつけて、大きめの彫刻刀(24mmを使った)で荒削りする。
クランプで固定せずに手でおさえると、ケガする危険性があるので注意する。

f:id:otomon10:20220322004828j:plain
彫刻刀で荒削り

この段階で削りすぎるともとに戻せないので注意。細かい部分はヤスリで調整可能。

f:id:otomon10:20220322005146j:plain
荒削り完了

研磨

ヤスリで削っていく。#80、#240、#400の順番で削った。

f:id:otomon10:20220322005552j:plain
ヤスリで削る

f:id:otomon10:20220322010234j:plain
#400削り後

オイル仕上げ(完成)

無垢材でオイル仕上げにしたいので、ケンドリンガー メーベルポリチュアを塗って完成。
(蜜蝋は塗るとベタベタするのでメーベルポリチュアのみ)

f:id:otomon10:20220322010539j:plain
オイル仕上げで完成

材料

質の良いウォールナットで作りたかったので、マスターウォールの端材詰め合わせボックスを購入した。

www.masterwal.jp

工具

最初は効率を求めて電動工具を導入したのだが、すべて動作音が大きく、マンション環境では使用が難しかった。以下の工具は購入したが使用できずに売ってしまった。

  • 電動彫刻刀
  • ベルトサンダー
  • ジグソー

動作音が小さく、手動で扱える工具を主に使用した。

  • 糸鋸
  • クランプ
  • 作業台
  • 彫刻刀 浅丸型 24mm (三木章刃物本舗)
  • ベルトサンダー用のヤスリ(80~420番)
    生地が分厚いため耐久性が強く繰り返し使えて良い

使い心地

やはり木製のリストレストほうが、ジェルやタオル生地のものと比較して安定感がある。
無垢材なのでオイルメンテナスは必要になるが、使い込むほどに経年変化で風合いが増していくことに期待したい。

f:id:otomon10:20220322012256j:plain

Dactyl LightCycleをカスタムビルドした

お椀型形状の左右分離型キーボード Dactyl LightCycle をビルドした。
初めての自作キーボードだったこともあり、悩んで苦労したことや作りながら分かることが多かったので、この記事がこれからDactylをビルド&カスタムする人の参考になれば嬉しい。

なお、Dactyl LightCycleのビルドは2回行っている。1回目はElite-Cを使った有線タイプで、特にケースをカスタマイズせずにそのままPLAで印刷した。2回目はBLE Micro Proを使った無線タイプで、ケースをカスタマイズしてABSで印刷し、パテ埋めで積層痕消したり塗装を行った(PCBは1回目のものを流用)。

ビルドに使った部品は、部品リストにまとめている。

続きを読む

ROS2について

ROS2について知りたかったので、日本語の書籍を購入した。

ROS2ではじめよう 次世代ロボットプログラミング

ROS2ではじめよう 次世代ロボットプログラミング

  • 作者:近藤 豊
  • 発売日: 2019/08/13
  • メディア: 単行本(ソフトカバー)

(所感)

ROS1は研究開発向けだから、今後世の中に出てくるロボディクス製品はROS2を採用したものが主流になりそう。ただ、書籍出版時点で自己位置推定等のナビゲーションパッケージは一応は動作するけど、製品レベルの品質に達していないようで、GitHubで開発が進行しているとのこと。動作計画パッケージもGithubで開発進行中とのこと。シミュレーションのGazeboはIgnition Acropolisに置き換わるみたい。
今は過渡期だけど、ROS1の資産もある程度は使いまわせるし、これから新規モノ作る場合はROS2を使っておいたほうが移行がスムーズかな。

また、抽象化API層によって通信仕様がオープン化されたのは興味深い。OSSとか営利企業等から各種実装が出てきそうだ。

USB PDトリガー ZYPDS

f:id:otomon10:20191115223407j:plain

AliExpressでUSB PDトリガーを購入した。注文から届くまで1ヶ月程度かかった。購入したのは以下の5個目のやつ(色: 5)、1000円程度。

ja.aliexpress.com

PDトリガーはAVHzYを使っていたが、毎回ボタンを押してトリガー電圧を決めるのが面倒だったので、繋ぐだけで動作するものを探していたところ、上記デバイスを発見した。

今使っているJetsonのOrbittyキャリアボードは14V推奨だが、ピーク19Vまで対応している。ZYPDSはトリガー電圧として15Vと、20Vに対応している。届いた時点では、ハンダ付けがされており20V設定になっていたので、ハンダを吸い取って15V設定にして使うことにする。

f:id:otomon10:20191116120554j:plain

テスター(ミヨシ MCO USB Type-C専用USB電流テスター STE-02/BK)で確認したところ約15.5Vで引き出せていた。しばらく使ってみて様子を見てみる。

f:id:otomon10:20191116205105j:plain

余ってたDCコネクタの端を切って、熱収縮チューブで保護した。バッテリーには短めのUSB Type Cケーブルで接続する。

RPLIDAR A1M8でセンシング

左右のモーターの速度からロボットの位置を推定する方式(Wheel Odometry)で、オドメトリを作成した。 先日購入したLIDARセンサをロボットの位置や角度に合わせて表示することができた。

f:id:otomon10:20191022190453g:plain

gmappingで地図作成もできた。

f:id:otomon10:20191022231444g:plain

Jetson TX1でRPLIDAR A1M8を使う

マップ作成用にLIDARセンサを購入した。

RPLIDAR A1M8の動作確認

JetsonにCP210x USBシリアルコンバーターのドライバをインストールしておく必要がある。

ロスコンパイルが面倒だったので、L4Tカーネル向けにビルド済みのドライバがあったので利用した。

Install USB to Serial Converter Kernel Modules - L4T 28.1 - JetsonHacks

GitHub - jetsonhacks/installACMModule: Install the CDC ACM and USB to Serial Modules for the Jetson TX1 or Jetson TX2 Development Kit

ROSパッケージビルドは以下。

https://github.com/slamtec/rplidar_ros

http://wiki.ros.org/rplidar

筐体設計見直し

RPLIDARを載せるため、筐体設計を見直した。ざっくり配置だけ考えたいので、Unityでお絵かき。

f:id:otomon10:20191015231637p:plain

工作中…。

f:id:otomon10:20191015232238p:plain

ROS Navigationさらに調査中

f:id:otomon10:20190630185948p:plain

衝突設定はmove_baseのパラメタfootprintinflation_radiusで設定することができた。 行動計画も作成できて、目標のパスをrvizで表示することもできたのだが、以下の問題がある。

  • rtabmapから出力されるマップの障害物が正しくない(過剰に検出される)
  • パスは正しく設定できてそうなのに、動作が荒ぶって正しく移動しない

障害物の検出設定はrtabmapのパラメタでいじれそう。動作が荒ぶるのは送信元のmove_baseのcmd_velの送信設定が悪いと思われる。引き続き調査…。