研究開発グループで機械学習に関係する仕事を担当している瀬戸です。前回は、fastaiで学習に使う関数をApache MXNetで真似してみた - aptpod Tech Blogを紹介させて頂きました。今回は、SageMaker Python SDKのMXNetで利用できるGluonCVのモデルを、SageMaker Neoでコンパイルし、Jetson tx2上でDLRを用いて動作させることができたので紹介したいと思います。
続きを読むROSの任意トピックをC++ノードでPublish/Subscribeする方法
はじめに
製品開発グループの野本です。
組込ソフトウェアエンジニアとしてデータ収集用端末のソフトウェア開発を担当しています。
今回はROSの取り組みの一環として、C++で任意のトピックをPublish/Subscribeする方法についてご紹介します。
- はじめに
- 背景
- 調査結果
- 性能測定
- topic_tools::ShapeShifterとは?
- (参考) rosbagはどうやって任意のトピックをSubscribeしているのか?
- JSON変換もしたい場合
- まとめ
背景
ROSは複数のノードがトピックを介してノード間通信を行っています。
ROSノードとROS以外のアプリケーションが通信する選択肢として、rosbridgeがあります。
rosbridgeはWebSocket、TCP、UDPに対応*1しており、TCPを使用する場合はrosbridge_tcpノードがTCPサーバーとして動作します。クライアントは指定したトピックのデータをJSONとしてPublish/Subscribeすることができますが、以下のような懸念点があります。
- JSON化するとデータが肥大化しやすい、データをそのまま扱う場合は変換処理が冗長(→生データのまま扱いたい...)
- pythonで動いておりパフォーマンスが不安(→C++で動かしたい...)
これらの懸念点を解決するため、以下のようにC++ノードで動作し、JSONではなくバイナリの生データで任意トピックのPublish/Subscribeをする方法について調査しました。
続きを読む
フロントエンドエンジニア目線のデザインチェックリスト
Webチームの蔵下です。先日、弊社デザイナーの高森が公開した記事「コンポーネントを活用したアプリケーション群のデザイン」で紹介したように、aptpodではフロントエンドエンジニアとデザイナーとで、頻繁に議論を重ねながら開発を進めています。
開発中もコミュニケーションを取り合うことでお互いの認識齟齬は減らせるのですが、実装着手前にデザイン面で不確定要素が多いほど手戻りの手間(工数)が膨らんでしまいます。
実装着手前にすべての不確定要素を解消することは難しいですが、開発中に議論になりやすいポイントにはいくつかのパターンがありました。それを実装着手前のデザインレビューで確認できるようにチェックリストとしてまとめましたので紹介します。
続きを読むSphinxとLuaLaTeXで、日本語PDFマニュアルを作る
アプトポッドにて、テクニカルライターとして製品マニュアルの制作を担当している篠崎です。
現在弊社では、製品マニュアルの制作に、Sphinxを導入しようとしています。Sphinxは、1つの原稿ファイルからHTML、PDF等を出力できるドキュメントジェネレーターです。この記事では、SphinxにLuaLaTeXを組み合わせて日本語PDFを生成する方法を探ってみました。
- 背景
- SphinxでLuaLaTeXを使う設定
- (A) LuaLaTeXを使用する
- (B) LaTeXドキュメントクラスとしてltjsbookを使用する
- (C) Polyglossiaパッケージを読み込まないようにする
- (D) サンセリフ系フォント、ゴシック系フォントを指定する(AXISフォントを使用するため)
- (E) デフォルトのフォントをサンセリフ系、ゴシック系に変更する(AXISフォントを使用するため)
- おわりに、今後に向けて
- 参考文献