Hatena::ブログ(Diary)

西尾泰和のはてなダイアリー

2017-01-05

3Dプリンタで猫のエサ台を作った話

年末に友達の記事を読んで3Dプリンタのある生活はいいなと思ったので、3Dプリンタが家に来たら何を作るかなと考えて猫のエサ台を作ることにしました。3Dプリンタ自体を買うかどうかは「3Dプリンタで作ったものが家にある生活」をしばらくやってから考えようかと。

作るものはこれ。床に直接エサ皿を置くと低くて食べにくそうだったので適当な段ボール箱の上に置いてあるけどこぼしたご飯の油が染みたりして汚いです。これを3Dプリンタ出力で置き換えます。

f:id:nishiohirokazu:20170105145539p:image

今の箱でもまだ低そうだったのでもう少し高くして、ついでに手前に15度ほど傾けました。エサ皿の下のくぼみに引っ掛けるための出っ張りを配置。

f:id:nishiohirokazu:20170105145541p:image

安定度がどうかは若干不安だったけど、ダメだったら直せばいいや、という気持ちで。ちなみにツールはAUTODESK 123Dで、無料です。作成にかかる時間的コストは30分程度。直方体や円柱のプリミティブを適当に並べて、ブーリアン演算で結合して、猫が触れうるところに角があるとよくないかな〜と思ってFilletで角を丸めただけ。

出力代行を発注してから3日くらいで届きました。見なれないのでしばらく下の棒の部分をクンクンしていたけど、納得して食べ始めました。特に不満は無いようです。もうちょっと高くしてもよかったかも。安定感は支障なし。

f:id:nishiohirokazu:20170105145540p:image

今回学んだこと

以前使ったDMM.make 3Dプリントを使ったのだけど、金銭的コストは意外と高いです。2万円くらい。でも5万円の3Dプリンタを買おうとしていたところだったので「買って使わなくて場所もとるしお金も無駄になるリスク」を考えたら2万でプロトタイププロジェクトを走らせるのはよいだろうという判断をしました。

元記事でPLAとかABSとかが話題になってましたけど、それに相当する選択肢がわからなかったのでナイロンを選択。これが後の話の伏線になります。

発注してから「3D Hubsとか使えばもっと安いんじゃないの」という指摘を受けて、試してみました。3D出力代行の一括見積みたいな感じ。こちらだと2000〜5000円ぐらい。せっかくなので同じものをプリントしてみて違いを比較してみようとします。

モデルを投稿すると出力代行業者の一覧が表示されます。いっぱい表示された!と思ったけどよく見たら日本なのは4件だけで、残りは海外でした。送料が書いてある通りの金額でよいのか疑問。一覧に表示された代行業者を選ぶと、チャット的な画面が表示されます。ここで代行業者と英語でコミュニケーションを取りながら発注を進めるわけです。面白いですね。

1つ目の代行業者からは「Design doesn't fit in my 3D Printer」というお断りのメッセージが30分ほどで届きました。理由は「It's difficult to model this object using our printer. For the special shape.」とのこと。「Please consider other modeling method and other hubs.」と言われたのでとりあえず他の業者に出してみることにしました。

2つ目の代行業者からは20分くらいで同じく「Design doesn't fit in my 3D Printer」との返事が。「I'm sorry. machine's vibration makes not collect printing and height of model is too high for my printer」とのことです。

3つ目の代行業者からは20時間くらいでお断りが。理由は「Due to Holiday season, we can process this order.」can'tって言いたかったんでしょうね。

「これがプリントできるサイズのプリンタ」で絞り込むことはできなかったので、試しに適当なプリンタを選択して絞り込んでみたり、いろいろ試行錯誤しました。ここら辺でボチボチわかってきたのですけど、彼らの3Dプリンタではサイズがフィットしない以前に、サポート材なしでこういう形状をプリントできないようです。モジャモジャになってしまう。Supports in 3D Printing: A technology overview | 3D Hubs DMM.makeで選んだナイロンは、たまたまサポート材がなくてもプリントできる素材だったようです。(粉末を固めるタイプなので粉末自体がサポートする仕組み) SLS Nylon 3D Printing | 3D Hubs

同じものを印刷してみてどういう差があるか比較しようと思っていたけど、同じものを印刷できないという結論になりました。

じゃあ分割しよう、ということで先ほどのモデルをブーリアンで3つのパーツに分割、2番目の代行業者の人に「これならプリントできるの?」って聞いたら「できるよ」との返事が。

f:id:nishiohirokazu:20170105154149p:image

だけどここで僕が日本から発注していることに気付いて「The price of overseas delivery is too much than this price of printing. are you sure this request?」とのこと。Too muchって言われてもどれくらいかわかんないじゃん。$30以下ならいいよ、と返事。

ここで先方からの返事が来なくなります。年末年始のお休みです。このころDMM.comからの出力が届きます。

休暇が開けて戻ってきた業者さんが「positional tolerance(0.25~0.5mm)がない」と指摘。ブーリアンで分けただけだから穴とそこに入れる棒のサイズが同じなんだけど、それじゃ刺さらないよ、とのことです。そうじゃないかとは思ってたけどいくら細くしたらいいかわからないからやすりで削ればいいかな〜なんて考えていました。親切〜。

あと業者さんが皿をホールドするためのcubesを外していいかと聞いてくるので、それは皿をホールドするためにつけてるのだけどなんで外したいの〜?とか質問したり。ワイワイしてます。モデルはどんどん複雑に…。

f:id:nishiohirokazu:20170105174841p:image

こういうやり取りが楽しめるなら3D Hubsを使うのもよいかと思います。DMM.makeを使う方が圧倒的に手間は無いけど、その分学びのチャンスも少ないかも。あとはTechshopとかに使いに行くのも試したいところですね。

(ここまで書いて、最初のモデルをSLS Nylonで出力した場合いくらになるのか気になったので確認してみたところ、一番近いのは中国の業者で96ドル、次がアメリカで140ドル+送料不明、3つ目が670AUDって感じでした。通貨そろえてほしい…。)

追記: 1/10 「I’ve updated the delivery on this order to EMS. "EMS delivery payment is only posible pay in advance . delivery weight :150g. korea cuurent :17900won->14.82 dollor."」とのことで、最終的に

  • Startup Costs $3.00
  • 17.6 ✕ 17.2 ✕ 3 cm $11.18
  • Shipping $14.82
  • Total $29.00

という金額になりました。

追記: 1/13 に韓国からEMSで届きました。

f:id:nishiohirokazu:20170114105406j:image

組み立てるとこんな感じ。

f:id:nishiohirokazu:20170114105612j:image

加工精度はこんな感じ。ハマらないよりはスキマが空いた方がマシ、という設計をしたので予想通りスキマが空いています。ダイソーで買った安物のホットボンドで接着しました。問題なさそうです。

f:id:nishiohirokazu:20170114105902j:image

2017-01-03

書評:夢見るプログラム

だいぶ前に著者の加藤博士から頂いていたもののいろいろ忙しくて紹介が遅れました。

この本は1999年に「人工無脳は考える」を立ち上げて「人と会話をするソフトウェア」(人工無脳)について研究・考察を続けてきた加藤真一さんによる本です。特に2章では21ページにわたって、Elizaに始まる人工無脳50年の歴史を俯瞰していてとても良いです。人工知能による会話フレームワークが鳴り物入りで紹介されたりしたときに、中身を見てルールベースだったりすると、僕とかは「ゅぃぼっと」かよ!とツッコみたくなるわけです。だけどゅぃぼっとは1996年だからもう20年も前なんですねぇ。

ルールベースの人工無脳が、育つにつれて「ルール追加の手間あたりの賢くなった実感」がどんどん0に近づいて、ルールの作り手のモチベーション維持ができなくなることは、その頃から既に知られていたように思います。機械学習の分野では同様に「教師データ追加の手間あたりの精度の向上」が指数的に減衰する問題が知られていて、それへの対処として能動学習(Active Learning)などのアプローチが生まれているわけです。そこら辺の知見を取り入れて昔より良くなったのかな〜と思ったら20年前と変わらないルールベースのフレームワークだったりすると「ゅぃぼっと」かよ!とツッコみたくもなるというものです。

3章4章では90ページほど使って、実際に基本のルールベース人工無脳を実装しながら解説していきます。冒頭の「舞台設定とキャラクタ設定を作る」は僕にはない発想で目から鱗でした。後半ではルールベースの人工無脳にありがちな「直前の発言だけに反応すると話題が続かない」への対処として文脈をマルコフ近似しようとするアプローチは面白かったです。

夢みるプログラム 人工無脳・チャットボットで考察する会話と心のアルゴリズム

猫ルアーフィッシング

猫ルアーフィッシングの動画を公開したら何というおもちゃか聞かれたので。

Austrakeというやつです。

Da Birdというやつです。

うちの猫のウィッシュリストに替え羽を入れておいたけども、結構高いので羽素材を買って自作しようかなぁと考え中。

2016-12-30

(解決)tmuxにアタッチしようとしたらno sessions

Q: EC2への切断が切れて、再度ログインして、tmuxにアタッチしようとしたがno sessionsと言われてしまう。kill -10でもダメ。プロセスは生きている。何がいけないか?

A: AMIからインスタンスを作った時にデフォルトユーザとして作られた「ubuntu」で作業するのを嫌って別途「nishio」を作って作業していた。tmuxもnishioで立てていた。しかし再ログインした際にubuntuでログインしてしまったのでnishioのtmuxに接続できなかった。というケアレスミス。

2016-11-27

二級知的財産管理技能士になりました。

8月22日になってたのですけど、なんやかんやあってスキャンしてブログに書くのをすっかり忘れていました。

どんな試験内容か知りたい人はこちらから過去問を見ると良いと思います:国家試験 知的財産管理技能検定 過去問題

なお一級の試験はうっかり申し込み損ねました。

ちなみに今年の前半には弁理士試験も受けてみて、科目別得点では商標だけが足りてない感じでした。商標はあんまり興味を持ってなかったからさもありなんという感じ。あと商標が足りても総合点が5点足りないので、全体的に底上げが必要ですね。弁理士になるにはこの試験に受かった上で、論文試験に受かって、それから口頭試問に受かって、実務修習をして、弁理士会に登録して(35000円)、月会費(15000円)を払い続けないといけません。そこまでやるのかどうかはまだ悩んでる感じです。受かってから考えようかと。(受かったら「もったいない」とか言って登録しそう)

https://gyazo.com/e6d96968296b2272aa01ad5dd71e1e78

2016-11-12

Google翻訳を試してみた

精度が上がったと話題のGoogle翻訳で僕が書いた日本語を訳してみて、その英文を見て意味が分かるかどうか、英文に違和感があるかないかを検証する。

What is Moyamoya?

まあわかる。

The purpose of this book is to solve the "Moyamoya on programming".

引用符の閉じ位置とかtheとかに違和感があるけど、まあわかる。

Everyone is learning programming, "What is object-oriented? I do not know like I understood ..." You may have felt moaiyoya such as.

これは書き直しが必要そう。元の日本語が「わかったようなわからないような…」という文字列を含む複雑な構造だから訳せないんだな。

In this book I would like to help solve such mooyamoya and refresh it.

and以降は削った方がいいかもな。

Moyamoya is not understood, I do not understand well, I can not understand well.

Moyamoya is a mental state such as "I do not understand well" or "I can not understand well."かな。

So what is understanding?

うん通じそう。こういうケースって冠詞いらないんですかね?

Makoto Nagao wrote in "What is" Understanding "" Understanding the sentence is to reconstruct the written content in the reader ".

引用符が乱れてるけど、まあ理解できる。

Moyamoya is a state in which the knowledge input to the brain by sentences etc. does not connect with other knowledge that he owned, fluffy floating.

割と訳しにくい原文だと思うんだけど、理解できる訳になっている。日本人etc.使いすぎって英会話の先生によく言われるけどこの文章でも「by sentences etc. 」はいらない気がする。

Even in this state, you may be able to spit the knowledge as it is like a parrot as it is.

「as it is like a parrot as it is」が微妙。先のas it isは「与えられた知識を与えられた形のまま吐き出すことしかできない」なのでas it was givenかなと思うし、like a parrot as it isのas it isが必要なのかどうかよくわからん。あえて訳出するにしても「まるであなたがオウムであるかのように」だからitじゃなくてyouだろう。

あと日本人的な曖昧表現が気になる。英語で書くなら「Even in this state, you can spit ...」と言い切った方がすっきりしそう。

However, we can not connect it with another knowledge.

文脈上、このweはyouの間違い。


もうちょっと技術的な話を試してみよう。

First, it is a concept of "implementing general functions in superclasses and implementing specialized functions in subclasses"? This is a design policy that superclass is generalization of subclass and subclass is specialization of superclass. This design policy matches the idea of ​​"class = classification".

いや、なぜ疑問形……。そこを直せばだいたい意味は取れそう。

The second one is the idea of ​​"extracting the intersection of multiple classes as its superclass?" This is a design policy of "extracting common parts" that is similar to mathematical factorization rather than generalization / specialization. This design policy matches the idea of ​​"sharing common parts of processing" already familiar with how to make functions.

こちらも疑問形。原文を確認したら"「複数のクラスの共通部分をそのスーパークラスとして抽出すればいいのではないか?」という考え方です"とか書いてたからそのせいだな。あとさっきはconceptでこっちはideaだな。


-----

実験をしての所感

It is not satisfactory quality as it is, but probably it can be passed as it is. Since you can see what you want to say in most places without referring to the original text, the labor of the work of correcting the translations made in Google Translate will be much less. Perhaps in this state you could also outsource "to correct sentences to be naturally" to people in English-speaking countries who do not understand Japanese.

そのままで満足できるクオリティではないけど、たぶんそのままでも通じる。原文を参照しなくても大部分の箇所で何を言いたいのかがわかるので、Google翻訳で作った下訳を修正していく作業の手間がだいぶ減る。たぶんこの状態なら日本語の分からない英語圏の人に「文章を自然になるように直して」って外注することもできそう。