ロボット工学2
note Item Type Metadata
note
ロボット工学 - 内界センサー(Internal Sensors)
概要
ロボット制御システムの根幹を成す内界センサーについて、基礎理論から実装まで包括的に解説します。制御工学、信号処理、材料力学の知識を統合した実践的な内容となっています。
学習目標
この資料を読むことで、以下の知識を習得できます:
- 理論的理解: 各センサーの物理的原理と数学的モデル
- 実装技術: 実際のシステムでの統合方法と信号処理
- 設計指針: 用途に応じたセンサー選択とシステム設計
- トラブルシューティング: よくある問題と解決策
- 最新動向: 現代のロボットシステムでの応用事例
対象読者
- ロボット工学を学ぶ学生・大学院生
- 産業用ロボットの設計・開発エンジニア
- 制御システムの技術者
- センサー技術に興味のある研究者
目次
- 内界センサーの定義と分類
- 剛体の運動学と自由度
- エンコーダ(Encoder)
- ポテンショメータ(Potentiometer)
- レゾルバ(Resolver)
- タコジェネレータ(Tachogenerator)
- 力センサー(Force Sensors)
- 高度な信号処理技術
- まとめと技術比較
- 参考文献・関連リンク
1. 内界センサーの定義と分類
1.1 内界センサーとは
内界センサー(Internal Sensors)は、ロボットシステム内部の状態変数を直接計測するセンサー群である。これらは制御ループ内でフィードバック信号を生成し、ロボットの運動制御、位置決め、力制御において重要な役割を果たす。
内界センサーの特徴
- 直接測定: ロボット自身の物理量を直接検出
- 高精度: 制御に必要な精度を提供
- 高速応答: リアルタイム制御に対応
- 信頼性: 環境変化に比較的強い
重要ポイント
内界センサーは「ロボット自身の状態」を測定するセンサーです。対照的に外界センサー(カメラ、レーザーなど)は「環境の状態」を測定します。
実用例:産業用ロボットアーム
関節1: エンコーダ(位置検出) 関節2: レゾルバ(高精度位置検出) 関節3: ポテンショメータ(角度検出) エンドエフェクタ: 力センサー(接触力検出) モータ軸: タコジェネレータ(速度検出)
1.2 センサー分類と制御系での位置づけ
制御対象 → 内界センサー → 制御器 → アクチュエータ → 制御対象 ↑ ↓ └────────── フィードバックループ ──────────┘
制御ループの流れ:
- 制御対象:ロボットの関節やエンドエフェクタ
- 内界センサー:位置・速度・力などを検出
- 制御器:PID制御などで目標値との差を計算
- アクチュエータ:モータなどで実際の動作を実行
内界センサーの主要機能
- 状態推定(State Estimation):位置、速度、加速度の検出
- 外乱検出(Disturbance Detection):負荷変動、摩擦変化の検出
- 制御精度向上(Control Accuracy Enhancement):PID制御のフィードバック信号生成
- 安全性確保(Safety Assurance):異常状態の早期検出
1.3 制御理論における位置づけ
内界センサーは以下の制御理論的概念と密接に関連する:
- フィードバック制御:閉ループ制御系の安定性確保
- 状態空間表現:システムの状態変数として直接利用
- オブザーバ理論:状態推定の精度向上
- ロバスト制御:外乱に対する制御系の堅牢性
2. 剛体の運動学と自由度
2.1 剛体の自由度(Degrees of Freedom)
3次元空間における剛体の自由度は6つである:
並進自由度(Translational DOF):3つ
- x軸方向の並進
- y軸方向の並進
- z軸方向の並進
回転自由度(Rotational DOF):3つ
- x軸周りの回転(ロール)
- y軸周りの回転(ピッチ)
- z軸周りの回転(ヨー)
2.2 位置・姿勢の数学的表現
位置ベクトル
\[\mathbf{r} = [x, y, z]^T\]
回転行列
\[R = R_z(\gamma) \times R_y(\beta) \times R_x(\alpha)\]
ここで:
- α:ロール角
- β:ピッチ角
- γ:ヨー角
角速度ベクトル
\[\mathbf{\omega} = [\omega_x, \omega_y, \omega_z]^T = \frac{d\mathbf{\Theta}}{dt} \quad [\text{rad/s}]\]
3. エンコーダ(Encoder)
3.1 インクリメンタルエンコーダ(Incremental Encoder)
動作原理
回転に伴ってパルス信号を出力し、パルス数をカウントすることで相対的な位置を検出する。
基本構成
- ディスク:等間隔のスリットが刻まれた円盤
- 発光素子:LEDまたはレーザーダイオード
- 受光素子:フォトトランジスタまたはフォトダイオード
- 信号処理回路:パルス整形、カウント回路
出力信号
- A相:基本パルス信号
- B相:A相から90°位相がずれた信号
- Z相:1回転ごとに1パルス出力(原点検出用)
3.2 位置・速度の計算
位置計算
\[\theta(t) = \frac{2\pi}{N_0} \times N(t) \quad [\text{rad}]\]
速度計算
\[\omega(t) = \frac{d\theta}{dt} = \frac{2\pi}{N_0} \times \frac{dN}{dt} \quad [\text{rad/s}]\]
ここで:
- θ(t):時刻tでの回転角度 [rad]
- N(t):時刻tでの累積パルス数
- N₀:1回転あたりのパルス数(PPR: Pulses Per Revolution)
- ω(t):角速度 [rad/s]
分解能と精度
\[\text{分解能} = \frac{360°}{N_0} = \frac{2\pi}{N_0} \quad [\text{rad}]\]
4倍カウント方式
A相、B相の位相差を利用した4倍カウント:
\[\text{実効分解能} = 4 \times N_0 \quad [\text{pulses/rev}]\]
技術仕様
- 分解能:100~10,000 PPR
- 精度:±0.1°~±0.01°
- 応答周波数:100kHz~1MHz
- 回転速度:最大10,000 rpm
- 動作温度:-10°C~+70°C
- 振動耐性:10G(10~2000Hz)
制御系での利用
PID制御器での位置フィードバック信号として使用
実装例:サーボモータ制御
// エンコーダ読み取り例(Arduino風)
void readEncoder() {
static int lastA = 0, lastB = 0;
int currentA = digitalRead(ENCODER_A);
int currentB = digitalRead(ENCODER_B);
// エッジ検出
if (currentA != lastA) {
if (currentA == currentB) {
position++; // 正回転
} else {
position--; // 逆回転
}
}
lastA = currentA;
lastB = currentB;
}
トラブルシューティング
| パルスが検出されない | 配線不良、電源不足 | 配線確認、電圧測定 |
| 位置がずれる | ノイズ、電源変動 | シールド配線、安定化電源 |
| 応答が遅い | フィルタ設定 | カットオフ周波数調整 |
3.3 アブソリュートエンコーダ(Absolute Encoder)
動作原理
各角度位置に対応した固有のデジタルコードを出力し、絶対的な位置を検出する。
分解能の計算
\[\text{分解能} = \frac{360°}{2^n} = \frac{2\pi}{2^n} \quad [\text{rad}]\]
ここで:
- n:ビット数
- 例:12ビットの場合、2^12 = 4,096パターン
- 分解能 = 360° / 4,096 = 0.088°
グレイコード(Gray Code)
2進数ではなくグレイコードを使用する理由:
10進数 | 2進数 | グレイコード -------|-------|------------ 0 | 000 | 000 1 | 001 | 001 2 | 010 | 011 3 | 011 | 010 4 | 100 | 110 5 | 101 | 111
利点:
- 隣接値間で1ビットのみ変化
- 読み取り誤差の最小化
- デジタル回路の簡素化
技術仕様
- 分解能:8~24ビット(0.14°~0.00002°)
- 精度:±0.01°~±0.001°
- 応答時間:1~10ms
- インターフェース:SSI、BiSS、EtherCAT
- 動作温度:-40°C~+85°C
- 保護等級:IP65~IP67
インターフェース比較
| SSI | 1MHz | 10m | 中 | 低 |
| BiSS | 10MHz | 10m | 高 | 中 |
| EtherCAT | 100Mbps | 100m | 高 | 高 |
実装例:SSI通信
// SSI読み取り例
uint32_t readSSI() {
uint32_t data = 0;
// クロック信号生成
for (int i = 0; i < 24; i++) {
digitalWrite(CLK_PIN, HIGH);
delayMicroseconds(1);
if (digitalRead(DATA_PIN)) {
data |= (1 << (23 - i));
}
digitalWrite(CLK_PIN, LOW);
delayMicroseconds(1);
}
return data;
}
3.4 エンコーダの信号処理
デジタルフィルタリング
移動平均フィルタ
\[H(z) = \frac{1 + z^{-1}}{2}\]
ローパスフィルタ
\[H(z) = \frac{1-\alpha}{1-\alpha z^{-1}}\]
ここで \(\alpha = e^{-2\pi f_c/f_s}\)、\(f_c\): カットオフ周波数、\(f_s\): サンプリング周波数
速度推定アルゴリズム
差分法
\[\omega[k] = \frac{\theta[k] - \theta[k-1]}{\Delta t}\]
高次差分法(ノイズ低減)
\[\omega[k] = \frac{\theta[k+1] - \theta[k-1]}{2\Delta t}\]
オブザーバ法
\[\hat{\mathbf{x}}[k+1] = A\hat{\mathbf{x}}[k] + B\mathbf{u}[k] + L(\mathbf{y}[k] - C\hat{\mathbf{x}}[k])\]
カルマンフィルタによる状態推定
状態空間モデル
\[\mathbf{x}[k+1] = A\mathbf{x}[k] + B\mathbf{u}[k] + \mathbf{w}[k]\]
\[\mathbf{y}[k] = C\mathbf{x}[k] + \mathbf{v}[k]\]
カルマンフィルタ方程式
予測ステップ:
\[\hat{\mathbf{x}}[k|k-1] = A\hat{\mathbf{x}}[k-1|k-1] + B\mathbf{u}[k-1]\]
\[P[k|k-1] = AP[k-1|k-1]A^T + Q\]
更新ステップ:
\[K[k] = P[k|k-1]C^T(CP[k|k-1]C^T + R)^{-1}\]
\[\hat{\mathbf{x}}[k|k] = \hat{\mathbf{x}}[k|k-1] + K[k](\mathbf{y}[k] - C\hat{\mathbf{x}}[k|k-1])\]
\[P[k|k] = (I - K[k]C)P[k|k-1]\]
実装例:位置・速度推定
// カルマンフィルタ実装例
typedef struct {
float x[2]; // [位置, 速度]
float P[2][2]; // 誤差共分散行列
float Q[2][2]; // プロセスノイズ共分散
float R; // 観測ノイズ分散
} KalmanFilter;
void kalman_predict(KalmanFilter* kf, float dt) {
// 状態遷移行列
float A[2][2] = {{1, dt}, {0, 1}};
// 予測ステップ
float x_pred[2] = {A[0][0]*kf->x[0] + A[0][1]*kf->x[1],
A[1][0]*kf->x[0] + A[1][1]*kf->x[1]};
// 誤差共分散の更新
// P = A*P*A^T + Q
// (実装省略)
kf->x[0] = x_pred[0];
kf->x[1] = x_pred[1];
}
void kalman_update(KalmanFilter* kf, float measurement) {
// カルマンゲイン計算
float S = kf->P[0][0] + kf->R;
float K = kf->P[0][0] / S;
// 状態更新
float innovation = measurement - kf->x[0];
kf->x[0] += K * innovation;
kf->x[1] += K * innovation; // 速度も更新
// 誤差共分散更新
kf->P[0][0] *= (1 - K);
kf->P[0][1] *= (1 - K);
kf->P[1][0] *= (1 - K);
kf->P[1][1] *= (1 - K);
}
4. ポテンショメータ(Potentiometer)
4.1 動作原理
ポテンショメータは、抵抗体の分圧比を利用して角度を電圧に変換するセンサーである。
基本構成
- 抵抗体:炭素皮膜、金属皮膜、ワイヤー巻き
- 可動接点:回転軸に連動するスライダー
- 固定端子:電源入力、グランド、出力
電圧出力特性
\[V_{\text{out}} = V_{\text{supply}} \times \frac{\theta}{\theta_{\max}}\]
ここで:
- V_out:出力電圧 [V]
- V_supply:供給電圧 [V]
- θ:現在の角度 [rad]
- θ_max:最大回転角 [rad]
4.2 電気的特性
分圧回路
\[V_{\text{out}} = V_{\text{supply}} \times \frac{R_2}{R_1 + R_2}\]
線形性
理想的な線形性は以下の式で表される:
\[V_{\text{out}} = V_{\text{supply}} \times \frac{\theta}{\theta_{\max}} + V_{\text{offset}}\]
非線形性の要因
- 抵抗体の不均一性
- 接触抵抗の変動
- 温度係数
- 機械的摩耗
4.3 材料と特性
抵抗体材料
| 炭素皮膜 | 1kΩ~1MΩ | ±20% | -1000ppm/°C | 中 |
| 金属皮膜 | 100Ω~1MΩ | ±5% | ±100ppm/°C | 高 |
| ワイヤー巻き | 10Ω~100kΩ | ±1% | ±50ppm/°C | 最高 |
技術仕様
- 回転角度:270°~360°
- 精度:±0.1%~±5%
- 分解能:理論上無限(実際は0.1°程度)
- 応答時間:即座
- 動作温度:-40°C~+125°C
- 振動耐性:10G
4.4 信号処理と補償
非線形性補償
\[\theta_{\text{corrected}} = \theta_{\text{raw}} + f_{\text{correction}}(\theta_{\text{raw}})\]
温度補償
\[V_{\text{compensated}} = V_{\text{raw}} \times (1 + \alpha_T \times \Delta T)\]
ノイズ除去
\[V_{\text{filtered}} = V_{\text{raw}} \times (1 - \alpha) + V_{\text{previous}} \times \alpha\]
4.5 実装例:角度測定
// ポテンショメータ読み取り例
float readPotentiometer() {
int raw_value = analogRead(POT_PIN);
float voltage = (raw_value / 1023.0) * 5.0; // 0-5Vに変換
// 角度計算(0-270度の場合)
float angle = (voltage / 5.0) * 270.0;
return angle;
}
// キャリブレーション例
void calibratePotentiometer() {
float min_voltage = 0.0;
float max_voltage = 5.0;
// 最小値設定
Serial.println("最小位置に移動してEnterを押してください");
while (Serial.available() == 0);
min_voltage = analogRead(POT_PIN) * 5.0 / 1023.0;
Serial.read();
// 最大値設定
Serial.println("最大位置に移動してEnterを押してください");
while (Serial.available() == 0);
max_voltage = analogRead(POT_PIN) * 5.0 / 1023.0;
Serial.read();
// キャリブレーション係数保存
EEPROM.put(0, min_voltage);
EEPROM.put(4, max_voltage);
}
5. レゾルバ(Resolver)
5.1 動作原理
レゾルバは、電磁誘導を利用して角度を検出するアナログセンサーである。
基本構成
- ステータ:固定子、励磁コイルと検出コイル
- ロータ:回転子、変調コイル
- 励磁信号:高周波正弦波(通常1-10kHz)
出力信号
\[V_{\sin} = K \times \sin(\theta) \times \sin(\omega t)\]
\[V_{\cos} = K \times \cos(\theta) \times \sin(\omega t)\]
ここで:
- K:ゲイン定数
- θ:回転角度 [rad]
- ω:励磁角周波数 [rad/s]
- t:時間 [s]
5.2 角度計算
アークタンジェント法
\[\theta = \arctan2(V_{\sin}, V_{\cos})\]
4象限アークタンジェント
float calculateAngle(float sin_val, float cos_val) {
float angle = atan2(sin_val, cos_val);
// 負の角度を正の角度に変換
if (angle < 0) {
angle += 2 * PI;
}
return angle;
}
5.3 RDC(Resolver-to-Digital Converter)
動作原理
RDCは、レゾルバのアナログ出力をデジタル角度に変換する専用ICである。
主要機能
- 励磁信号生成:正弦波発振器
- 同期検波:位相敏感検波器
- 角度計算:アークタンジェント演算
- デジタル出力:並列/シリアル出力
技術仕様
- 分解能:10~16ビット
- 精度:±0.1°~±0.01°
- 応答時間:1~10ms
- 励磁周波数:1~10kHz
- 動作温度:-40°C~+125°C
5.4 ノイズ対策と補償
ノイズ源
- 電磁誘導ノイズ
- 電源ノイズ
- 熱雑音
- 量子化ノイズ
対策
- シールド配線
- 差動信号
- フィルタリング
- 冗長化
実装例:レゾルバ読み取り
// レゾルバ読み取り例
typedef struct {
float sin_val;
float cos_val;
float angle;
float prev_angle;
int revolutions;
} ResolverData;
void readResolver(ResolverData* resolver) {
// アナログ値読み取り
int sin_raw = analogRead(SIN_PIN);
int cos_raw = analogRead(COS_PIN);
// 電圧に変換(-5V~+5V)
resolver->sin_val = (sin_raw - 512) * 10.0 / 1023.0;
resolver->cos_val = (cos_raw - 512) * 10.0 / 1023.0;
// 角度計算
resolver->angle = atan2(resolver->sin_val, resolver->cos_val);
// 回転数カウント
float angle_diff = resolver->angle - resolver->prev_angle;
if (angle_diff > PI) {
resolver->revolutions--;
} else if (angle_diff < -PI) {
resolver->revolutions++;
}
resolver->prev_angle = resolver->angle;
}
// 絶対角度取得
float getAbsoluteAngle(ResolverData* resolver) {
return resolver->angle + resolver->revolutions * 2 * PI;
}
6. タコジェネレータ(Tachogenerator)
6.1 動作原理
タコジェネレータは、発電機の原理を利用して回転速度を電圧に変換するセンサーである。
基本構成
- 永久磁石:固定子
- 電機子:回転子、コイル巻き
- 整流子:直流出力用
- ブラシ:電流取り出し
出力電圧
\[V_{\text{out}} = K_t \times \omega\]
ここで:
- V_out:出力電圧 [V]
- K_t:タコ定数 [V·s/rad]
- ω:角速度 [rad/s]
6.2 信号処理
速度計算
\[\omega = \frac{V_{\text{out}}}{K_t}\]
フィルタリング
\[V_{\text{filtered}} = V_{\text{raw}} \times (1 - \alpha) + V_{\text{previous}} \times \alpha\]
校正
// タコジェネレータ校正例
void calibrateTachogenerator() {
float known_speed = 1000.0; // rpm
float voltage = analogRead(TACHO_PIN) * 5.0 / 1023.0;
// タコ定数計算
float k_t = voltage / (known_speed * 2 * PI / 60.0);
// EEPROMに保存
EEPROM.put(0, k_t);
}
// 速度読み取り
float readSpeed() {
float voltage = analogRead(TACHO_PIN) * 5.0 / 1023.0;
float k_t;
EEPROM.get(0, k_t);
return voltage / k_t * 60.0 / (2 * PI); // rpmに変換
}
6.3 技術仕様
| 出力電圧 | 0~10V |
| タコ定数 | 1~100 V·s/rad |
| 精度 | ±0.1%~±1% |
| 応答時間 | 1~10ms |
| 動作温度 | -40°C~+125°C |
| 振動耐性 | 20G |
7. 力センサー(Force Sensors)
7.1 ひずみゲージ式力センサー
動作原理
ひずみゲージの抵抗変化を利用して力を検出する。
ひずみの定義
\[\varepsilon = \frac{\Delta L}{L} = \frac{L_{\text{final}} - L_{\text{initial}}}{L_{\text{initial}}}\]
抵抗変化
\[\frac{\Delta R}{R} = G \times \varepsilon\]
ここで:
- G:ゲージ率(通常2.0)
- ε:ひずみ
ホイートストンブリッジ
\[V_{\text{out}} = V_{\text{supply}} \times \left(\frac{R_2}{R_1+R_2} - \frac{R_4}{R_3+R_4}\right)\]
7.2 圧電式力センサー
動作原理
圧電効果を利用して力を電荷に変換する。
出力電荷
\[Q = d \times F\]
ここで:
- Q:出力電荷 [C]
- d:圧電定数 [C/N]
- F:力 [N]
7.3 信号処理と校正
校正手順
- ゼロ点調整
- 感度調整
- 線形性確認
- 温度補償
実装例:力センサー読み取り
// 力センサー読み取り例
typedef struct {
float force;
float prev_force;
float filtered_force;
float alpha; // フィルタ係数
} ForceSensor;
void readForceSensor(ForceSensor* sensor) {
int raw_value = analogRead(FORCE_PIN);
float voltage = (raw_value - 512) * 10.0 / 1023.0; // -5V~+5V
// 力に変換(校正係数使用)
sensor->force = voltage * FORCE_SENSITIVITY;
// ローパスフィルタ
sensor->filtered_force = sensor->alpha * sensor->force +
(1 - sensor->alpha) * sensor->filtered_force;
}
// 力制御例
void forceControl(float target_force, ForceSensor* sensor) {
float error = target_force - sensor->filtered_force;
float control_output = KP * error + KI * integral_error + KD * derivative_error;
// モータ制御
setMotorSpeed(control_output);
}
8. 高度な信号処理技術
8.1 適応制御(Adaptive Control)
MRAC(Model Reference Adaptive Control)
\[u(t) = K_p \times e(t) + K_i \times \int e(t)dt + K_d \times \frac{de(t)}{dt}\]
パラメータ同定
// 最小二乗法によるパラメータ同定
typedef struct {
float theta[3]; // [Kp, Ki, Kd]
float P[3][3]; // 共分散行列
float lambda; // 忘却係数
} ParameterEstimator;
void updateParameters(ParameterEstimator* est, float input, float output) {
float phi[3] = {input, integral_input, derivative_input};
// カルマンフィルタ更新
float S = 1.0 + phi[0]*est->P[0][0]*phi[0] +
phi[1]*est->P[1][1]*phi[1] +
phi[2]*est->P[2][2]*phi[2];
float K[3];
for (int i = 0; i < 3; i++) {
K[i] = est->P[i][i] * phi[i] / S;
est->theta[i] += K[i] * (output - phi[i] * est->theta[i]);
}
}
8.2 ノイズ除去技術
ウェーブレット変換
// 簡易ウェーブレットフィルタ
float waveletFilter(float* signal, int length, float threshold) {
float filtered = 0.0;
for (int i = 1; i < length - 1; i++) {
float detail = signal[i] - (signal[i-1] + signal[i+1]) / 2.0;
if (fabs(detail) < threshold) {
filtered += signal[i];
} else {
filtered += (signal[i-1] + signal[i+1]) / 2.0;
}
}
return filtered / length;
}
9. まとめと技術比較
9.1 センサー比較表
| エンコーダ | 高 | 高 | 高 | 中 | 位置制御 |
| ポテンショメータ | 中 | 中 | 高 | 低 | 角度測定 |
| レゾルバ | 最高 | 高 | 中 | 高 | 高精度位置 |
| タコジェネレータ | 高 | 中 | 高 | 中 | 速度制御 |
| 力センサー | 高 | 高 | 中 | 高 | 力制御 |
9.2 選択指針
用途別選択
- 位置制御:エンコーダ、レゾルバ
- 速度制御:タコジェネレータ、エンコーダ
- 力制御:力センサー
- 角度測定:ポテンショメータ
環境条件
- 高温:レゾルバ、タコジェネレータ
- 振動:エンコーダ、力センサー
- 電磁ノイズ:レゾルバ、光ファイバーセンサー
9.3 システム統合の考慮事項
信号処理
- サンプリング周波数:制御帯域の10倍以上
- フィルタ設計:位相遅れの最小化
- 校正:定期的な校正による精度維持
補償技術
- 温度補償:温度係数の考慮
- 非線形補償:校正データの活用
- 冗長化:安全性向上のための冗長構成
センサー選択フローチャート
開始 ↓ 用途は? → 位置制御 → 精度要求は? → 高 → レゾルバ/アブソリュートエンコーダ ↓ ↓ ↓ 速度制御 中 → インクリメンタルエンコーダ ↓ ↓ 力制御 低 → ポテンショメータ ↓ タコジェネレータ/力センサー ↓ 環境条件確認 ↓ 最終選択
システム統合のベストプラクティス
- 配線設計
- シールドケーブルの使用
- 電源線との分離
- 適切な接地
- 信号処理
- 適切なサンプリング周波数
- フィルタ設計
- 校正の自動化
- 冗長化
- 複数センサーの併用
- 故障検出機能
- フェイルセーフ設計
最新技術動向
- MEMSセンサー
- 小型化、低コスト化
- 高精度化の進展
- 統合化の進歩
- 光ファイバーセンサー
- 電磁ノイズ耐性
- 長距離伝送
- 高精度
- AI/ML活用
- 異常検出
- 予知保全
- 適応制御
内界センサーは、ロボット制御システムの根幹を成す重要な要素であり、適切な選択と信号処理により、高精度で信頼性の高い制御を実現する。
参考文献・関連リンク
学術文献
- Craig, J.J. (2017). Introduction to Robotics: Mechanics and Control. 4th Edition, Pearson.
- Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2009). Robotics: Modelling, Planning and Control. Springer.
- Spong, M.W., Hutchinson, S., & Vidyasagar, M. (2020). Robot Modeling and Control. 2nd Edition, Wiley.
- Franklin, G.F., Powell, J.D., & Emami-Naeini, A. (2018). Feedback Control of Dynamic Systems. 8th Edition, Pearson.
- Ogata, K. (2010). Modern Control Engineering. 5th Edition, Prentice Hall.
技術資料
- IEEE Robotics and Automation Society: https://www.ieee-ras.org/
- ROS (Robot Operating System) Documentation: https://ros.org/
- Robot Sensors - IEEE Spectrum: https://spectrum.ieee.org/topic/robotics/sensors/
- Sensor Technology Handbook: https://www.analog.com/en/technical-articles/sensor-technology-handbook.html
- National Instruments - Sensor Fundamentals: https://www.ni.com/en-us/innovations/white-papers/06/sensor-fundamentals.html
主要メーカー
- エンコーダ: HEIDENHAIN, Renishaw, Tamagawa, Omron, Sick
- ポテンショメータ: Bourns, Vishay, Honeywell, Alps Alpine, Panasonic
- レゾルバ: Tamagawa, HEIDENHAIN, Moog, Kollmorgen, Danaher
- 力センサー: ATI Industrial Automation, Kistler, HBM, Futek, Interface
- タコジェネレータ: Maxon, Faulhaber, Oriental Motor, Yaskawa
規格・認証
- ISO 9409: 産業用ロボットの機械インターフェース
- IEC 61800: 電気駆動システム
- IEEE 1451: スマートセンサーインターフェース
- CE Marking: 欧州適合性認証
- UL Listing: 米国安全認証
免責事項
本資料は教育目的で作成されており、実際のシステム設計時は最新の技術仕様を確認してください。記載されている数値や仕様は一般的な参考値であり、特定の製品や用途を保証するものではありません。
ライセンス
この文書は Creative Commons Attribution-ShareAlike 4.0 International License の下で公開されています。
コメント