クローラー制御RTCの仕様

クローラーの制御を行うRTCです。
RTC名
CrawlerControllerPWM2
DataOutPort
| 名称 | データ型 | 説明 |
| gyro | RTC::TimedAngularVelocity3D | ジャイロセンサーの計測値 |
| range0 | RTC::TimedDouble | 距離センサ(右前)の計測値 |
| range1 | RTC::TimedDouble | 距離センサ(左前)の計測値 |
| range2 | RTC::TimedDouble | 距離センサ(右後)の計測値 |
| range3 | RTC::TimedDouble | 距離センサ(左後)の計測値 |
| acc | RTC::TimedAcceleration3D | 加速度センサの計測値 |
| magn | RTC::TimedDoubleSeq | 地磁気センサの計測値 |
| temp | RTC::TimedDouble | 温度センサの計測値 |
| pos | RTC::TimedPose2D | センサ情報から計算した現在位置、姿勢(位置の計測は実装できていないので左右モーターの電圧が正の場合は前進、負の場合は後退するようにしてある) |
DataInPort
| 名称 | データ型 | 説明 |
| in0 | RTC::TimedDouble | 左モーターへ入力する電圧のPWMデューティー比 |
| in1 | RTC::TimedDouble | 右モーターへ入力する電圧のPWMデューティー比 |
コンフィギュレーションパラメータ
| 名称 | 型 | デフォルト値 | 説明 |
| motor0pwm0 | int | 3 | 右モーター制御用TA8428KのIN1に接続するピン番号 |
| motor0pwm1 | int | 5 | 右モーター制御用TA8428KのIN2に接続するピン番号 |
| motor1pwm0 | int | 6 | 左モーター制御用TA8428KのIN1に接続するピン番号 |
| motor1pwm1 | int | 9 | 左モーター制御用TA8428KのIN2に接続するピン番号 |
| gyroSensor | int | 1 | 1の時はジャイロセンサを使用する |
| gyroSensor_addr | string | 0x6A | L3GD20のI2Cスレーブアドレス |
| rangeSensor0 | int | 1 | 1の時は距離センサ(右前)を使用する |
| rangeSensor1 | int | 1 | 1の時は距離センサ(左前)を使用する |
| rangeSensor2 | int | 1 | 1の時は距離センサ(右後)を使用する |
| rangeSensor3 | int | 1 | 1の時は距離センサ(左後)を使用する |
| rangeSensor0_Pin | int | 2 | 距離センサ(右前)の信号線と接続するアナログ入力ピンの番号 |
| rangeSensor1_Pin | int | 3 | 距離センサ(左前)の信号線と接続するアナログ入力ピンの番号 |
| rangeSensor2_Pin | int | 0 | 距離センサ(右後)の信号線と接続するアナログ入力ピンの番号 |
| rangeSensor3_Pin | int | 1 | 距離センサ(左後)の信号線と接続するアナログ入力ピンの番号 |
| LSM303DLHC | int | 1 | 1の時はLSM303DLHCを使用する |
| I2C_channel | int | 1 | I2Cのポート番号 |
| bias | double | 1.0 | 障害物が近づいた場合にどの程度旋回を行うか?値が大きくなるほど旋回しやすくなります。 |
| frontDistance | double | 0.5 | 回避運動を開始する障害物までの最長距離 |
| backDistance | double | 0.1 | 回避運動を開始する障害物までの最短距離。この値より近い距離に障害物があっても回避運動を行いません |
| filter | double | 0.05 | |
| rotOffset | double | 0.5 | 地磁気センサの計測値から計算した姿勢角へのオフセット |
| rotCorVal | double | 15 |