ABEJA Tech Blog
https://tech-blog.abeja.asia/
中の人の興味のある情報を発信していきます
フィード

今すぐ動かせるROS Noetic
ABEJA Tech Blog
ABEJA 新卒エンジニアの和田です。 ロボット開発では、各種センサやアクチュエータ、制御アルゴリズムなどを組み合わせる必要があります。ROS(Robot Operating System)はこうした複雑な要素を「分散システム」としてまとめ、開発を効率化するための通信ミドルウェア的フレームワークです。ROS 1 Noetic は公式サポートが2025年5月に終了しており、ROS 2は進化したリアルタイム制御やマルチプラットフォーム対応、セキュリティ強化が魅力です。まずはROS 1 Noeticを理解することで、ROSの基本的な概念や開発フローを学びやすいため、本記事ではROS 1 Noetic…
3日前

15分で作るSO-ARMシミュレーション環境(MuJoCo)
ABEJA Tech Blog
ABEJA 新卒エンジニアの和田です。 LeRobot Worldwide Hackathonに ABEJA の有志チームとして参加しました。ハッカソンでは模倣学習をテーマにロボットアームの動作を再現したかったのですが、実機を揃えられなかったため、MuJoCo 上でのシミュレーション環境構築を試みました。本記事では、macOS 環境でオープンソースのロボットアーム「SO-101」を MuJoCo 上で動かすセットアップ手順をご紹介します。実機をお持ちでない方でも、手軽にシミュレーションを始められるよう、スクリーンショットやコマンドを交えて丁寧に解説します。 huggingface.co 前提と…
4日前

Amazonに売ってるモノで6軸ロボットアームを自作してみた (3Dモデル+ソースコード付き)
1

ABEJA Tech Blog
はじめに 設計まわり 構造・機械 電源回路 制御回路 制御処理 制御用SDK周り アーム作成の様子 今回の学び 技術面 その他:ロボット作りはお金がかかる 3Dモデル・ソースコードについて 追記:開発合宿で利用しました We Are Hiring! はじめに ABEJA大田黒です。前回は以下の記事を執筆しました。今回はロボットアームを作ったので、そのお話になります。 tech-blog.abeja.asia ロボットアームを自作しようと思ったきっかけについて触れます。 将来的に家事をすべてロボット化したい。その為に、比較的安価で関節トルクが強いロボットアームがほしい VLAの研究開発環境が自宅…
5日前

ABEJA開発合宿開催レポート 〜ロボティクスハッカソン〜
ABEJA Tech Blog
t-Expertsとは 開発合宿概要 コンテストのルール 各チーム配布物 その他備品 評価基準 合宿の様子(全体) スケジュール 食事、温泉、そして・・・ 開発の様子 コンテストの様子 チームA:「画像認識×機械学習の王道アプローチ」 チームB:「人間の知恵を活かす探索型」 チームC:「確実性と挑戦性のハイブリッド戦略」 チームD:「LLM活用×コスパ重視の現代的アプローチ」 結果と表彰 合宿のまとめとその後の様子 We Are Hiring! こんにちは!ABEJAでプロジェクトマネージャーをしている服部です!今回はABEJA社内で開発合宿の企画・運営をしましたので、レポートを記そうと思いま…
5日前

【初心者が】ロボットアーム SO-101組み立てレポート ※ 2025/06/16更新【手順更新しました】
ABEJA Tech Blog
はじめに 先にまとめ 全体 事前準備 パーツの入手 uvのインストール その他あると便利なもの 組み立て手順 LeRobotのインストール モーターの設定 電源の接続 各モーターバスに関連付けられたUSBポートを見つける 設定ファイルの更新 モーターIDの設定 ジョイントの組み立て ファームウェアの更新(Windows PCのみで可能) キャリブレーション フォロワーアーム/リーダーアームの手動キャリブレーション ロボットの制御 テレオペレーション おわりに We Are Hiring! はじめに こんにちは。 株式会社ABEJAのシステム開発部でエンジニアをしている中島です。 以前にロボット…
10日前

Claude Code で要望からデプロイまでを爆速にするツールを作った
ABEJA Tech Blog
こんにちは。CTO室の村主です。 みなさん、Claude Code や Cursor で色々なアプリを Vibe Coding していると思います。いきなり本番環境をゴリゴリ Vibe Coding している人は限られていると思いますが、ひとまず社内系のアプリケーションなら品質は置いといて爆速で作っていけると思います。 そこで、要望からデプロイまでを爆速にするツールを作ったので公開します。 背景 Claude Code で開発するとサクサク機能追加できます。でも非エンジニア含めてみんながみんな Claude Code を使いこなせるわけじゃないです。 そこで Claude Code Actio…
10日前

iOSアプリ開発者のための Core ML フォーマット比較と最適運用法
ABEJA Tech Blog
こんにちは、ABEJA 新卒エンジニアの和田です。 PyTorchで学習したResNet18ベースの年齢・性別推定モデルをCore MLへ変換する際に遭遇した「形式エラー」と、その回避策として、Core MLを使ってiOSアプリを作成している人や .mlmodel と .mlpackage の使い分けがわからない人に向けて、実際のコードの解読まで深掘りしていきます! 背景:なぜCore MLなのか 私が直面した“モデル形式エラー” 1. Core MLフォーマットの内部構造を覗く 2. .mlmodel 深掘り:Protocol Buffers仕様 メリット/デメリット 3. .mlpacka…
12日前

ハイパーパラメータ調整時間を激減、μPでLLMを爆速最適化する話
ABEJA Tech Blog
MathJax.Hub.Config({ tex2jax: { inlineMath: [ ['$','$'], ["\\(","\\)"] ], processEscapes: true } }); はじめに μP(Maximal Update Parametrization)とは μPが解決する根本的な問題 なぜハイパーパラメータ転移が困難なのか:SPの根本問題 μPの仕組み 順伝播における「初期状態」の安定化 学習を支配する「パラメータ更新」のスケーリング ハイパーパラメータの計算例 μPの実装 Qwen2.5で実験 まとめ We Are Hiring! はじめに こんにちは。Labsチ…
24日前

Celery入門──非同期処理・定期実行・可観測性まで解説
ABEJA Tech Blog
はじめに 1. Celery のアーキテクチャと三大要素 1.1 Broker の選び方 1.2 Worker の実行モデル 1.3 Backend の選択と結果管理 2. シンプルタスクとリトライ戦略 2.1 タスクの定義と呼び出し方 2.2 タスクの呼び出し方法:.delay() と .s() の違い 2.3 障害耐性:自動リトライ 3. 複雑ワークフロー:Chain・Group・Chord 3.1 よくある落とし穴とその回避法 4. 定期ジョブ:Celery Beat 5. 可観測性とアラート 5.1 JSON ログ 5.2 メトリクス 6. ローカルモック&スケーリング(Docker …
1ヶ月前

LLMの他言語混ざり問題の評価と日本語追加学習の効果について
ABEJA Tech Blog
ABEJAでデータサイエンティストをしている服部です。 弊社は、経済産業省とNEDOが実施する、国内の生成AIの開発力強化を目的としたプロジェクト「GENIAC(Generative AI Accelerator Challenge)」の1期に続き、2期にも採択され、そこで大規模言語モデルの開発を進めています。 その中でQwen2.5をベースとして継続事前学習を行なったモデルをいくつか開発し、公開しています。 tech-blog.abeja.asia tech-blog.abeja.asia tech-blog.abeja.asia 1月に公開した32Bモデルのブログにも記載したのですが、時々…
1ヶ月前

ロボット同士が対話により言葉を創る?「記号創発ロボティクス」解説
ABEJA Tech Blog
ABEJA でデータサイエンティストをしている岩城です。 先日弊社は、京都大学大学院情報学研究科教授 谷口 忠大先生に顧問としてご参画いただきました。谷口先生は、記号創発システム分野において広範な研究を推進する第一人者でいらっしゃいます。 www.abejainc.com 本記事では、谷口先生が取り組まれている記号創発ロボティクスについて、自身の解釈も交えながら解説していこうと思います。参考にした中心的な論文は以下です。 doi.org 記号創発 記号創発システム 記号創発ロボティクス 場所概念獲得モデル 確率的生成モデルによる記号創発システムのモデル化 集合的予測符号化に基づく記号創発ロボテ…
1ヶ月前

実機 SO-101で挑む模倣学習の実践 (Action Chunking with Transformers適用)
ABEJA Tech Blog
はじめに SO-101の初期セットアップ 模倣学習の実践 タスク設定 カメラセットアップ データセット作成 学習プロセス 評価と結果 まとめと今後の展望 We Are Hiring! はじめに こんにちは!ABEJAでエンジニアをしている宇留嶋です。2025年5月SO-101 がオープンソースで公開され、ハードウェアの民主化によって「ロボティクス × AI」の実験速度は一気に加速し、研究室レベルだった試みが個人でも実践可能になりつつあります。今回はロボットアームSO-101とHugging FaceのLeRobotライブラリを使って模倣学習に挑戦してみました。本記事では、模倣学習の実験過程(セ…
1ヶ月前

Googleプロンプトエンジニアリングホワイトペーパー完全解説:実践テクニックとベストプラクティス
ABEJA Tech Blog
はじめに こんにちは!ABEJAのシステム開発部でソフトウェアエンジニアをしている関です。 日々の業務でLLMを活用する中で、「AIにどう指示すれば効率的に期待どおりの結果が得られるのか」という課題に直面していました。試行錯誤の繰り返しで時間を取られることも多く、このやりとりを効率化したいと考えていた時に出会ったのが、Googleが2025年2月に公開したプロンプトエンジニアリングに関するホワイトペーパーです。その内容は非常に実践的で、私のLLM活用スキル向上に大いに役立つものでした。 このホワイトペーパーは、プロンプトエンジニアリングの基礎から応用まで、実践的な手法を網羅的に解説しています。…
1ヶ月前

VLAモデル「π0」のファインチューニングと推論入門 with LeRobot + Gymnasium
ABEJA Tech Blog
こんにちは!ABEJA で ABEJA Platform 開発を行っている坂井(@Yagami360)です。 先日の記事で、ロボティクス領域の VLA モデル「π0」の内部の仕組みを解説しました。 tech-blog.abeja.asia 今回の記事では、この「π0」を LeRobot を使用して実際に動かしてます。(π0 を動かす分には、中身の仕組みは必ずしも知らなくても十分なので↑の記事はスキップしてもらってもOKです。) とはいえ、いきなり実機で動かすのは色々ハードルがあるので、この記事では Gymnasium でのシミュレーター環境上で動かしたり(推論させたり)、ファインチューニングし…
1ヶ月前

ABEJA Qwen2.5-32B Modelの事後学習に向けたデータセット作りの道のり
ABEJA Tech Blog
ABEJAでデータサイエンティストをしている大谷です。 弊社は、経済産業省とNEDOが実施する、国内の生成AIの開発力強化を目的としたプロジェクト「GENIAC(Generative AI Accelerator Challenge)」の1期に続き、2期にも採択され、そこで大規模言語モデルの開発を実施しました。 これまでにGENIAC2期の取り組みで3つのモデルを公開してきました。 これらのモデルはAlibaba社が開発したQwen2.5-32B-Instruct、QwQ-32B、Qwen2.5-7B-Instructをベースモデル、差分Vector用モデルとして用いています。 7Bと32Bの…
1ヶ月前

【初心者でも】ロボットアーム SO-101組み立てレポート ※ 旧手順【ロボット作りたい】
ABEJA Tech Blog
2025/06/16: 情報を更新しました! 新しい手順は下記をご覧いただけると幸いです! tech-blog.abeja.asia 本記事の手順は古いので、旧手順を何かで参照したい場合にお使いください! 本記事の手順が古いことを判った上で参照したい方は進んでください! はじめに 先にまとめ 事前準備 パーツの入手 uvのインストール 組み立て手順 LeRobotのインストール モーターの設定 電源の接続 各モーターバスに関連付けられたUSBポートを見つける 設定ファイルの更新 モーターIDの設定 ジョイントの組み立て ファームウェアの更新(Windows PCのみで可能) キャリブレーション…
1ヶ月前

小型LLM「ABEJA Qwen2.5-7B Model」学習のための蒸留のパイプライン並列化
ABEJA Tech Blog
はじめに こんにちは、Labsチームの藤本です。 弊社は、経済産業省とNEDOが実施する、国内の生成AIの開発力強化を目的としたプロジェクト「GENIAC(Generative AI Accelerator Challenge)」の1期に続き、2期にも採択され、そこで大規模言語モデルの開発を進めています。今回は、そのプロジェクトの中で実施した大規模言語モデルの蒸留(Knowledge Distillation)に関する技術的な取り組みをご紹介します。 本蒸留の成果については、以前の記事(https://tech-blog.abeja.asia/entry/geniac2-qwen25-7b-v…
1ヶ月前

ロボティクス領域の VLA モデル「π0」の仕組みを理解する
ABEJA Tech Blog
こんにちは!ABEJA で ABEJA Platform 開発を行っている坂井(@Yagami360)です。 近年の ChatGPT 等の LLM の飛躍的な発展とマルチモーダル化の流れに伴い、ロボティクス領域においても LLM を活用して、テキストでロボット制御できるようになってきているようです。 LLM に対して画像を入力もできるようにして{画像・テキスト}でのマルチモーダル化したモデルを VLM [Vision-Language Model] といいますが、ロボティクス制御等で LLM を活用できるように更にこれを拡張して、ロボットのアーム制御などの行動ベクトルも入力できるようにして{行…
2ヶ月前

OpenAIのAny-to-Any APIでTTSサービスの音声品質を比較してみた
ABEJA Tech Blog
はじめに 比較対象のTTSサービス 実験の方法 実装 各サービスで音声合成 1. OpenAI(gpt-4o-mini-tts) 2. Google Cloud Text-to-Speech 3. Amazon Polly 5. ElevenLabs 音声合成の自動評価 評価結果 まとめ We Are Hiring! はじめに こんにちは!ABEJA でソフトウェアエンジニアを務めている宇留嶋です。2025 年 3 月に OpenAI が発表した次世代音声モデル群は、従来の Whisper を凌ぐ高精度な音声認識と、話し方まで指示できる音声合成をAPI で提供し、音声対話向けの LLM API…
2ヶ月前

Starlinkに会いに行こう:Go言語で人工衛星の位置計算にチャレンジ
ABEJA Tech Blog
はじめに 必要知識 TLE (Two Line Element) ケプラーの方程式 (第二法則:面積速度一定) ケプラーの方程式 (第三法則:公転周期の2乗 ∝ 軌道長半径の3乗) 本初子午線 (Prime Meridian) 春分点 (Vernal Equinox Point) グリニッジ恒星時 (Greenwich Sidereal Time: GST) 計算の流れ(全体像) 各部の計算の流れ TLEを解析 元期からの経過時間を計算 軌道長半径を計算 平均近点角を更新 ケプラー方程式を解き、離心近点角を得る 軌道面上の(u,v)座標を得る 摂動補正を適用 軌道面座標からECI座標系に変換 …
2ヶ月前

ESP32 x Prometheusで温度・湿度・気圧データを蓄積・可視化する (v2) ~BLE利用~
ABEJA Tech Blog
はじめに 今回の構成(前回差分) BLE通信について Pushgatewayについて ソフトウェア周り コンテナ定義 Prometheusの設定 (Pushgateway対応) ESP32 (BME280データ取得 x BLEデータ送信) Pythonコード (BLE受信 x Pushgateway送信) 最後に(実際の動いている様子) We Are Hiring! はじめに お久しぶりです!ABEJA大田黒です。自作ESP32基盤に温度・湿度・気圧を計測できるセンサー(BME280)を接続し、Grafanaで可視化する仕組みを作りました。詳しくは下記の技術ブログ記事にて執筆しています。 te…
2ヶ月前

Reasoning能力を付与したLLM ABEJA-QwQ32b-Reasoning-Japanese-v1.0の公開
ABEJA Tech Blog
ABEJAでデータサイエンティストをしている服部です。 弊社は、経済産業省とNEDOが実施する、国内の生成AIの開発力強化を目的としたプロジェクト「GENIAC(Generative AI Accelerator Challenge)」の1期に続き、2期にも採択され、そこで大規模言語モデルの開発を進めています。 2期プロジェクトで取り組んでいるモデルとして、1月にABEJA-Qwen2.5-32b-Japanese-v0.1 を公開しました。 今回は、同じく32Bのモデルとして、1月に公開したモデルにReasoning能力を付与した ABEJA-QwQ32b-Reasoning-Japanes…
2ヶ月前

最高の入社体験を創ろう!新メンバー入社時にチームで心がけている事
ABEJA Tech Blog
はじめに ABEJAの大田黒です。ここ3〜4年にわたり、社内のエンジニア採用やオンボーディングプロセスに深く関わってきました。就職・転職という人生の大きな節目において、ABEJAを選んでくれたすべての方に「HAPPY」な入社・業務体験をしていただくための取り組み(TIPS)について、簡単にご紹介できればと思います。 ※本TIPSは、我々のグループ(CTO室プラットフォーム共通基盤G、CTO室プラットフォームアプリケーションG)で行っている施策の一部になります。 ちなみに、入社時・入社前は様々な不安があります。私自身もそうでした。 自分の技術や経験がどこまで活かせるかがわからない 優秀な人が多そ…
2ヶ月前

【ABEJAアジャイル活動記録】スクラムマスターの8つの姿勢:リーダーシップから変革まで
ABEJA Tech Blog
ABEJA でスクラムマスターとアジャイルコーチをしている小川です! ゾンビスクラムサバイバルガイドの著者の一人であるScrum.orgのBarry Overeemさんがまとめた「The 8 Stances of a Scrum Master」ってご存知でしょうか? スクラムマスターが個人、チーム、組織に貢献するためにどのように振る舞うべきかが詳しく述べられていて非常に勉強になります! 原典はこちら:The 8 Stances of a Scrum Master Whitepaper v2.0 とても良い内容なのですが、あまり日本語で紹介されている感じではないので、ここでぜひご紹介をしたいと思…
2ヶ月前

ABEJA Qwen2.5 32B-Japaneseより更に軽量なABEJA Qwen2.5 7B-Japanese v0.1の公開
ABEJA Tech Blog
ABEJAでデータサイエンティストをしている真鍋です。 弊社は経済産業省と国立研究開発法人新エネルギー・産業技術総合開発機構(NEDO)が実施する、国内における生成AIの開発力強化を目的としたプロジェクト「GENIAC(Generative AI Accelerator Challenge)の1期に続き、2期にも採択され、そこで大規模言語モデルの開発を進めています。 www.abejainc.com 1月の記事で、50B以下で高性能な日本語モデルとして、ABEJA Qwen2.5 32B-Japanese v0.1を公開しました。 今回は、さらにパラメータ数を抑えた10B以下のモデルをベータ版…
2ヶ月前

MicrosoftのGraphRAGを使ってみた
ABEJA Tech Blog
初めに データ準備 環境準備 インデックスの作成 回答の生成方法 Local search Global search グラフの可視化 サトシのエンティティ リザードンのエンティティ 回答してみる GrapgRAGなし Global search Local search 少し難しい質問をしてみる まとめ 初めに こんにちは、ABEJAでデータサイエンティストを務めている嘉藤です。今回はMicrosoftが発表した、GraphRAGを試してみました。GraphRAGは、テキストデータからLLMを用いてグラフ構造を生成し、生成されたグラフ構造を用いて質問応答を行うためのツールです。今回は、簡単に…
4ヶ月前

50B以下で高性能なABEJA Qwen2.5 32B-Japanese v0.1の公開
ABEJA Tech Blog
ABEJAでデータサイエンティストをしている服部です。 弊社は経産省が主催するGENIACプロジェクトの1期に続き、2期にも採択され、そこで大規模言語モデルの開発を進めています。 今回、その2期プロジェクトで取り組んでいるモデルをベータ版として公開できる段階に到達したので、Huggingface上に公開しました。 公開したモデルは、Alibaba社が開発したQwen2.5-32B-Instructをベースとしており、ライセンスもベースモデルと同様に、apache2.0として商用利用OKな形で使っていただけます。 huggingface.co このブログでは概要及び性能について簡単にまとめていま…
5ヶ月前

今から始める NeoVim 生活 (序章)
ABEJA Tech Blog
こちらはABEJAアドベントカレンダー2024の25日目の記事です。 こんにちは!システム開発部の合屋(ごうや)です。 日々の開発で今年も様々なツールにお世話になっておりますが、近頃はPCのリソースが不足し、日々悩むようになってしまいました。 特に問題になっているものは Visual Studio Code (VSCode)周りです。 便利にしようと膨大なプラグインを入れてしまい、起動に時間がかかるうえ、リソースをふんだんに使うように…。 エラーや型ヒント、自動補完などは嬉しい。 けれども、起動が遅かったり、動作がカクついたりとストレスフルなのも避けたい。 素敵な方法を探しにインターネットを彷…
6ヶ月前

RAGの足りない精度は運用でカバーしよう
ABEJA Tech Blog
はじめに Human in the Loop システム概要 ワークフローの解説 ワークフローの分岐 静的・動的なナレッジベースの使い分け 実装手順 用意するもの メールサービスの準備(IMAP有効化) Difyの準備 Google Work Spaceの準備 スプレッドシートの準備 スクリプト概要 GASの準備 実運用 テスト 運用担当者に渡すマニュアルのイメージ さいごに 人にできることはまだあるかい その他 We Are Hiring! はじめに こんにちは、ABEJAでプロジェクトマネージャーをしている服部と申します。これはABEJAアドベントカレンダー2024の24日目の記事です。昨年…
6ヶ月前