aptpod Tech Blog

株式会社アプトポッドのテクノロジーブログです

GLSLを使ってWebで3D点群を可視化する

こんにちは。 aptpod Advent Calendar 2023 12月21日を担当するVisual M2Mグループの白金です。

普段は Visual M2M Data Visualizer (以下 Data Visualizer )の製品開発を担当しています。

当製品においてLiDARで計測した3D点群を可視化するための開発をする機会がありました。3D点群には、ひとつひとつの点について、X、Y、Zの位置情報を含みます。また、LiDARで計測する環境によって、1回の描画で数千個以上の点の情報を含む場合があり、可視化アプリケーションではパフォーマンスを意識し、効率よく可視化する処理が要求されます。

また、3D点群の表示の一例として、原点から距離に応じて色が変化する可視化の方法があります。各点ごとに一つ一つ3Dモデルを作成し色を指定する方法でも実現できますが、点の数に比例してCPUの計算コストが肥大化し、パフォーマンスが低下する課題があります。

そこで、上記課題を解決するため、GPUで計算するGLSLを使用して可視化する方法についてサンプルコードも交えてご紹介します。

続きを読む

MenderとDockerでアプリケーションのOTAを実現した、新しい組込Linuxシステムのご紹介

aptpod Advent Calendar 2023 12月20日の記事です。

intdashグループの野本です。組込Linuxソフトウェア開発を担当しています。

aptpodでは、intdashに接続可能な組込Linuxシステムとして「intdash Terminal System(以降、Terminal System)」を開発しており、このたび大規模アップデートを行いました。Terminal System 2として近々リリース予定していますので、アップデート内容について(少し先取りして)ご紹介したいと思います!

  • はじめに
  • Terminal Systemとは
  • Terminal Systemの開発経緯
  • Terminal Systemの課題
  • Terminal Systemの課題に対する解決策
  • Terminal System 2の紹介
  • Terminal System 2のデモ
    • コンテナを利用したアプリケーション開発
    • Menderを利用したOTA
  • さいごに
  • おまけ
続きを読む

Rust/eguiで作るデスクトップ業務アプリ

  • はじめに
  • 今回作成するアプリ
  • eguiとは
    • eguiの特徴
  • GUI画面作成
    • egui template の利用
      • アプリ構造体の修正
      • GUIパーツの追加
  • データ送信処理の組み込み
    • Cargo.tomlの編集
    • サービスに接続するためのコード追加
  • GUIアプリの動作確認
    • デスクトップアプリとしての利用
  • まとめ

はじめに

こんにちは、aptpod Advent Calendar 2023 12月19日担当のアプトポッドの組み込みソフトエンジニアの影山です。

弊社ではエッジデバイスで動くソフトウェアにRustを採用して、開発を進めております。 私もアプトポッドに入社してからRustを本格的に勉強していくつかの開発にも携わってきました。

一般的に何かのWebサービスを使おうとした場合、開発時ははCLIで利用できるだけで基本的には事足りますが、とっつきやすさだったり、情報の閲覧性を考えるとGUIがあった方がうれしいケースも多々あるかと思います。

これまでの経験でRustも多少使えるようになったので、今回は、Rust SDKを使って自社サービスに接続してみようと思います。

弊社では、コアのサービスであるintdashに接続するためのクライアントライブラリを、色々な言語で提供 *1しており、その中にRustも含まれています。

RustでGUIを作ることができるライブラリはいくつか提供されています。今回はその中でもeguiというライブラリを利用して、デスクトップアプリを作ってみたいと思います。

*1:Python、TypeScript、Swift、C#、Go、Rust

続きを読む

リモートROS開発におすすめ!AWS EC2 GPUインスタンスにVNC接続

aptpod Advent Calendar 2023 12月18日 を担当する 組み込みエンジニアの久保田です。

みなさん、ROS(Robot Operating System)開発でGazeboシミュレータを動かす際、どのような環境を使っていますか? GPUを搭載した高性能なPCは社内に限られており、長時間の占有が難しいということも多いのではないでしょうか。以前紹介したOpen-RMFシミュレーションのように、試行錯誤しながら環境をフルに活用したいようなことがあるかと思います。

AWS EC2にVNC Clientで接続してOpen-RMFのデモを動かしている様子

本記事では、そのような用途向けに、AWS EC2のGPUインスタンス上にx11vncを使用したリモートデスクトップ環境を構築する方法を紹介します。この環境は、ROS開発だけでなく、Unityや動画生成などのGPUを要求するアプリケーションを使用したい方々にとっても有益です。

続きを読む

サクッとIoTシステムを構築する

こんにちは!

aptpod Advent Calendar 2023 12月15日担当サーバーサイドエンジニアの宮内です。

普段はサーバーアプリケーションを実装しているのですが、今日はフロントエンドのUI含んだintdashシステム全体の構築方法について書こうと思います。 どれだけ簡単に構築のできるかという点をお伝えしていきます。

リリース前の情報なので、現状でお伝えできる範囲内での内容となります。

続きを読む