ROS

ROSとRaspberryPiとタミヤのカムロボットでラジコンを作ろう[ROSインストール編]

今回はRaspberryPiにROSをインストールしていきます. スクラッチで作ろうとすると,UbuntuのインストールとROSのインストールの両方が必要になりますが, ROSがインストール済みになっているRaspberryPi用のUbun...
ROS

ROSとRaspberryPiとタミヤのカムロボットでラジコンを作ろう[構想編]

これからROSとRaspberryPiを使ってラジコンを作っていきます. 動機は2つあって,ROSを勉強するための安価なプラットフォームが欲しかったことと,作った後に楽しく遊べるものが欲しかったことです. 機械的,電気的な構造はHIRA...
MATLAB

MATLABでPIDコントローラをサクッと設計する

ロボットで何かをコントロールしようとした時に,はじめに候補に上がるのがPIDコントローラです. このコントローラを設計とは,Kp,Ki,Kdの3つの定数の調整になります. 学生がよく使うMatlabでは検索するとすぐに専用のページが出てき...
Arduino

M5stackでIMUを2個同時に使う

M5stack でIMUであるMPU9250を2つ使うプログラムを開発しました. 通信はI2Cを使っています. ベースはM5stack内のサンプルコードですが, ライブラリ内のMPU9250クラスはアドレスの変更に対応していなかったので,ク...
Electoronics

GROVE – IMU 9DOFのI2Cアドレスを変更する

Switch Science さんで販売されているGrove製のIMU,GROVE - IMU 9DOF(以下,Grove-IMUと呼称)のI2Cアドレスの変更方法のお話です. I2C通信では,各スレーブデバイスに固有のアドレスが決められ...
ROS

rosでのwebカメラストリーム

rosで遠隔操作ロボットを作りたくなり,やっぱカメラは必要だよね->ROS入ったUbuntuでしかカメラチェックできないのはめんどいなあ... となったので,ブラウザで確認できるように組みました. 元ネタはこちらですが,情報が断片的だっ...
Arduino

Arduinoでテンプレートクラスを使うときの注意

C++ では複数の型に対応した関数やクラスを作成するために, テンプレートクラスというtemplate <typename T>といったものが使えます. ArduinoもC++をベースとした言語になっていて, テンプレートクラス...
Mac

mac の移行メモ

先日新しいMacを購入し移行作業を行った時の手順のメモです. 前提として,アプリケーションとコマンドはbrewで管理しています. 大まかな流れとしては brew file でアプリケーション,コマンド周りのインストール mackup で...
Electoronics

FritzingでIllustratorで作ったsvgを使う

ブレッドボードでの配線図を書く時に便利なのがFritzing です. Fritzing では, オリジナルの部品を作る時にsvgファイルで部品の形やアイコンを設定します. ただし, このsvgファイルはInkscapeでやるとうまく取り込...
C/C++

Sublimetext に Uncrustify を導入する

ソースコードを整形してくれるUncrustifyをSublimetextに導入したので, そのやり方を残しておきます. 基本的には英語のテキストのそのままの内容です. 僕の場合はMacでしたが, Windowsの方も適宜読み替えて設定してく...