Filed under:
未分類
ロボット研究部の文化祭では、2022年から音声ガイドを導入しています。
↑2023年度の展示の様子
昨年度までは、音声ガイドは市販の音声プレーヤーを使っていました。しかし、今年度からは自作音声ガイドを導入したいと思っています!
こちらが今回届いた基板です:
今回は、JLCPCB様に基板製造をお願いしました。PCBA (PCB Assembly) というサービスを利用させていただきました。
PCBAとは、製造してもらった基板に、そのまま部品を実装して届けてくれる、というサービスです。
今回、音声ガイドに用いる電子部品は「全て」PCBAサービスで実装してもらいました。(電池用のコネクタを除く)
しかも、この基板では、このように複雑な実装をしています。
自動で表面実装パーツなどを実装していただいた後、手はんだでディスプレイを実装していただいたみたいです。
にもかかわらず、この基板を発注してから到着まで、何と1週間という短さでした!やばすぎます(製造自体は4日で完了していました)
この速さが、基板製造にJLCPCBをお勧めできる一番の理由です。
そして、部品、基板含めめちゃくちゃ安いのも、JLCPCBのメリットの1つです。
今回この基板は、実装費用含め5枚で合計103$ ≒ 1.5万円 でした。日本ですべての部品を購入して実装する手間を考えたらめちゃくちゃ安いです。部品代だけでは37$≒6000円と、日本で買うより安いような値段です。
主な機能紹介
・STM32F103RCT6(メインプロセッサ) ・sdカードスロット ・USB Type-C コネクタ (STM32書き込み用兼電池充電用) ・イヤホンジャック ・I2S DAC ・I2Cディスプレイ ・Li-Po 安全回路/充電回路 ・充電中に、USBからの給電に切り替える回路 ・ユーザー操作用スイッチ(5個)
これだけの機能が、手のひら今回発注した基板では、DACとジャックを直繋ぎするという大失態(アンプつけてない)を犯してしまったので、残念ながら音はなりませんでしたが、その他は問題なく動作しました。
この基板は、動作が確認され次第オープンソースにて公開を予定しています。その時はちょっと覗いてみてください。
今回基板を発注させていただいたJLCPCB様は、中国に拠点を置く基板製造会社です。 PCBやPCBAといったサービスのほかに、JLC3DPやJLCCNCなど幅広い製造事業を行っています。 安い/早い/うまい の3拍子揃った製造業界の吉野家なので、皆さんも機会があれば使ってみてください!
英語発注システムhttps://jlcpcb.com/JPV/ 日本語発注システムjlcpcb.com/jp/
今回、この基板はAutodesk Fusionを使って設計しました。Autodesk FusionからのPCBAの発注方法はこちらに詳しく乗っています。https://jlcpcb.com/help/article/how-to-generate-bom-and-cpl-from-fusion360
最近はKiCADユーザーが多くて、Autodesk FusionからのPCBAの方法の日本語文献があんまりなかったので、またそれについてのブログも書こうと思います。
最後まで読んでいただきありがとうございました!それではまた
Filed under:
未分類
どうも。66thのSoulaです。今日はros2 foxyで、RViz2を用いてRPLIDARのLaserScanを可視化してみました。
まず、RPLIDARのデータをLaserScanタイプのトピックに変換します。変換には、次のリポジトリを使用しました。https://github.com/youtalk/rplidar_ros/
このリポジトリの、Eloquentをチェックアウトし、colconでビルドの後、実行します。
次に、RViz2を起動し、Add->By topicからLaserScanを選択、追加します。トピック名は、デフォルトだと/scanになっています。
このままだと、エラーが出てしまい、Laserを可視化できませんので、Fixed Frameにlaser_frameを設定します。すると、以下のように可視化することができました!
Filed under:
未分類
どうも。66thのSoulaです。
今回は、g++でBoost Asioを使用する際にリンカエラーではまったので解決法と経緯を書いておきます。
解決法 g++の引数に -lboost_pthreadを付加する。
経緯 Boost Asioを用いてシリアル通信を行おうとしたところ、下記のようなリンカエラーが発生しました。
usr/bin/ld: /tmp/cc0BvY7L.o: in function boost::asio::detail::posix_event::posix_event()':
main.cpp:(.text._ZN5boost4asio6detail11posix_eventC2Ev[_ZN5boost4asio6detail11posix_eventC5Ev]+0x51): undefined reference to
pthread_condattr_setclock’
/usr/bin/ld: /tmp/cc0BvY7L.o: in function boost::asio::detail::posix_thread::~posix_thread()':
main.cpp:(.text._ZN5boost4asio6detail12posix_threadD2Ev[_ZN5boost4asio6detail12posix_threadD5Ev]+0x2a): undefined reference to
pthread_detach’
/usr/bin/ld: /tmp/cc0BvY7L.o: in function boost::asio::detail::posix_thread::join()':
main.cpp:(.text._ZN5boost4asio6detail12posix_thread4joinEv[_ZN5boost4asio6detail12posix_thread4joinEv]+0x2f): undefined reference to
pthread_join’
/usr/bin/ld: /tmp/cc0BvY7L.o: in function boost::asio::detail::posix_thread::start_thread(boost::asio::detail::posix_thread::func_base*)':
main.cpp:(.text._ZN5boost4asio6detail12posix_thread12start_threadEPNS2_9func_baseE[_ZN5boost4asio6detail12posix_thread12start_threadEPNS2_9func_baseE]+0x3e): undefined reference to
pthread_create’
/usr/bin/ld: /tmp/cc0BvY7L.o: in function boost::asio::detail::posix_signal_blocker::posix_signal_blocker()':
main.cpp:(.text._ZN5boost4asio6detail20posix_signal_blockerC2Ev[_ZN5boost4asio6detail20posix_signal_blockerC5Ev]+0x68): undefined reference to
pthread_sigmask’
/usr/bin/ld: /tmp/cc0BvY7L.o: in function boost::asio::detail::posix_signal_blocker::~posix_signal_blocker()':
main.cpp:(.text._ZN5boost4asio6detail20posix_signal_blockerD2Ev[_ZN5boost4asio6detail20posix_signal_blockerD5Ev]+0x31): undefined reference to
pthread_sigmask’
collect2: error: ld returned 1 exit status
Filed under:
未分類 タグ:
Campfire ,
Carrot ,
クラウドファンディング
タイトルの通り全自動台車CarrotのクラウドファンディングをCampfireにて開始いたしました。また後日HPでも告知いたしますが、よろしければご支援お願いいたします!
こちら
Filed under:
TEPIA ,
お知らせ ,
クラブ全般 ,
文化祭 ,
未分類
どうもShunです。お久しぶりです。
なんと今年はロボット研究部が創立されて15周年だそうです。Tシャツでも作ろうかなぁ?
さて、夏休みに入りましてブログと、ホームページを更新しようかなと思うこの頃です。
文化祭に向けてパネルやCM等がんばって作成したいと思います。
今年はロボットを知る をテーマに展示していきます。
サッカーロボットの操作体験 やプログラミング体験 を新たに取り入れる計画をしています。ぜひ御来場ください。
今年は9月15-16日 の実施です。
本題のTEPIAチャレンジ助成事業ですが、一昨年にはのぼルンバ、昨年はLINEMAKERと2年連続グランプリを頂いてきたわけですが、今年もなんと採択されました。サイトはこちら
今年は自動司書Alvaという名前のロボットを作ります。
本の蔵書を管理する予定です。
今年もグランプリ目指して頑張りますのでよろしくお願いします!文化祭にもプロトタイプを展示したいと思っています。
前回投稿したLINEMAKER2号は間に合うかなぁ……?文化祭でのお楽しみです。。
以上です。
Filed under:
未分類
Shunです。
遅ればせながら、2017TEPIAチャレンジ助成事業において、無事2年連続グランプリをいただきました 。
今回は白線引きロボット「LINEMAKER」を作成いたしました。目標を完全に達成するにはいたりませんでしたが、PI制御が認められ、無事グランプリを獲得できました。
機体は東京に置いてきているのですが、来年の文化祭までにはもう一台作成し、さらにバージョンアップしたLINEMAKERが展示してあることでしょう。
ホームページはこちら
そして、オープンスクールも無事終わり、次は京都ノードです。
今年は初めてここ洛星高校で開催されます。
今年は中1はサッカービギナー数班と、レスキューメイズ1班、中2がサッカーオープンに1班、高1レスキューメイズ1班で出場します。
高2とOBが集まったサッカーオープン班も楽しみです。
中2は初めてのプリント基板設計をしています。
あと少ししかないですが、頑張りたいです。
Filed under:
ATxmega関連 ,
未分類 タグ:
uart通信 ,
xmega
どうもこんにちは。Shunです。
今回はxmegaのUART通信のソースを公開していきたいと思います。
UART通信って何?っていうひとはggrks Google大先生に聞いてください。
テスト環境はUSARTE1でATxmega128a1uの内部発振子32MHzでボーレート9600bpsです。
ではではコード説明に移りましょう。
void init_usart(void){
PORTE.DIRSET=PIN7_bm;//PORTE7をOUT設定
PORTE.DIRCLR=PIN6_bm;//PORTE6をIN設定
USARTE1_BAUDCTRLA =207 ;//USARTE1のボーレート設定
USARTE1_BAUDCTRLB =0x00 ;//USARTE1のボーレート設定
USARTE1.CTRLC = (USARTE1.CTRLC & ~USART_CHSIZE_gm) | USART_CHSIZE_8BIT_gc;//データbit数設定
USARTE1.CTRLB = (USART_RXEN_bm | USART_TXEN_bm);//TXD,RXD許可
}
以上がUSARTのイニシャライジングです。
特に何もいうところはありませんね。
ボーレート設定はデータシートを読んでください。
以下、データ送信です。
void usart_send(char c)
{
while( !(USARTE1_STATUS & USART_DREIF_bm) ); //Wait until DATA buffer is empty
USARTE1_DATA = c;
}
void usart_string(char *text)//文字データ送信
{
while(*text)
{
usart_send(*text++);
}
}
void usart_putdec(uint16_t data){//4桁数列送信
usart_send(data/1000 + ‘0’);
data %= 1000;
usart_send(data/100 + ‘0’);
data %= 100;
usart_send(data/10 + ‘0’);
data %= 10;
usart_send(data + ‘0’);
}
特にいうことなしですね。
まあ。こんな感じでしょう。
送信完了割り込み等はしておりません。
将来的にできるようになりたいなと。。。
今回は以上ですね。
今はI2CとSPIに苦戦中です。
最後にソースをまとめたものを。
void init_usart(void){
PORTE.DIRSET=PIN7_bm;//PORTE7をOUT設定
PORTE.DIRCLR=PIN6_bm;//PORTE6をIN設定
USARTE1_BAUDCTRLA =207 ;//USARTE1のボーレート設定
USARTE1_BAUDCTRLB =0x00 ;//USARTE1のボーレート設定
USARTE1.CTRLC = (USARTE1.CTRLC & ~USART_CHSIZE_gm) | USART_CHSIZE_8BIT_gc;//データbit数設定
USARTE1.CTRLB = (USART_RXEN_bm | USART_TXEN_bm);//TXD,RXD許可
}
void usart_send(char c)
{
while( !(USARTE1_STATUS & USART_DREIF_bm) ); //Wait until DATA buffer is empty
USARTE1_DATA = c;
}
void usart_string(char *text)//文字データ送信
{
while(*text)
{
usart_send(*text++);
}
}
void usart_putdec(uint16_t data){//4桁数列送信
usart_send(data/1000 + ‘0’);
data %= 1000;
usart_send(data/100 + ‘0’);
data %= 100;
usart_send(data/10 + ‘0’);
data %= 10;
usart_send(data + ‘0’);
}
Filed under:
未分類
どうも、polarです。
現在交差点に悩まされてまして、残り作業日数2ヶ月ほどだというのにあまり進捗が生まれていません。
考えた結果、やはり現在あるラインセンサともう一つサブのラインセンサがあったほうがいいだろうという結論に至りました。
そして、今年度のルールでは緑を検出する必要がなくなり、黒と白と銀色が判別できればいいということで、アナログ出力の赤外線センサを用いたラインセンサを急遽制作しよう(してもらおう)と思っています。
ちょうど某ロボ研OBが精度がいいアナログ出力のラインセンサを作っていたのでそれを使っていこうと。
今使っているS9706でラインと銀色の検出ができればよかったのですが、S9706ではどうも白と黒の判別が付きづらいので無理そうです。
ちなみに現在、ラインセンサ1本だけで交差点をクリアできないか試行錯誤してる最中ですが、少し斜めに入るとかなりの確率で失敗します。
できれば冬休みに入ってすぐの時期くらいには、サブラインセンサを完成させて交差点を確実にクリアできるようにしないと非常にまずい、という状況です。
Filed under:
未分類
こんばんは、junkです!
文化祭が終わりました!
残念ながら今年も賞を逃してしまいました…
しかし、今年は私が知るなかで最高レベルのロボット稼働率を誇っていたように思います。(これで最高レベルというのもフクザツな気分ですが…)
私見ではありますが、今年は中学一年生から高校二年生までの全ての部員が頑張ってロボット製作や展示説明に努めていたと思います。
最後になりましたが、今年の文化祭展示を支えてくださった先生方と文化祭企画委員、生徒会の人、また展示を見に来ていただいた来校者の方々、本当にありがとうございました!
Filed under:
未分類
こんばんは、junkです。
とうとう文化祭まであと3日!
今年の文化祭準備はいつもより順調に進んでいる・・・と思います。
何回も書いているとほんとにもうただの宣伝ですけど…
今年の文化祭テーマは「Robotics Education~いま、ロボット教育を考えよう~」
展示期間は20日(金)から22日(日)まで
金、土曜日は10:00~16:00
日曜日は10:00~14:00
です。
日曜日は終了時間が早いのでお気を付けください。
明日は現在のロボットの状況をレポートしたいと思います!
楽しみにしていてください!
古い記事 »