RISC-VでLinuxの動くマルチコアをつくるのにやったこと (3. 実装・デバッグ編2)

前回のマルチコア時に発生したバグや実装時の注意点の続きです。ここではLinuxを動かした際に出た、ハードウェアバグに関わるカーネルパニックや厄介なエラーを見ていきます。

またそんなバグを特定するために作ったデバッガの紹介もします。

“RISC-VでLinuxの動くマルチコアをつくるのにやったこと (3. 実装・デバッグ編2)” の続きを読む

RISC-VでLinuxの動くマルチコアをつくるのにやったこと (3. 実装・デバッグ編1)

RISC-Vのマルチコア化をやっていますが、1コアでも複雑極まりないプロセッサが2つになってデータの取り合いをするのですから、厄介極まりない事態となります。特にマルチコアでは複数のコアが同じデータを書き換えたりするので、適切な制御がないとデッドロックやデータの破損(異常値)が起こります。

ここではその厄介な状況に対処している仕組みや、実際に起こった厄介な事例の紹介をします。

“RISC-VでLinuxの動くマルチコアをつくるのにやったこと (3. 実装・デバッグ編1)” の続きを読む

RISC-VでLinuxの動くマルチコアをつくるのにやったこと (2. ソフト編)

皆様こんにちは。18のhiraです。
前回ではRISC-Vマルチコアのために必要なハードを書きました。今回はマルチコア上で動くLinuxの作製方法についてです。
(とはいえ動けばいいやのニワカ調べですが…)

“RISC-VでLinuxの動くマルチコアをつくるのにやったこと (2. ソフト編)” の続きを読む

RISC-VでLinuxの動くマルチコアをつくるのにやったこと (1. ハード編)

皆様こんにちは。18のhiraです。
僕はコンピュータ工学をやっているつもりで、研究ではRISC-Vのプロセッサをマルチコアにする作業をしていました。とはいえ、どういう機能を追加する必要があるのか、それはハードで実装するのかソフトで対処するのかなど戸惑ったことも多かったため、備忘録として残しておきたいと思いました。

Intel Core i9 13900K のダイショット
“RISC-VでLinuxの動くマルチコアをつくるのにやったこと (1. ハード編)” の続きを読む

【第13回キャチロボ】じゃがビーの亡霊機体紹介 ~コンセプト&機体概要~

みなさんこんにちは、2018年度入学、M2のたくぽんです。

この9月に京都で開催された、「第13回キャチロボバトルコンテスト」に参加してきました!
サークル内の有志2人で集まり、チーム「じゃがビーの亡霊」として出場しています。自分は機械設計・加工すべて、電装を担当しました。
結果としてはベスト4で、審査員賞をいただきました!

わーい

今回の記事では、出場機体の全体的な紹介をしていきます。
以降もキャチロボ機体の紹介記事を書く予定なのでお楽しみに!


コンセプト&機体概要  👈この記事
エンドエフェクタの製作詳細  そのうち出ます
XYテーブルの製作詳細   そのうち出ます2

参加経緯

私たちは去年もキャチロボに出場しており、「ラグビーの亡霊」というチーム名で参加していました。しかし、大会当日は通信関連の不調で思うような動作ができず、煮え切らないまま大会を終えます。去年の大会は「じゃがりこ」を扱う大会だったので、ラグビーでもじゃがりこでも引退できなかった、「じゃがビーの亡霊」として再度大会への参加を決意します。

去年の機体(ブログもみてね!

ところで、去年はロボコンチームMaquinistaのOB4人で参加していました。しかし就職や留学で参加できるメンバーが減り、結局修士2年生ふたりで参加することになりました。修論?まだ早い。

軽くルール紹介

キャチロボはお菓子をワークとして扱うのが特徴の大会ですが、今年のワークは「ハイチュウプレミアム」です。フィールドに並べられたハイチュウを回収し、既定の場所に並べて置いていきます。制限時間3分間で、ワークを並べて得られる得点を競います。

今年のルールでは、不安定なパウチ形状のワークをどう回収し、綺麗に整列させるかが肝となりました。

ハイチュウを回収し、シューティングエリアにプレイスして得点を得ます

つくった機体

まずは大会でのロボットの動きを見てください!青チームです!

今のところ最新作なので最高傑作です

伸展するXYZテーブル、大きく拡縮するエンドエフェクタが特徴です。ごつく見えますが、総重量はPC込みで10kgとそんなに重くないです。


めっちゃいろんなところが伸び縮みするので、この子は「Expandroid」と名付けられました。

かっこよ
かっこよ2

↓ぐりぐりして見れる3Dモデルはこちら!Inventor2022形式の拘束がちゃんとされてる設計データ(zip形式)はここにアップロードしてます。詳細気になる方はダウンロードしてね!なにか気になるところあれば@takupon009までDMくれればウキウキでおへんじさせていただきます。

機体紹介!

開発コンセプト

キャチロボに参加するのも2年目なので、去年の機体の反省を踏まえて機体のコンセプトを立てます。

去年つくったロボット

メンバーと話し合った結果、以下の項目を満たすロボットができると良いよね!となりました。

  • 去年はロボットがでかすぎ,重いし運ぶのが大変だから小さくしたい!
    • Q:宅急便で発送すればよいのでは??
      A:ロボットを大会前に余裕をもって完成できる計画性を持ち合わせてるとお思いか?
  • 去年は円筒座標型ロボットで出たから,今年は直交座標型ロボットにしたい!
    • 直交座標系のロボットでコンパクトに作るの大変そう(𝒀𝑨𝑹𝑰𝑮𝑨𝑰 𝑷𝒐𝒊𝒏𝒕)
  • 去年と同様に,エンドエフェクタひとつでいろんな場所のワークに対応する!
    • 去年大活躍してた独立して動くアームが2つあるロボット(2コア2スレッドロボって呼んでました)も考えましたが、アームを複数つくるリソースが無さそうなので見送り
  • 去年は激安モーターを使って苦労したので,まともなモーター使う!
    • 去年使ったMD内蔵6000円DDモータはメカ的にも制御的にも非常に辛い思いをしたので、今年はみんな大好きロボマスモータを使うことにしました。


個人的な思想としては、NHKロボコンに出てたときから「かっこいい」「美しい」ロボットを作るぞという思いがありました。自分は機械屋さんなので作ったロボットを制御屋さんに渡して動かしてもらうのですが、ロボコンなのでまあ徹夜進捗が多発します。そういう大変な状況でも、愛想をつかされない程度にはかっこいいものを作るのが機械屋さんの責務だと思っています。
しっかり考えて作ったものは自ずと機能美が現れてくるものだと信じているので、”こだわりを捨てずに作る”、”納得できるものを作る”ということを意識して設計製作しました。
“納得”はすべてに優先するぜッ


ここからロボットの各要素の紹介です!

エンドエフェクタ

縮んだ状態から(ハンド間隔15mm)
ここまで広がります(ハンド間隔110mm)

共通エリア、自陣エリア、シューティングエリアで、ハイチュウの並んでいる間隔が違います。これら全部に1つのエンドエフェクタで対応できるように、独立で動く6つのハンドの間隔を自由に伸縮できる構造を採用しました。1モーターのワイヤ駆動で、等間隔を保ったままハンドの位置が変わります。

ロジャーアーム機構というらしいです(作った後に知った)

ハイチュウはサーボで開閉するハンドを使って、上から挟んで回収します。

シンプルだけどいろいろこだわってます

ハンドの開閉部分は、固定側にはt0.5mm、動く側にはt0.3mmの焼き入れリボン鋼を使って作っています。しなる素材を使うことで、裾が広がっているパウチの形状にうまくフィットしてしっかり把持してくれます。
滑り止めにはウェットスーツの生地を使っています。柔らかくびっくりするほど摩擦係数が大きいうえ、裏側(人肌側)が布地なので接着が簡単ですごい便利です。

最小要素で組むよう意識したのでハンドはかなり軽量

細かい設計の話はまた別の記事で書きます!お楽しみに!

XYテーブル

最大展開!

今回一番気合を入れた部分です。
XYテーブルは何も考えずに組むと可動域分の長さのレールが必要になるので、機体がめちゃでかくなっちゃいます。今回はコンパクトさを重視したかったので、X、Y、Z軸ともに多段にして、伸びる構造にしています。ただこの構造、片持ち祭りになるので相当剛性を高く作らないとたわんでしまって使い物になりません。

今回は、与圧モリモリ剛性マシマシの自作直動案内を作り、それをワイヤとタイミングベルトを使って両方向に伸展しつつ動かす、ということをしています。

いい感じ~~
両方向に、2段に伸びるのがミソです

テレスコになってて1方向に伸びる機構は割とありますが、両方向に伸展できる機構は目新しいんじゃないでしょうか?なかなかの面白機構ができた自信アリです。

カムフォロワと同程度の硬度である焼き入れリボンをレール側に張り付けることで、ベアリングとアルミ角パイプを使った直動ユニットにありがちな「初めはいい感じだけどだんだんアルミ側が削れてきてガタガタになる」という問題を解決しています。アルミより塑性変形しにくいので与圧をかけやすいのもGood。

そしてなんと~~~!!

ぐるっと回るXYテーブル

ぐるっと回すことで赤青フィールドへの対応ができます!
さらに、X,Y軸を平行にすることで分解せずとも超コンパクトに収納もできます!

600mm×400mm×400mmくらいまで小さく畳めます

こちらも詳細は別記事にて解説予定です!

幻の爆速ハンド

ワーク1個を2秒くらいでピック&プレイスする、爆速ハンドも実は作ってました。スケジュールがあまりにもギリギリで、本番には間に合いませんでしたが。。。一徹足りんかった。

爆速ハンドの残骸。エアで回転し、パッシブに把持・リリースをする機構になる予定でした。

こだわりポイント&写真ギャラリー

この機体にはナットがひとつも使われてません!代わりに雌ねじを切るか、それができない薄板部分には圧入ナットを使っています。組み立てや整備が簡単になりました。
ロボットを持ち運びやすいようにハンドルをつけてます。これが会場でのピットからフィールドへの機体運搬でめちゃ便利でした!
ちょっと高かったんだけどハンドルはオレンジ色にしてます。オレンジいいよね。
はちゃめちゃに伸展するロボットなので、台座部分はしっかり作らないと変形して位置決めどころじゃなくなります。
フライスで半分削り飛ばした角パイプを組木みたいに嵌め込むことで、軽量でありながら面で圧を受ける構造にして強度・剛性をUPさせてます。
リンク機構を使った、収納できるPC置き場も作りました!おしゃれさ++
アルミ板金で作ったバッテリーケース
分解せずに小さく畳めるように作ったので、鞄に入れて手荷物で運搬できます。おかげでギリギリまで作業できました。
(この後徹夜明け東京-京都新幹線立ち乗りで地獄を見ます)
思いついたことを殴り書きするための設計ノートを作っていたんですが、今回のキャチロボでまるまる一冊使い切っちゃいました。こういうの、後から見返すと思考の過程が追えて楽しいですよね。

スケジュール

機体が完成したのは本番1週間前です()。ただ、制御を担当してくれてたメンバーがめちゃしっかり準備してくれていたおかげで、組立って即日に試合ができるだけの動作ができる状態まで持っていけました!!さすが!!!

ざっくりと、5月チーム結成、7月エンドエフェクタ完成、9月頭XYテーブル完成、その後統合といった流れです。最後の方は設計しながら加工して組立する人になってました。おれはインタプリタ型エンジニアだぜ!

かかったお金

旅費を除いて10万円を見込んでましたが、大体想定通りになりました。ロ技研のおかげでアルミ材は使い放題なので(みんな入ろう!)、モーター代が負担の6割強を占めてます。ありものの部品を結構使ったのが効いてそう。大会で8万円(参加賞3万円+特別賞5万円)を勝ち取りましたがやっぱり赤字ですね。優勝したかったぜ。


おわり

みなさん、M2でもロボコンはできます。やりましょう!
キャチロボ論文執筆MFT魔改造の〆切り四重点が発生してそれはまあ大変なことになりましたが、何も命までは取られません。社会人になると学生の時と比べて参加できるロボット競技会はぐっと減ってしまうので、出られるときに出ておくのが吉です。やりたくなってもやれなくなっちゃいますからね。

できるうちに、楽しいロボコンライフを!ではまた、機構詳細の解説記事で!

限界たくぽん.png

甘い話と甘くなかった話

皆さん!度々こんにちは。

今回は甘い食べ物の話…

ではなく、甘い想定がもたらす被害のお話です。(知ってるよって人はごめんね)

甘い話

私は、今から約二ヶ月前に野菜の値段の高騰に苦しんでいました。

お値段が上がるとどうしてもお金がなくなって不景気になります。

これに例外はないでしょう。

なので、なんとか安く済ませられないだろうか?と考えました。

調べてみると野菜の値段の高騰は、野菜の価値の高騰ではなく、輸送費の高騰によるものということがわかりました。

ということは、論理的に考えれば自宅で作れば安く上がるということにならないでしょうか?

ついでに私は最近収入があまりないので次世代機の制作費を捻出する方法を考えていました。

このプラントをなんらかの形で収入源にできないでしょうか?

こんなことを考えながら私はこの企画を始めました。

順調な滑り出し

これを検討し始めて、最初に思ったのが、自分で水やりや雑草管理などのタスクを全て処理するのは、生活と両立するの大変だなぁということでした。

これをせめて水やりと雑草・害虫駆除だけでも自動化できないか?ということを私は検討し始めます。

このうち、水やりについてはいくつかのブログと、あるサークル内の仲間からの助言によって電磁弁で水流制御を行えばいいというふうに検討しました。

また、これを開発機材ごとフリマで売って仕舞えば、私の開発予算をやや増やしつつ次世代機に導入したい技術を全て投入、テストすることが可能になると結論しました。

また、遂行し始めてたったの二週間で以下の状況が整いました。

ハードウェアの基本構成は割とすぐに揃ったのです。

崩壊の始まり

しかし、計画がいかに順調に滑り出そうと、どこにでも失敗の要素はあるものです。

ましてや単独で動く企画は誰からもFBされないので確率はより高くなります。

私が最初に直面した課題は市販品のACアダプタが壊れていたことでした。

この事態は想定していなかったため、動揺して問題が市販品であることを認めるまでに二週間もの時間を支払う羽目になりました。そのことは自分の研究室配属前に爆速で処理しようという計算を狂わせ、結果配属待ちで基板発注する計画がオジャンになりました。結果的に追加で約二週間もの手待ちを発生させることになってしまいました。

また、悪いことというのは連鎖で起こるもので、この手待ち期間に概ね損害規模が大きかったものだけでも以下のような状況が起こりました。

  1. バイトをクビになる
  2. 交通事故に遭う
  3. 高熱が出る
  4. カフェイン中毒で頭痛が止まらなくなる
  5. 研究関連で解読しなきゃならない文献が大量発生する
  6. 期末テストの発生
  7. 留学関係での想定外の出費
  8. 親知らずの痛み再発

これらは僕が持っていたなけなしの予算とやる気を吹っ飛ばして1日の睡眠時間をトリプルスコア化するのに十分すぎるダメージを叩き出しました。

甘くない話

そもそも論として、次世代機を作らずにこれを開発し始めたのがモチベーションの回復と予算の復活待ち、さらに実験であったことを踏まえると前項のダメージはありえん話です。

さらに、収入の当てがない条件下での予算の低下ゆえに手持ち資金が 過去最低にまで落ち込みます。

結果として、基板データを各種生成したものの、別に売れることの確約も、思うように動作することの確約も取れないという状況が私に以下の決意をさせます。

どうせ発注1回分しか費用は残ってないんだし、他の並列プロジェクトを完遂するまで放置しよう。

当然と言えば当然ですが、並行で進めるプロジェクトの全てがうまくいくわけはありません。

結果として、この企画を含めて計4種類のプロジェクトがたった1個の失敗によってストップ、現在に至るまで進捗が発生しないという驚異的な事態が引き起こされてしまいました。

ここで手待ちした結果、とあるプロジェクトの劇的な大失敗によって最後の一撃案件になり、全ての計算は吹っ飛び、私は企画自体を達成の見込みが限りなく弱めて再編することになり、私に実行が可能なものは、電気的に水を流すか流さないかを選択する装置を採算も取れない形で数ヶ月かけて実装するという悲惨な計画に転身してしまいました。

まとめ

想定は常に厳しく見積もるべしという格言があります。

しかし、私が皆さんに伝えたいのは、最悪の事態というのはいかなる場合でも所詮は想像ができる範囲に過ぎないということです。

であるならば、最良の対策は、最小構成物を最速で既存技術の組み合わせで作ることであると思います。

未来はあくまで過去の積分でしかないので、急激になにか離散的な進捗が出る前提で企画を立てれば必ず破綻します。

皆さんが私と同じように新規のプロジェクトを考える機会があったら、こういったことを踏まえてみると幸せになれるかもしれません。

それでは皆さん、楽しいものづくりライフを!

おまけ

せっかくなので甘い話として下に、適当なチョコケーキのレシピを載せてみます。

材料:

  • 2カップの小麦粉
  • 1¾カップの砂糖
  • ¾カップのココアパウダー
  • 1½ティースプーンのベーキングパウダー
  • 1½ティースプーンのベーキングソーダ
  • 1ティースプーンの塩
  • 2個の大きな卵
  • 1カップの牛乳
  • ½カップの植物性油(サラダ油など)
  • 2ティースプーンのバニラエッセンス
  • 1カップの熱いコーヒー(水で代用可能)

手順:

  1. オーブンを180°C(350°F)に予熱します。
  2. 9インチの丸型ケーキパンを準備し、底をバターで塗り、薄く小麦粉をまぶします。
  3. 大きなボウルで小麦粉、砂糖、ココアパウダー、ベーキングパウダー、ベーキングソーダ、塩を混ぜます。
  4. 別のボウルで卵を軽く泡立て、牛乳、植物性油、バニラエッセンスを加えて混ぜます。
  5. 湿しボウルの中に、乾燥した材料を少しずつ加えながら混ぜ、滑らかな生地ができるまで混ぜます。
  6. 最後に熱いコーヒーを生地に加え、よく混ぜます。生地は少し薄くなりますが、これでOKです。
  7. 準備したケーキパンに生地を注ぎ、オーブンで約30〜35分、竹串を刺して生地がついてこなければ焼き上げます。
  8. ケーキをオーブンから取り出して、完全に冷ませます。
  9. 冷めたら、お好みでチョコレートガナッシュやバタークリームを塗ってデコレーションします。

ロボットハンドを自分で設計してみた話

初めに

みなさんこんにちは。

皆さんは忙しいですか?私は夏休みまでは忙しかったです。

さて、私はよく、腕がもう一本増えないかなぁと感じるのですが、世の中にある義手はそれほど使い勝手が良さそうではないし、高いです。また、個人的に思うのは、単に既存の手を置き換えるというのではなく増やせる方が非常に便利であることは疑いようがありませんが、存外そういったものを作ろうという人は少ないと感じます。なんか残念です。そこで、とりあえず自分で使ってみたいと思えるようなロボットハンドを制作するという点にのみフォーカスしてハードウェアを作ってみようと考えました

既存のものと比べて

下の画像を見てください

これは昨年度の私が文化祭で展示したじゃんけんを行うロボットハンドです。

できてんじゃんと思ってしまわれた方もいると思いますが、色々問題があるのです。

問題点

  1. ワイヤーの整備が行いづらい
  2. リンク比がそれほど良くないために球体などの立体に対して把持効果が弱い
  3. パーツの換装が小分けにならない
  4. オープンソースのものをちょっといじった程度であるために設計変更が容易でない
  5. 手元に設計データがないので改良すら無理
  6. 自重を補償しないために手首の角度と対応する補正値が乗ってしまう
  7. 制御可能な項目が少ない
  8. ワイヤーのテンション調整ができない

このうち少なくとも1~5を改善し、その他の項目を改良するために自分で設計をし直すことにしました。

できたもの

これができたものです。え?しょぼいし指しかないじゃんって?

間に合わなかったのですね…

こんな反応が聞こえてきそうなので一つ釈明をしておくと、この、指さえ作れば、去年のものと合体するだけで目的を遂げられるんですよね

まあ作りたいと思って設計まではしたので完全に言い訳ですが

ここまで設計しておいて何故作らなかったの?って言われそうですが、単にまだいじり足りない部分があるだけです。

悲しいな

指の可動域

駆動域は見ての通りで、中に駆動域外への動きに干渉させるように仕切りがあります。完成品と色が違うのは、まあ仕様です。

大きさは下の画像の通りです。私の手のサイズに外形が合うように設計されています。

この仕様上、問題はあるのですが、一旦はこれでいいと思っています。

まとめ

なんか指だけ作ったことを記事にしてみて、なぜ数ヶ月ひたすら指しか作らなかったのか?と感じざるを得ませんが、まあ、しょうがないことかもしれません。

おまけ

案の定未完成のものをプロヂュースする記事を作ってしまったし、設計手法を具体的に書くべきとも思えなかったので、書いてみて微妙すぎる記事になってしまってすみません。

書いたという点を評価してほしいなぁと感じています。

アクア研 操縦体験報告

こんにちは、アクア研の20-yoです。
Advent Calendar2023の一貫で、アクア研で行った操縦体験の報告をします。

アクア研では、水中ロボットの制作などを行っています。
その中でも長年の蓄積により出来上がった、Kurione3。

左:Kurione3 | 右:Kurione2

こちらの機体を使い、工大祭及び国際ロボット展で操縦体験を実施しました。

“アクア研 操縦体験報告” の続きを読む