ラオゴン・ノート

三十路ソフトアエンジニアブログ


  • Home

  • Tags

  • Timeline

  • About Me

2021年の目標

投稿日 2021-01-04 |

2021年になった。2020年は愛する人との結婚というプライベートな転機を迎えることができ、
素晴らしい年だったと思う。公私ともに気力充実のもと進んでいきたい。

続きを読む »

読書メモ 5G 大容量・低遅延・多接続の仕組み

投稿日 2020-12-27 |

ブルーバックスの「5G 大容量・低遅延・多接続の仕組み(著:岡嶋裕史)」という本を読んで
結構分かりやすかったのでメモ。
ネットワークはかなり素人なので、勉強になりました。

続きを読む »

Boostをソースからビルドする

投稿日 2020-11-16 |

ソースコードからBoostをビルドする方法。
B2という独特のビルドツールが出てきて少しハマったのでメモ。

続きを読む »

シェルスクリプトで自作関数にパイプの結果を渡す

投稿日 2020-11-08 |

やりたいこと

1
2
3
4
5
6
7
my_func () {
argument=$(パイプで受け取る)

echo "my_func: $argument"
}

echo "hoge" | my_func # my_func: hoge
続きを読む »

DockerfileでROS indigo環境を作る

投稿日 2020-10-25 |

やりたいこと

Ubuntu 18.04上で、ROS indigoが動く環境をDockerfileを使って作る。

Ubunu 18.04上の環境

1
2
3
4
5
6
7
~/catkin_ws
├── build
├── devel
├── Dockerfile
└── src
├── test_pkg
└── test_pkg.tgz

Dockerfile

  • OSRF Docker images
  • indigo desktop full image
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
FROM osrf/ros:indigo-desktop-full

RUN mkdir -p /home/catkin_ws/src && \
cd /home/catkin_ws/src && \
/bin/bash -c "source /opt/ros/indigo/setup.bash; /opt/ros/indigo/bin/catkin_init_workspace" && \
cd /home/catkin_ws && \
/bin/bash -c "source /opt/ros/indigo/setup.bash; catkin_make" && \
echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc && \
echo "source /home/catkin_ws/devel/setup.bash" >> ~/.bashrc

RUN apt-get update && apt-get install -y \
ros-indigo-jsk-visualization \
ros-indigo-tf-conversions \
ros-indigo-pcl-ros

COPY src/test_pkg.tgz /home/catkin_ws/src/

WORKDIR /home/catkin_ws/src
RUN tar xzvf test_pkg.tgz && cd /home/catkin_ws && \
/bin/bash -c "source /opt/ros/indigo/setup.bash; catkin_make; source /home/catkin_ws/devel/setup.bash"

Build

1
2
cd ~/catkin_ws
docker build -t <image_name>:<tag> .

Run

1
docker run -it --net=host indigotest:0.1 bash

--net=hostオプションが重要。

参考リンク

  • dockerでROSを動かす。(ホストでGUI【rviz】を起動)

Multiplication Order of Transformation Matrix

投稿日 2020-04-19 |

TL;DR

  • Always be aware that whether your transformation is intrinsic or extrinsic.
  • Multiplication order of quaternions or transformation matrices is inverted between the two.

In this article, right-handed system is used.

Problem Definition

Let’s think of composite transformation $T_c$, which applies $T_1$ first, and then $T_2$.

  • $T_1$: Rotate 90 deg around x-axis
  • $T_2$: Rotate 180 deg around z-axis

Which is correct, $T_c = T_1 T_2$ or $T_c = T_2 T_1$ ?
Actually both can be true, we are missing something to identify $T_c$.

続きを読む »

ChangeFinderに関して調べたメモ

投稿日 2020-02-01 |

時系列データに対するオンライン変化点検出アルゴリズムであるChangeFinderについて調べたのでメモです。

続きを読む »

冬の高雄/台南旅行(2020年1月)

投稿日 2020-01-06 |

サマリ

台湾南部の高雄/台南に2020年1月に旅行に行ったときの記録です。
気候や交通事情を記載します。

ホテルのそばの六合夜市で食ってばかりでした。
台南は1日だけ日帰りで行きました。

Item Content
時期 2020年 Jan.1 - 5 (4泊5日)
天気 全て晴れ, 17-25℃
往路 成田→高雄, タイガーエア台湾
復路 高雄→関西, ピーチ
ホテル Kindness Hotel Jhong Jheng

気候

概ね20度前後で非常に快適。日中は半袖でも問題ない。夜は人によっては一枚羽織る感じ。
暖かいけど汗はかかないベストな気候。西日本で言う10月くらいかな。
(ただ2020年1月は日本も暖冬なので、他の年ではもう少し寒いかもしれない)

続きを読む »

連番ファイルの数字の桁をrenameで合わせる

投稿日 2019-12-21 |

やりたいこと

以下のような連番ファイルの数字の桁をLinuxのrenameコマンドで合わせる。

Before

After

Command

1
rename 's/(\d+)/sprintf("%03d", $1)/e' *.txt
続きを読む »

ソフトウェア設計の最初の一歩

投稿日 2019-12-10 |

本記事はQiitaのAdvent Calendar 2019として書かせて頂いたものです。
初めてのAdvent Calendar…!

TL;DR

  • ソフトウェア設計の肝要の一つは「巨大な泥団子」を「部品の集合体」に分割する作業
  • 部品に形を与える第一歩は「名前を与える」こと
  • 0から考えるときはペンとノートを使う(個人的なススメ)

対象読者

ソフトウェア設計という言葉は極めて意味が広いので、この記事の仮想読者をもう少し具体化してみます。

  • ある程度大きなソフトウェアを書こうとしている。
  • いきなり実装しだすのが良くないことは分かっているが何を整理すべきか分からない。
  • あるいは上司から「設計書を書いて」と指示されたが何を書くべきか分からない。

1万LOC以下のプログラムであれば、何も設計せずいきなり書き出して問題ないことも多いです。
あるいは個人で開発するのか共同開発するのか、使い捨てなのか資産として長く使用するのか、といった要素に応じて
どの程度「ソフトウェア設計」すべきかは変わります。

ここでは、どんなソフトウェアを作るにしてもこれくらいは理解しておいたほうが良いと思っていることを解説できたらと思います。
私は組み込み系の仕事をしているため、暗黙のうちに組み込みC++を前提にしています。Web系などは話が当てはまらないかもしれません。

続きを読む »
123
Shino

Shino

programming, travel, health

21 ポスト
29 タグ
GitHub
© 2018 — 2021 Shino
Powered by Hexo
|
Theme — NexT.Gemini v5.1.4