2024年の技術アウトプット、まとめ振り返り記事

本サイトはアフィリエイト広告を利用しています。
エンジニア

2024年の振り返り・まとめ記事を書いてみたいと思います。

普段はこんな振り返りはしないのですが…

ただ、このブログ自体がほぼ趣味になっているので好きなことを書いてみます。

趣味でやっていた、1年間の技術アウトプットを紹介します。

 

スポンサーリンク

2024年の技術アウトプット・まとめ・振り返り記事

2024年の振り返り・まとめ記事を書いてみたいと思います。

趣味でやっていた、1年間の技術記事のアウトプットを紹介します。

このブログ自体が趣味100%のため、趣味・遊びの内容です。ご注意ください。

 

今年の趣味でのアウトプット

技術のアウトプットとしては下記でした。合計54件ほど書いたり、発表していました。

(Youtubeの動画も多く投稿もしましたが、これはテスト動画貼り付けているだけ…)

 

2024年は後述するAMD(Xilinx)コンテストに注力していました。

そのため、あまりブログ書いていないと思っていましたが、以外と書いていました…。

 

2024年に一番頑張ったこと

2024年はAMD(Xilinx)のFPGAのコンテストに一番プッシュしました。趣味で一番頑張りました。

趣味とはいえ、非常に長い期間のコンテストで7か月以上開発していました。

下記記事にまとめているので、よろしければ見てください。(隠す気のないステマ)

AMD(Xilinx)のFPGAコンテストに参加した感想

AMD(Xilinx)のFPGAコンテストに参加した感想
AMD(Xilinx)とHackster(Avnet)が合同主催する、海外のコンテストに参加していました。AMD Pervasive AI Developer Contest の「Robotics AI」部門です。KR260というFPGAボ...

 

頑張ったコンテストをネタに、勉強会で報告したスライドも貼り付けておきます。

 

 

1月

2024年の1月・正月は人生の最も怠惰に過ごした、正月でした。

ゲームしたり、家でゴロゴロしたりして過ごしていました。

ただ2023年12月末にはAMD(Xilinx)から「大きいコンテストやるで!」とアナウンスありました。

 https://www.hackster.io/contests/amd2023

Pervasive AI Developer Contest
Fueling Groundbreaking Innovations With AMD.

 

そのため、ちょっと機材の準備したり、テーマであるFPGAの記事を書いていました。

コンテストに使おうとしていた360°カメラのテストをしていました。

ラズパイでRICOH THETAをUSBから操作するメモ

ラズパイでRICOH THETAをUSBから操作するメモ
360度カメラのRICOH THETAを入手したので、ラズパイから操作してみました。GithubにあるライブラリでUSBから簡単に操作できます。インストール方法から実行例含めて紹介します。ラズパイでRICOH THETAをUSBから操作する...

 

またテーマとなるFPGA・Vitis AIに久しぶりに触っていたのをブログ記事にしました。

FPGAでOpenCVを試したメモ。Xilinx(KV260)編

FPGAでOpenCVを試したメモ。Xilinx(KV260)編
FPGAでOpenCVを試してみました。 使用したボードはXilinx(AMD)のKV260です。 Vitis Vision Libraryを使ってエッジ検出をした内容を紹介します。

Vitis AI 3.5とKV260でYOLOXを動かしたメモ

Vitis AI 3.5とKV260でYOLOXを動かしたメモ
Vitis AI 3.5とKV260でYOLOXを動かしてみました。AMD(Xilinx)のサンプルで公開されているモデルを動かしたメモです。SDカードの作り方からruntimeのインストール含めて紹介します。Vitis AI 3.5とKV...

 

2月

確か仕事の方で出張もあったので、そこまで趣味の時間が取れなかったです。

ただ、後々コンテストで必要となる開発をしていました。

KV260とPYNQでGPIOを制御してみたメモ

KV260とPYNQでGPIOを制御してみたメモ
FPGAボードのKV260でGPIOを制御してみました。 Python(PYNQ)経由でPMODコネクタからLED出力・SW入力しています。

 

また趣味で基板を作る・発注することは無かったのですが、今年初めて実施してみました。

(仕事では常にやっているけど…)

趣味では初めてなので、簡単なLチカの2層基板から取り掛かっていました。

PCBGOGOへのガーバーデータをKiCadから作成したメモ

PCBGOGOへのガーバーデータをKiCadから作成したメモ
KiCadでPCBGOGOのガーバーデータを作成してみました。KiCad初心者でしたが、問題なく回路図・アートワーク作成できました。簡単な基板作成を例にして、KiCadの使い方を紹介します。PCBGOGOへのガーバーデータをKiCadから作...

 

PCBGOGOさんには、基板を作らせてもらって感謝です。

(ここでも隠す気のない宣伝しときます)

プリント基板の発注を個人でやってみた(PCBGOGO編)

プリント基板の発注を個人でやってみた(PCBGOGO編)
PCBGOGOでプリント基板を個人発注をしてみました。PCBGOGOは初めてで、新規のためクーポンが使えて格安で作れました。発注から入金、基板到着までの流れを紹介します。プリント基板の発注を個人でやってみた(PCBGOGO編)PCBGOGO...

 

筆者の家にある貧弱なはんだ道具で頑張って部品実装していました。

来年こそ、良いはんだごてを買おうと思いました。(いつも根性で何とかするから、忘れる…)

はんだ付けを自宅のオンボロの道具で頑張ってみた

はんだ付けを自宅のオンボロの道具で頑張ってみた
プリント基板を作成したので、表面実装の部品含めてはんだ付けしてみました。仕事場とは違い、趣味の自宅作業のため道具もしっかり揃っていません。自宅でのはんだ付けに苦労した内容を紹介します。はんだ付けを自宅のオンボロの道具で頑張ってみたプリント基...

ピンヘッダー2.54mmピッチの2列直角タイプを購入してみた

ピンヘッダー2.54mmピッチの2列直角タイプを購入してみた
ピンヘッダー2.54mmピッチので2列直角タイプを購入しました。2列のピンヘッダーでも手で割れて、問題なく使えました。購入した製品から、割り方・フットプリントまで紹介します。ピンヘッダー2.54mmピッチの2列直角タイプを購入してみたピンヘ...

 

コンテストで使う評価ボードの構成を考えてみたり、プレ検証したりしていました。

KR260でMIPI CSI-2をSLVS-ECから変換できるか考えたメモ

KR260でMIPI CSI-2をSLVS-ECから変換できるか考えたメモ
KR260にはMIPI CSI-2の汎用カメラに接続できるコネクタがありません。その代わりにSLVS-ECという専用カメラコネクタがあります。何とかして変換する基板を作れないか検討してみた(雑な)メモです。KR260でMIPI CSI-2を...

 

また追加で作成したモータドライバ基板のプレ動作したりしていました。

モータドライバのICが動かない…故障?と勘違いした件

モータドライバのICが動かない…故障?と勘違いした件
モータドライバでDCモータを制御しようとしました。ただ電池直接ではモータが回転するのに、ドライバIC経由だと動かない現象でした。電圧・波形を調査すると、よくあるミスだった旨を紹介します。モータドライバのICが動かない…故障?と勘違いした件モ...

モータドライバでDCの正転・反転を試してみる(DRV8833編)

モータドライバでDCの正転・反転を試してみる(DRV8833編)
安く簡単に正転・反転できるDCモータドライバを使ってみました。ICはDRV8833です。DCモータを2chまで制御できます。ラズパイのGPIOからモータドライバ制御するまで紹介します。モータドライバでDCの正転・反転を試してみる(DRV88...

モータドライバの回路を自作してみる(DCモータ編)

モータドライバの回路を自作してみる(DCモータ編)
モータドライバの回路を自作して、基板作成しました。ICはDRV8833です。2chのDCモータを正転・反転制御する基板です。回路図からアートワークまで作成した旨を紹介します。モータドライバの回路を自作してみる(DCモータ編)モータドライバの...

 

3月

コンテストも本格的にスタートしましたので、開発を進めていきました。

仕事でも趣味でもハードウェアのデバッグする日々が続きました。

 

コンテストの主サイトである、海外の技術サイト「Hackster.io」の方で活動していました。

まずはHackster.ioでの技術ブログでの書き方の練習をしました。

(多少はUIが違いますが、WordPress・はてなと似たようなものです。)

Raspberry Pi and DRV8833 Test

Raspberry Pi and DRV8833 Test
Controlled DC motor by Raspberry Pi and DRV8833 By misoji engineer.

 

コンテストで使う、評価ボードKR260でのLチカやモータ動作などテストしていました。

Control GPIO from PYNQ and KR260

Control GPIO from PYNQ and KR260
This project is part of a subproject for the AMD Pervasive AI Developer Contest. We are conducting tests with PYNQ and G...

Control PWM(DC-Motor) from PYNQ and KR260

Control PWM(DC-Motor) from PYNQ and KR260
This project is part of a subproject for the AMD Pervasive AI Developer Contest. We are conducting tests with PYNQ and P...

 

4月

もくもくとAMDのコンテストの開発を進めていました。長い苦行の始まりです。

コンテストのテーマにした、FPGAでの画像認識を進めていきました。

Object Detection(Yolo) with DPU-PYNQ and KR260

Object Detection(Yolo) with DPU-PYNQ and KR260
This project is part of a subproject for the AMD Pervasive AI Developer Contest. We are conducting tests with DPU-PYNQ o...

Implementation DPU, GPIO, and PWM for KR260

Implementation DPU, GPIO, and PWM for KR260
This project is part of a subproject for the AMD Pervasive AI Developer Contest. We Implemented DPU, GPIO, and PWM for K...

 

また評価ボードKR260と360°カメラとの接続確認などもしていました。

Remote Control 360° Camera from KR260

Remote Control 360° Camera from KR260
This project is part of a subproject for the AMD Pervasive AI Developer Contest. We Remote Control 360° Camera from KR26...

 

5月

コンテスト開発の苦行の真っ只中です。

(ゴールデンウイークは何処行った?⇒デバッグで消えました。)

主に360°カメラ映像をGStreamerでリアルタイムで転送するのに苦戦していました。

 

色んなパイプラインを試したり、FPGAでの画像処理に対応していました。

GStreamer + OpenCV with 360° Camera and KR260

GStreamer + OpenCV with 360° Camera and KR260
This project is part of a subproject for the AMD Pervasive AI Developer Contest. We process 360° Camera with GStreamer a...

360 Live Streaming + Object Detect(DPU) with KR260

360 Live Streaming + Object Detect(DPU) with KR260
This project is part of a subproject for the AMD Pervasive AI Developer Contest. We process 360° Object Detect(DPU) with...

 

取得した物体検出の座標をもとに、ROS2で3Dマーカ表示させたりしていました。

ROS2 3D Marker from 360 Live Streaming with KR260

ROS2 3D Marker from 360 Live Streaming with KR260
This project is part of a subproject for the AMD Pervasive AI Developer Contest. We process ROS2 3D Marker from 360 Live...

 

6月

元々は6月末がコンテストの締め切りだったのですが、7月末に納期が1か月伸びました。

苦行が更に1月伸びました。さすがに、ちょっとサボり気味になりました。

 

実際に360°の物体検出テストしたり、検出速度を改善していました。

Control 360° Object Detection Robot Car with KR260

Control 360° Object Detection Robot Car with KR260
This project is part of a subproject for the AMD Pervasive AI Developer Contest. We control 360° Object Detection Robot ...

Object Detection with YOLOX + PYNQ and KR260

Object Detection with YOLOX + PYNQ and KR260
This project is part of a subproject for the AMD Pervasive AI Developer Contest. We conduct 360° Object Detection with Y...

 

7月

コンテスト開発の最後は、マヂで気持ちで乗り切りました。

「もう2度とやらない…」とコンテスト末期の開発は常に思います。

ただ数か月後には忘れて、新たな面白そうなコンテストあると飛びつくのをループします。

 

最終ベンチマークしたり、最後のプロジェクトまとめ記事を作成していました。

Benchmark Architectures of the DPU with KR260

Benchmark Architectures of the DPU with KR260
This project is part of a subproject for the AMD Pervasive AI Developer Contest. We compared the speeds of different DPU...

Power Consumption of Robot Car with KR260

Power Consumption of Robot Car with KR260
This project is part of a subproject for the AMD Pervasive AI Developer Contest. We measured Power Consumption of Robot ...

Vitis AI ONNX Runtime Engine (VOE) with KR260 + Python

Vitis AI ONNX Runtime Engine (VOE) with KR260 + Python
This project is part of a subproject for the AMD Pervasive AI Developer Contest. We introduce Vitis AI ONNX Runtime Engi...

Object Detection with KR260 from a Webcam

Object Detection with KR260 from a Webcam
This project is part of a subproject for the AMD Pervasive AI Developer Contest. We tried object detection with a regula...

360° Object Detection Robot Car

360° Object Detection Robot Car
This is the 360° Object Detection Robot Car featuring the KR260. This Robot was built for the AMD Pervasive AI Developer...

 

8月

7月末でコンテストも終わったので、さすがに夏休みは好きなことを開発していました。

日本語でコンテストのまとめ記事も書いたりしていました。

やはり、解放されたコンテンスト終わったときの感想記事が一番ノリノリになります。

AMD(Xilinx)のFPGAコンテストに参加した感想

AMD(Xilinx)のFPGAコンテストに参加した感想
AMD(Xilinx)とHackster(Avnet)が合同主催する、海外のコンテストに参加していました。AMD Pervasive AI Developer Contest の「Robotics AI」部門です。KR260というFPGAボ...

 

ただ、コンテストの開発していた内容を間違っていないか少し検証していました。

コンテストで使ったKR260と似たKV260という評価ボードでもテストしていました。

KV260とPetalinuxでPyTorchのテスト(YOLOX+Python編)

KV260とPetalinuxでPyTorchのテスト(YOLOX+Python編)
KV260とPetalinuxの環境構築して、DPUで物体検出してみました。PyTorchのYOLOXをPythonで動かしています。VARTのAPIを使ってプログラムしたコード含めて紹介しています。KV260とPetalinuxでPyTo...

KV260でVitis AI ONNX Runtime Engine (VOE) を試してみた

KV260でVitis AI ONNX Runtime Engine (VOE) を試してみた
KV260でVitis AI ONNX Runtimeをテストしてみました。KR260で実施した同じ対応で出来ました。YOLOX+PythonをONNX環境でテストした内容を紹介します。KV260でVitis AI ONNX Runtime...

ONNXのYOLOXの後処理(Post-process)が速いことに関してのメモ

ONNXのYOLOXの後処理(Post-process)が速いことに関してのメモ
公式のYOLOXのONNXを使うと、Vitis AIのPyTorchのと比べて後処理(Post-process)が速いです。出力の結合、softmax、sigmoidなどの後処理が推論側で対応していました。実際に確認してみたプログラム含めて...

KV260にDPU-PYNQでVitis AI 3.5を使えなかったメモ

KV260にDPU-PYNQでVitis AI 3.5を使えなかったメモ
KV260でもDPU-PYNQで最新のVitis AI 3.5を使えるか試みたメモです。AMDのコンテストで使用したライブラリを応用できないか確認してみました。結果はダメでした。インストール方法からテストした内容まで紹介します。KV260に...

 

 

本当に半年間、日本語でブログ記事書けなかった鬱憤を晴らしていました。

やっぱり、技術的なブログ記事書くことが趣味になっているんだなと思います。

KV260とDPU-PYNQでYOLOXの物体検出してみる

KV260とDPU-PYNQでYOLOXの物体検出してみる
KV260とDPU-PYNQで物体検出してみました。YOLOXを使って、高速に物体検出しています。jupyter_notebooksとpythonの両方でテストしてみました。KV260とDPU-PYNQでYOLOXの物体検出してみるKV26...

KV260でROS2とGPIOのテスト。Webカメラと一緒に動かしてみた

KV260でROS2とGPIOのテスト。Webカメラと一緒に動かしてみた
KV260のDPU-PYNQで物体検出したデータを応用してみました。WebカメラからリアルタイムでYOLOXを使っています。特定の物体を検出してGPIOを出力したり、ROS2のマーカ表示をしてみました。KV260でROS2とGPIOのテスト...

モバイルディスプレイ代替のHDMIキャプチャボードが良かった件

モバイルディスプレイ代替のHDMIキャプチャボードが良かった件
デバッグ用に、小さいモバイルディスプレイの購入を考えていました。ただ頻度も少ないため買うか悩んでいたところ、HDMIキャプチャボードで事足りました。2000円程度の変換ケーブルですが、非常に役立ちましたので紹介します。モバイルディスプレイ代...

RICOHのTHETA Xではなく、THETA Vを購入した理由

RICOHのTHETA Xではなく、THETA Vを購入した理由
コンテストで360°カメラのRICOH THETA Vを使っていました。最新のTHETA Xではありませんでしたが、十分に機能してくれました。個人的な開発・デバッグではTHETA Vで満足だった理由を紹介します。RICOHのTHETA Xで...

モバイルバッテリーのPDの出力電圧で失敗した話

モバイルバッテリーのPDの出力電圧で失敗した話
モバイルバッテリーを購入しました。PD(Power Delivery)対応の20W品です。但し出力電圧をしっかり確認していなかったため、2台目を購入する羽目になりました。失敗した・PD対応のバッテリ購入で注意することの内容を紹介します。モバ...

 

お盆休みもあったので、8月は日本語の記事で16記事作成していました。

ステッピングモータをラズパイで制御して、波形まで確認してみた

ステッピングモータをラズパイで制御して、波形まで確認してみた
ステッピングモータを購入してみました。ラズパイからPythonで制御しています。オシロスコープで波形取得するまで確認した旨を紹介します。ステッピングモータをラズパイで制御して、波形まで確認してみたステッピングモータを購入してみました。ラズパ...

ステッピングモータを自作のドライバ回路とプログラムで動かしてみた

ステッピングモータを自作のドライバ回路とプログラムで動かしてみた
自作のドライバ基板でステッピングモータを回してみました。Pythonで簡単にプログラムを作って、パルス波形を作成しています。基板の回路図、プログラム含めて紹介します。ステッピングモータを自作のドライバ回路とプログラムで動かしてみた自作のドラ...

OpenCVでGStreamerがインストールされている環境のメモ

OpenCVでGStreamerがインストールされている環境のメモ
OpenCVでGStreamerを使いたいが、デフォルトでインストールされていないケースがあります。OpenCVが昨今で色んなインストール方法があるためです。opencv-python、python3-opencv、OpenCVの環境を調査...

PYNQからAXIバスのレジスタを触って、PWMを弄ってみた

PYNQからAXIバスのレジスタを触って、PWMを弄ってみた
PYNQのMMIOを使ってAXIバスのレジスタを変更してみました。PWMのdutyを変えて、Lチカ・DCモータを制御しています。プログラムからテスト動画含めて紹介します。PYNQからAXIバスのレジスタを触って、PWMを弄ってみたPYNQの...

 

今振り返ってみると、8月も解放された喜びで相当狂っていたと思います。

ラズパイの方にもコンテストの技術を展開してみたりしていました。

ラズパイとONNX RuntimeでYOLOXを試してみる

ラズパイとONNX RuntimeでYOLOXを試してみる
ラズベリーパイでONNXのYOLOXを使って、物体検出のテストをしてみました。プログラム・インストール含めて紹介します。ラズパイとONNX RuntimeでYOLOXを試してみるラズベリーパイでONNXのYOLOXを使って、物体検出のテスト...

ラズパイと360度カメラで物体検出とライブストリーミング

ラズパイと360度カメラで物体検出とライブストリーミング
ラズパイと360度カメラを使ってPythonからライブストリーミングをしてみました。また360度の物体検出もテストしてみました。使用したカメラからプログラム含めて紹介します。ラズパイと360度カメラで物体検出とライブストリーミングラズパイと...

 

9・10月

9月にコンテストの主催者から連絡があり、英語のプレゼンを(Web会議で)しました。

その資料作成・英語での発表練習で9月の休みは消えました。

あと10月のAMD(Xilinx)の開発者向けのイベントにも呼ばれたので、その準備していました。

(ただ準備と言ってもサンフランシスコの何処に観光しよう…とか本当に遊びでした)

 

コンテストの結果は無事2位取れました。良かったです。

AMDの開発者向けイベントのAdvancing AIに参加してきた

AMDの開発者向けイベントのAdvancing AIに参加してきた
AMDの開発者向けイベント「Advancing AI 2024」に参加してきました。アメリカのサンフランシスコで開催され、現地まで行ってきました。当日のイベントの様子から、表彰された旨を紹介します。AMDの開発者向けイベントのAdvanci...

サンフランシスコとかシリコンバレーを1日観光してきた

サンフランシスコとかシリコンバレーを1日観光してきた
アメリカのサンフランシスコ周辺で1日観光してきました。Waymoの自動運転を楽しんだり、シリコンバレーやスタンフォード大学に足を運んでみました。さくっと1日観光した旨を紹介します。サンフランシスコとかシリコンバレーを1日観光してきたサンフラ...

 

9・10月はコンテストの発表とかイベントへの準備で忙しく、技術アウトプットは少なかったです。

ただreTerminlという産業用ラズパイ手に入れたので遊んでいたりしていました。

reTerminalにCODESYSをインストールして、PLCにしてみた

reTerminalにCODESYSをインストールして、PLCにしてみた
reTerminalにCODESYSをインストールして、PLCにしてみました。タッチパネルを使って、入出力を制御できることまで確認しています。インストール・接続方法に関して紹介します。reTerminalにCODESYSをインストールして、...

 

11月

11月はPyCon mini 東海 2024で発表する機会をいただけたので、その準備などしていました。

(PyCon mini 東海…Pythonの東海地方のカンファレンス)

PyCon mini 東海 2024 - 名古屋の中日ビルで発表してきた

PyCon mini 東海 2024 - 名古屋の中日ビルで発表してきた
PyCon mini 東海 2024で発表者として参加してきました。発表テーマは「Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた」です。当日のカンファレンスの様子から、懇親会の様子含めて紹介します。PyCon...

 

11月もPyConがあったのでブログ記事のアウトプットとしては少なめです。

KR260のRpiのピンアサイン確認して、I2C通信をしてみた

KR260のRpiのピンアサイン確認して、I2C通信をしてみた
KR260にはラズパイと同じく40ピンのピンヘッダーがあります。ピンアサインを確認して、Vivadoで合成してPYNQからI2C通信をしてみました。プログラム、オシロスコープ交えたテスト動画含めて紹介します。KR260のRpiのピンアサイン...

市の公共の教室をデモ動画・デバッグのために借りてみた

市の公共の教室をデモ動画・デバッグのために借りてみた
ハードウェアのデバッグをしていて、広いスペースが必要となりました。デモ動画の撮影も兼ねていたので、自由に安く数時間使える環境を必要としていました。市の公共の施設・教室を借りて対応した旨を紹介します。市の公共の教室をデモ動画・デバッグのために...

KV260のsmartcamのラズパイカメラ版で失敗したメモ

KV260のsmartcamのラズパイカメラ版で失敗したメモ
KV260のsmartcamという画像認識デモを試してみました。デフォルトでは使えない、ラズパイのカメラで試してみました。結果はダメでしたが、忘備録として環境構築から実行したコマンド含めて残しておきます。KV260のsmartcamのラズパ...

 

またサブデスクトップのUbuntuが20.04でしたので、24.04に入れ替えていました。

VivadoやVitisなどをUbuntu 24.04にインストールしたメモ

VivadoやVitisなどをUbuntu 24.04にインストールしたメモ
デバッグ用のPCのUbuntuを20.04→24.04に入れ直しました。それに伴い、AMD(Xilinx)のFPGAの開発環境も更新しています。メモレベルですが、VivadoやVitis をインストールした旨を紹介します。VivadoやVi...

 

12月

12月は少し仕事が忙しかったので、趣味のアウトプットは少なめでした。

reTerminalを使って時刻同期の通信テストなどしていました。

ラズパイのCompute ModuleでPTP通信を試してみた

ラズパイのCompute ModuleでPTP通信を試してみた
reTerminalはラズパイのCompute Module 4で動作しています.通常のラズパイのPHYと違い、IEEE-1588/PTP通信が可能なメリットがあります。ハードウェアタイムスタンプ使ってPTP通信をテストした内容を紹介します...

 

ただ年末に向けて、次回の別のコンテストへ向けて準備などしていました。

また来年も苦行が始まりそうです。

 

2025年は何する?

2025年も相変わらず趣味の技術ブログ書いたり、コンテストに参加したりしようと思います。

また宜しければブログなど見てみてください。引き続きよろしくお願いいたします。

コメント