目次

C言語, Pipenv, Unicode, ステレオカメラ

+
その他

C言語 | 仕組み

ここでは, C言語に関する詳細を説明します.

タスクコントロールブロック(TCB) | タスク管理

タスクを管理するにあたり, 各タスクの情報を保持しておく必要があります. このような情報の塊をタスクコントロールブロック(TCB)と呼びます.

マクロの機能 | C言語

C言語には, マクロと呼ばれるものがあります. マクロとは, コンパイル前にある規則に従って文字を置き換える機能を持ちます[1].

ここでは, マクロの詳しい機能の説明を行います.

タイマ
システム割り込み | タスク管理

OSがタスクの切り替えを行うためには, 定期的にOSが現在実行中のタスクの処理を中断してタスク切り替え処理を行う必要があります.

ここでは, このようなOSが定期的に割り込み処理を行う方法を説明します. また, 割り込み時の処理について説明します.

編集中
Port.c | スクリプティング

PortMacro.hで宣言されているOSコア部分の関数をここで定義します. このファイルはAVRマイコン専用です.

OS
メモリ管理 | 仕組み

OSはタスクごとにメモリを動的に割り当てる必要があります(タスクが保有するメモリに関することはのちに説明します). というのも, これらのタスクはアプリケーション実行中に生成, 削除される可能性があるからです.

今回では, このメモリ管理をOSが行うことにします. OSがメモリ管理を行うことで, OS動作の理解がしやすくなるからです.

このページでは, OSによるメモリ管理をどのように実装するのか説明します.

メモリの構造 | タスク管理

ここでは, 実際にタスクが作成されたときのメモリの構造を示していきたいと思います. メモリでの各領域の説明, この構造によるmallocの問題を示します.

Pipenv上でROS2ノードを動かす | Tips

Pipenv仮想パッケージ環境上でROS2ノードを動かす.

メモリ
メモリ管理 | 仕組み

OSはタスクごとにメモリを動的に割り当てる必要があります(タスクが保有するメモリに関することはのちに説明します). というのも, これらのタスクはアプリケーション実行中に生成, 削除される可能性があるからです.

今回では, このメモリ管理をOSが行うことにします. OSがメモリ管理を行うことで, OS動作の理解がしやすくなるからです.

このページでは, OSによるメモリ管理をどのように実装するのか説明します.

メモリの構造 | タスク管理

ここでは, 実際にタスクが作成されたときのメモリの構造を示していきたいと思います. メモリでの各領域の説明, この構造によるmallocの問題を示します.

メモリ管理
メモリ管理 | 仕組み

OSはタスクごとにメモリを動的に割り当てる必要があります(タスクが保有するメモリに関することはのちに説明します). というのも, これらのタスクはアプリケーション実行中に生成, 削除される可能性があるからです.

今回では, このメモリ管理をOSが行うことにします. OSがメモリ管理を行うことで, OS動作の理解がしやすくなるからです.

このページでは, OSによるメモリ管理をどのように実装するのか説明します.

Stack
メモリの構造 | タスク管理

ここでは, 実際にタスクが作成されたときのメモリの構造を示していきたいと思います. メモリでの各領域の説明, この構造によるmallocの問題を示します.

Python
Pipenv上でROS2ノードを動かす | Tips

Pipenv仮想パッケージ環境上でROS2ノードを動かす.

OpenCVで二つのWEBカメラを用いたステレオカメラの実装 | 画像処理

ステレオカメラは,空間の深度を測定するのに使われます.本稿では,二台のウェブカメラを用いてステレオカメラを実装します.ある程度のロバスト性を確保するため,キャリブレーションも行います.

結果,以下のような深度画像を得ることができた.

結果画像
結果画像
ROS, Tips
Pipenv上でROS2ノードを動かす | Tips

Pipenv仮想パッケージ環境上でROS2ノードを動かす.

UTF-8, UTF-16, UTF-32, Cpp, C++
C++で学ぶUnicodeの基本とUTF-8, UTF-16, UTF-32の相互変換アルゴリズム | プログラミング

広く使われているUnicode規格を理解し, エンコーディングの手法, UTF-8, UTF-16, UTF-32, を理解して, 多言語の文字コードを扱えるようになることを目指します. 具体的に, UTF-8, UTF-16, UTF-32間の変換方法をC++で実装し, 手法はできるだけ速い方法を用います.

C++でUnicode文字列(UTF-8, UTF-16, UTF-32)を扱うライブラリ | C++ライブラリ

本稿では, C++でバージョンに左右されずに文字を扱うために, 以下の機能を持つライブラリを紹介します.

  • 型依存しないUTF-8, UTF-16, UTF-32間の相互変換
  • UTF-8, UTF-16文字(コードポイント)ごとのイテレート
  • 標準イテレータを使ったイテレート
  • 型依存しないイテレータの対応
アルゴリズム, プログラミング
C++で学ぶUnicodeの基本とUTF-8, UTF-16, UTF-32の相互変換アルゴリズム | プログラミング

広く使われているUnicode規格を理解し, エンコーディングの手法, UTF-8, UTF-16, UTF-32, を理解して, 多言語の文字コードを扱えるようになることを目指します. 具体的に, UTF-8, UTF-16, UTF-32間の変換方法をC++で実装し, 手法はできるだけ速い方法を用います.

ライブラリ
C++でUnicode文字列(UTF-8, UTF-16, UTF-32)を扱うライブラリ | C++ライブラリ

本稿では, C++でバージョンに左右されずに文字を扱うために, 以下の機能を持つライブラリを紹介します.

  • 型依存しないUTF-8, UTF-16, UTF-32間の相互変換
  • UTF-8, UTF-16文字(コードポイント)ごとのイテレート
  • 標準イテレータを使ったイテレート
  • 型依存しないイテレータの対応
OpenCV, 画像処理
OpenCVで二つのWEBカメラを用いたステレオカメラの実装 | 画像処理

ステレオカメラは,空間の深度を測定するのに使われます.本稿では,二台のウェブカメラを用いてステレオカメラを実装します.ある程度のロバスト性を確保するため,キャリブレーションも行います.

結果,以下のような深度画像を得ることができた.

結果画像
結果画像
「https://contentsviewer.work/Master/:tagmap/C言語,Pipenv,Unicode,ステレオカメラ?layer=ja」から取得