前回のマルチコア時に発生したバグや実装時の注意点の続きです。ここではLinuxを動かした際に出た、ハードウェアバグに関わるカーネルパニックや厄介なエラーを見ていきます。
またそんなバグを特定するために作ったデバッガの紹介もします。
“RISC-VでLinuxの動くマルチコアをつくるのにやったこと (3. 実装・デバッグ編2)” の続きを読む東京工業大学の公認サークル「ロボット技術研究会」のブログです。 当サークルの日々の活動の様子を皆さんにお伝えしていきます。たくさんの人に気軽に読んでもらえると嬉しいです。
分類してほしい
前回のマルチコア時に発生したバグや実装時の注意点の続きです。ここではLinuxを動かした際に出た、ハードウェアバグに関わるカーネルパニックや厄介なエラーを見ていきます。
またそんなバグを特定するために作ったデバッガの紹介もします。
“RISC-VでLinuxの動くマルチコアをつくるのにやったこと (3. 実装・デバッグ編2)” の続きを読むRISC-Vのマルチコア化をやっていますが、1コアでも複雑極まりないプロセッサが2つになってデータの取り合いをするのですから、厄介極まりない事態となります。特にマルチコアでは複数のコアが同じデータを書き換えたりするので、適切な制御がないとデッドロックやデータの破損(異常値)が起こります。
ここではその厄介な状況に対処している仕組みや、実際に起こった厄介な事例の紹介をします。
“RISC-VでLinuxの動くマルチコアをつくるのにやったこと (3. 実装・デバッグ編1)” の続きを読む皆様こんにちは。18のhiraです。
前回ではRISC-Vマルチコアのために必要なハードを書きました。今回はマルチコア上で動くLinuxの作製方法についてです。
(とはいえ動けばいいやのニワカ調べですが…)
皆様こんにちは。18のhiraです。
僕はコンピュータ工学をやっているつもりで、研究ではRISC-Vのプロセッサをマルチコアにする作業をしていました。とはいえ、どういう機能を追加する必要があるのか、それはハードで実装するのかソフトで対処するのかなど戸惑ったことも多かったため、備忘録として残しておきたいと思いました。
みなさんこんにちは、2018年度入学、M2のたくぽんです。
この9月に京都で開催された、「第13回キャチロボバトルコンテスト」に参加してきました!
サークル内の有志2人で集まり、チーム「じゃがビーの亡霊」として出場しています。自分は機械設計・加工すべて、電装を担当しました。
結果としてはベスト4で、審査員賞をいただきました!
今回の記事では、出場機体の全体的な紹介をしていきます。
以降もキャチロボ機体の紹介記事を書く予定なのでお楽しみに!
コンセプト&機体概要 👈この記事
エンドエフェクタの製作詳細 そのうち出ます
XYテーブルの製作詳細 そのうち出ます2
私たちは去年もキャチロボに出場しており、「ラグビーの亡霊」というチーム名で参加していました。しかし、大会当日は通信関連の不調で思うような動作ができず、煮え切らないまま大会を終えます。去年の大会は「じゃがりこ」を扱う大会だったので、ラグビーでもじゃがりこでも引退できなかった、「じゃがビーの亡霊」として再度大会への参加を決意します。
ところで、去年はロボコンチームMaquinistaのOB4人で参加していました。しかし就職や留学で参加できるメンバーが減り、結局修士2年生ふたりで参加することになりました。修論?まだ早い。
キャチロボはお菓子をワークとして扱うのが特徴の大会ですが、今年のワークは「ハイチュウプレミアム」です。フィールドに並べられたハイチュウを回収し、既定の場所に並べて置いていきます。制限時間3分間で、ワークを並べて得られる得点を競います。
今年のルールでは、不安定なパウチ形状のワークをどう回収し、綺麗に整列させるかが肝となりました。
まずは大会でのロボットの動きを見てください!青チームです!
伸展するXYZテーブル、大きく拡縮するエンドエフェクタが特徴です。ごつく見えますが、総重量はPC込みで10kgとそんなに重くないです。
めっちゃいろんなところが伸び縮みするので、この子は「Expandroid」と名付けられました。
↓ぐりぐりして見れる3Dモデルはこちら!Inventor2022形式の拘束がちゃんとされてる設計データ(zip形式)はここにアップロードしてます。詳細気になる方はダウンロードしてね!なにか気になるところあれば@takupon009までDMくれればウキウキでおへんじさせていただきます。
キャチロボに参加するのも2年目なので、去年の機体の反省を踏まえて機体のコンセプトを立てます。
メンバーと話し合った結果、以下の項目を満たすロボットができると良いよね!となりました。
個人的な思想としては、NHKロボコンに出てたときから「かっこいい」「美しい」ロボットを作るぞという思いがありました。自分は機械屋さんなので作ったロボットを制御屋さんに渡して動かしてもらうのですが、ロボコンなのでまあ徹夜進捗が多発します。そういう大変な状況でも、愛想をつかされない程度にはかっこいいものを作るのが機械屋さんの責務だと思っています。
しっかり考えて作ったものは自ずと機能美が現れてくるものだと信じているので、”こだわりを捨てずに作る”、”納得できるものを作る”ということを意識して設計製作しました。
“納得”はすべてに優先するぜッ
ここからロボットの各要素の紹介です!
共通エリア、自陣エリア、シューティングエリアで、ハイチュウの並んでいる間隔が違います。これら全部に1つのエンドエフェクタで対応できるように、独立で動く6つのハンドの間隔を自由に伸縮できる構造を採用しました。1モーターのワイヤ駆動で、等間隔を保ったままハンドの位置が変わります。
ハイチュウはサーボで開閉するハンドを使って、上から挟んで回収します。
ハンドの開閉部分は、固定側にはt0.5mm、動く側にはt0.3mmの焼き入れリボン鋼を使って作っています。しなる素材を使うことで、裾が広がっているパウチの形状にうまくフィットしてしっかり把持してくれます。
滑り止めにはウェットスーツの生地を使っています。柔らかくびっくりするほど摩擦係数が大きいうえ、裏側(人肌側)が布地なので接着が簡単ですごい便利です。
細かい設計の話はまた別の記事で書きます!お楽しみに!
今回一番気合を入れた部分です。
XYテーブルは何も考えずに組むと可動域分の長さのレールが必要になるので、機体がめちゃでかくなっちゃいます。今回はコンパクトさを重視したかったので、X、Y、Z軸ともに多段にして、伸びる構造にしています。ただこの構造、片持ち祭りになるので相当剛性を高く作らないとたわんでしまって使い物になりません。
今回は、与圧モリモリ剛性マシマシの自作直動案内を作り、それをワイヤとタイミングベルトを使って両方向に伸展しつつ動かす、ということをしています。
テレスコになってて1方向に伸びる機構は割とありますが、両方向に伸展できる機構は目新しいんじゃないでしょうか?なかなかの面白機構ができた自信アリです。
カムフォロワと同程度の硬度である焼き入れリボンをレール側に張り付けることで、ベアリングとアルミ角パイプを使った直動ユニットにありがちな「初めはいい感じだけどだんだんアルミ側が削れてきてガタガタになる」という問題を解決しています。アルミより塑性変形しにくいので与圧をかけやすいのもGood。
そしてなんと~~~!!
ぐるっと回すことで赤青フィールドへの対応ができます!
さらに、X,Y軸を平行にすることで分解せずとも超コンパクトに収納もできます!
こちらも詳細は別記事にて解説予定です!
ワーク1個を2秒くらいでピック&プレイスする、爆速ハンドも実は作ってました。スケジュールがあまりにもギリギリで、本番には間に合いませんでしたが。。。一徹足りんかった。
機体が完成したのは本番1週間前です()。ただ、制御を担当してくれてたメンバーがめちゃしっかり準備してくれていたおかげで、組立って即日に試合ができるだけの動作ができる状態まで持っていけました!!さすが!!!
ざっくりと、5月チーム結成、7月エンドエフェクタ完成、9月頭XYテーブル完成、その後統合といった流れです。最後の方は設計しながら加工して組立する人になってました。おれはインタプリタ型エンジニアだぜ!
旅費を除いて10万円を見込んでましたが、大体想定通りになりました。ロ技研のおかげでアルミ材は使い放題なので(みんな入ろう!)、モーター代が負担の6割強を占めてます。ありものの部品を結構使ったのが効いてそう。大会で8万円(参加賞3万円+特別賞5万円)を勝ち取りましたがやっぱり赤字ですね。優勝したかったぜ。
みなさん、M2でもロボコンはできます。やりましょう!
キャチロボ論文執筆MFT魔改造の〆切り四重点が発生してそれはまあ大変なことになりましたが、何も命までは取られません。社会人になると学生の時と比べて参加できるロボット競技会はぐっと減ってしまうので、出られるときに出ておくのが吉です。やりたくなってもやれなくなっちゃいますからね。
できるうちに、楽しいロボコンライフを!ではまた、機構詳細の解説記事で!
皆さん!度々こんにちは。
今回は甘い食べ物の話…
ではなく、甘い想定がもたらす被害のお話です。(知ってるよって人はごめんね)
私は、今から約二ヶ月前に野菜の値段の高騰に苦しんでいました。
お値段が上がるとどうしてもお金がなくなって不景気になります。
これに例外はないでしょう。
なので、なんとか安く済ませられないだろうか?と考えました。
調べてみると野菜の値段の高騰は、野菜の価値の高騰ではなく、輸送費の高騰によるものということがわかりました。
ということは、論理的に考えれば自宅で作れば安く上がるということにならないでしょうか?
ついでに私は最近収入があまりないので次世代機の制作費を捻出する方法を考えていました。
このプラントをなんらかの形で収入源にできないでしょうか?
こんなことを考えながら私はこの企画を始めました。
これを検討し始めて、最初に思ったのが、自分で水やりや雑草管理などのタスクを全て処理するのは、生活と両立するの大変だなぁということでした。
これをせめて水やりと雑草・害虫駆除だけでも自動化できないか?ということを私は検討し始めます。
このうち、水やりについてはいくつかのブログと、あるサークル内の仲間からの助言によって電磁弁で水流制御を行えばいいというふうに検討しました。
また、これを開発機材ごとフリマで売って仕舞えば、私の開発予算をやや増やしつつ次世代機に導入したい技術を全て投入、テストすることが可能になると結論しました。
また、遂行し始めてたったの二週間で以下の状況が整いました。
ハードウェアの基本構成は割とすぐに揃ったのです。
しかし、計画がいかに順調に滑り出そうと、どこにでも失敗の要素はあるものです。
ましてや単独で動く企画は誰からもFBされないので確率はより高くなります。
私が最初に直面した課題は市販品のACアダプタが壊れていたことでした。
この事態は想定していなかったため、動揺して問題が市販品であることを認めるまでに二週間もの時間を支払う羽目になりました。そのことは自分の研究室配属前に爆速で処理しようという計算を狂わせ、結果配属待ちで基板発注する計画がオジャンになりました。結果的に追加で約二週間もの手待ちを発生させることになってしまいました。
また、悪いことというのは連鎖で起こるもので、この手待ち期間に概ね損害規模が大きかったものだけでも以下のような状況が起こりました。
これらは僕が持っていたなけなしの予算とやる気を吹っ飛ばして1日の睡眠時間をトリプルスコア化するのに十分すぎるダメージを叩き出しました。
そもそも論として、次世代機を作らずにこれを開発し始めたのがモチベーションの回復と予算の復活待ち、さらに実験であったことを踏まえると前項のダメージはありえん話です。
さらに、収入の当てがない条件下での予算の低下ゆえに手持ち資金が 過去最低にまで落ち込みます。
結果として、基板データを各種生成したものの、別に売れることの確約も、思うように動作することの確約も取れないという状況が私に以下の決意をさせます。
どうせ発注1回分しか費用は残ってないんだし、他の並列プロジェクトを完遂するまで放置しよう。
当然と言えば当然ですが、並行で進めるプロジェクトの全てがうまくいくわけはありません。
結果として、この企画を含めて計4種類のプロジェクトがたった1個の失敗によってストップ、現在に至るまで進捗が発生しないという驚異的な事態が引き起こされてしまいました。
ここで手待ちした結果、とあるプロジェクトの劇的な大失敗によって最後の一撃案件になり、全ての計算は吹っ飛び、私は企画自体を達成の見込みが限りなく弱めて再編することになり、私に実行が可能なものは、電気的に水を流すか流さないかを選択する装置を採算も取れない形で数ヶ月かけて実装するという悲惨な計画に転身してしまいました。
想定は常に厳しく見積もるべしという格言があります。
しかし、私が皆さんに伝えたいのは、最悪の事態というのはいかなる場合でも所詮は想像ができる範囲に過ぎないということです。
であるならば、最良の対策は、最小構成物を最速で既存技術の組み合わせで作ることであると思います。
未来はあくまで過去の積分でしかないので、急激になにか離散的な進捗が出る前提で企画を立てれば必ず破綻します。
皆さんが私と同じように新規のプロジェクトを考える機会があったら、こういったことを踏まえてみると幸せになれるかもしれません。
それでは皆さん、楽しいものづくりライフを!
せっかくなので甘い話として下に、適当なチョコケーキのレシピを載せてみます。
みなさんこんにちは。
皆さんは忙しいですか?私は夏休みまでは忙しかったです。
さて、私はよく、腕がもう一本増えないかなぁと感じるのですが、世の中にある義手はそれほど使い勝手が良さそうではないし、高いです。また、個人的に思うのは、単に既存の手を置き換えるというのではなく増やせる方が非常に便利であることは疑いようがありませんが、存外そういったものを作ろうという人は少ないと感じます。なんか残念です。そこで、とりあえず自分で使ってみたいと思えるようなロボットハンドを制作するという点にのみフォーカスしてハードウェアを作ってみようと考えました
下の画像を見てください
これは昨年度の私が文化祭で展示したじゃんけんを行うロボットハンドです。
できてんじゃんと思ってしまわれた方もいると思いますが、色々問題があるのです。
このうち少なくとも1~5を改善し、その他の項目を改良するために自分で設計をし直すことにしました。
これができたものです。え?しょぼいし指しかないじゃんって?
間に合わなかったのですね…
こんな反応が聞こえてきそうなので一つ釈明をしておくと、この、指さえ作れば、去年のものと合体するだけで目的を遂げられるんですよね
まあ作りたいと思って設計まではしたので完全に言い訳ですが
ここまで設計しておいて何故作らなかったの?って言われそうですが、単にまだいじり足りない部分があるだけです。
悲しいな
駆動域は見ての通りで、中に駆動域外への動きに干渉させるように仕切りがあります。完成品と色が違うのは、まあ仕様です。
大きさは下の画像の通りです。私の手のサイズに外形が合うように設計されています。
この仕様上、問題はあるのですが、一旦はこれでいいと思っています。
なんか指だけ作ったことを記事にしてみて、なぜ数ヶ月ひたすら指しか作らなかったのか?と感じざるを得ませんが、まあ、しょうがないことかもしれません。
案の定未完成のものをプロヂュースする記事を作ってしまったし、設計手法を具体的に書くべきとも思えなかったので、書いてみて微妙すぎる記事になってしまってすみません。
書いたという点を評価してほしいなぁと感じています。
こちらはrogy Advent Calendar X日目の記事です.
今回は秋月電子通商で販売されているSTM32L010F4P6を使った際,レジスタを叩く(HALすら使わずに)ことになったので,その時の知見を備忘録がてら残しておこうと思います.誰得…?
こんにちは.20-Samejimaです.初めての投稿なので見にくいところもあるとは思いますが,よろしくお願いします.
さて,今回は,GPSデータの記録装置を作ったお話をしようと思います.(最後に,新潟へ自転車旅した話をします.)
僕の趣味はサイクリングで,毎回自分がどのようなルートを通ったかスマホのアプリで記録していました.しかし,一つ重大な問題を抱えていました.
それは...スマホの電池がすぐ無くなる!!
数時間のサイクリングならたいしたことは無いのですが,長距離サイクリングになるとルートを調べたり連絡を取ったりするのに携帯が使えなくなってしまいます.
そこでルートを記録する装置(GPSロガー)を別で作ってスマホの電池消耗問題を解決することにしました.
みなさんこんにちは、2018年度入学、M2のたくぽんです。
先日第13回キャチロボバトルコンテストが終わりましたが、今回は第12回大会の記事です。
去年のアドベントカレンダーで書くはずだった機体の解説を書いていきますよ。
他のキャチロボ関連記事も見てね!
大会参加報告
直動回転差動機構の紹介記事
電装の紹介記事
いい感じにじゃがりこを回収してますね。
試合開始直後に小さいロボットがじゃがりこを一個回収したあと、でかいロボットが残りのじゃがりこを回収してるのが分かるかと思います。
今回は、でかいロボットの手先、じゃがりこを掴んでる部分である「エンドエフェクタ」と、試合開始後3秒でじゃがりこを1つ回収している小さいロボット「爆速ハンド」について紹介します!
こんなのを作りました。
吸盤が付いていて、変形してその配置が変わるようになっています。
今回のキャチロボでは,↓のように並んだじゃがりこをシューティングBOXに入れるという課題でした.
相手よりもたくさんのじゃがりこを確保できれば、それだけ勝利に近づきます。
ということで、「共通エリアの過半数、5個のじゃがりこを相手よりも早く確保できること」を設計目標に定めました。
早く確保するためには数個ずつちまちま回収するのではダメだろうということで、「共通エリアの5個は同時に回収する」ことにしました。
ここで問題になるのが、じゃがりこの配置です。自陣は1個並んでいる列・2個並んでいる列が100mm間隔で交互に並んでいますが、共通エリアは140mm間隔で1列に並んでいます。加えて、プレイス先のシューティングBOXは100mm間隔の格子型です。
それぞれ配置が違うので、自陣回収 ⇔ シューティングBOXにプレイス、共通回収 ⇔ シューティングBOXにプレイス、というふたつの場合を考えないといけません。
それぞれに専用のハンドを作るのはスマートじゃないですし、ロボット内でじゃがりこを並び替えるのも大変そうです。
自陣・共通・シューティングBOX、3つそれぞれが違う並びなのが難しいポイント。
どうしようかな~~~
おや?自陣とシューティングボックスの配置、これは…??
「く」の字型の並びが、自陣とシューティングBOXで共通してる!!!
おなじ並びなので、「く」の字型配置のハンドなら、自陣とシューティングBOXの両方で使いまわせます。この気づきで、「く」の字型配置のハンドを使うことによって、自陣回収 ⇔ シューティングBOXにプレイス の際のじゃがりこ並び替え工程が不要になりました!
これで、自陣・共通・シューティングBOXの3つの並びに対応する問題から、「共通エリアの140mm間隔の1列」と「自陣・シューティングBOXの『く』の字」の2つの並びに対応するハンドの開発という問題に落とし込め、問題が簡単になりました。
じゃがりこの回収方法については、吸盤を用いた吸引を採用することにしました。じゃがりこの天面にさえアクセスできれば回収できるので、パカパカ開閉するハンドに比べて干渉問題が起きにくそうです。
ということで、
・共通エリアの5つのじゃがりこを同時に回収できて
・それを「く」の字型配置を含むシューティングBOXの並びに変更できる
・吸盤をじゃがりこ天面にあてがうことで回収を行うハンド
を設計すればよさそうです。
こんな感じの、マジックハンドを変形させたようなリンク機構を使えばうまくいきそう。
共通エリアモード、自陣・シューティングBOXモードの2値を取れればよいので、モーターは使わずにエアシリンダで駆動することにします。
機構のコンセプトが立ったので、リンク比をいい感じにしていきますよ。
フンッ
2時間CADのスケッチを凝視してたらいつのまにか最高のリンク比が目の前に…!!
各吸盤の目標位置との偏差は0.5mm以内に収まってます💪
リンク比が決まったのでもりもりモデリングして完成!
エンドエフェクタ上から&下から
— たくぽん (@takupon009) September 21, 2022
裏側もぎっしり肉抜きしてます#キャチロボ pic.twitter.com/aBn61lHsG9
共通エリア回収後の変形動作が最高だからみんな見てくれ
去年のキャチロボ動画(ブログ用) pic.twitter.com/6ygrvy1LS2
— たくぽん (@takupon009) October 26, 2023
「共通エリアに進入するには自陣のワークを1個以上シューティングBOXにプレイスしないといけない」というルールがあります。爆速でプレイスを終え、相手よりも早く共通エリアのじゃがりこをせしめてやろうということで、1個のワークを爆速でピック&プレイスする、爆速ハンドが生まれました。
試合開始後この爆速ハンドで1個プレイスし、シューティングBOXの空いた部分に共通エリアの5個をプレイスすることでシューティングBOXを1つ埋めます。今でもこのコンセプトはどこよりも良かったんじゃないかな~と思ってます。
がっしゃんがっしゃん派手に動いとりますね。
ピック&プレイスを終えた後は、メイン機体の邪魔になるのでフィールドの裏に引っ込んでもらってます。くるりんぱ。
この機構,完成したのが大会数日前だったので、いろんなところがはちゃめちゃな仕上がりになっちゃいましたが、とりあえず動いてよかったです。
本番では爆速ハンドで回収したオブジェクトは破損判定もらっちゃったんだけどね…
高速で動くアームの先端にハンドが付くので、軽量化のためにできるだけ把持にアクチュエータを割きたくない。1度だけ把持できればよいので、ねじ歯車とツメを使ったパッシブな機構を考えました。ほぼほぼ3D🍮製の機構で、割と軽いです。
ハンドをじゃがりこに押し当てると、ツメに引っかかって把持ができます。ソレノイドを駆動することでロックが外れ、ツメが開いてプレイスできます。おもしろ機構をつくれたのは楽しかったけど、動きが渋かったのが改善ポイント(大会本番はシリコンスプレーを塗りこんで事なきを得ました)。
ずっと放置してたキャチロボ2022の記事をようやっと書きました。次はキャチロボ2023の機体紹介記事を書きます!工大祭で展示するので、それまでに書けたらいいな…(工大祭は明後日!)
ではまた!