次はキャリブレーションらしい
インストールまでは、こちらで。。
d2ディレクトリのconfig.py に設定ファイルがあるので、その中をキャリブレーションするようです。
ちなみに、ラズパイの方です。 ssh pi@<IP address> で入いる
d2 ディレクトリで、more config.py を見てみると
#STEERING STEERING_CHANNEL = 1 STEERING_LEFT_PWM = 420 STEERING_RIGHT_PWM = 360 #THROTTLE THROTTLE_CHANNEL = 0 THROTTLE_FORWARD_PWM = 400 THROTTLE_STOPPED_PWM = 360 THROTTLE_REVERSE_PWM = 310
という風に、設定がここに書かれています。
ステアリングのキャリブレーション
ステアリングサーボのエンドポイントを出す作業ですね。
donkey calibrate --channel 1
360を入れてみて、だんだん小さい方を探ってみます。
using donkey v2.2.1 ... Enter a PWM setting to test(0-1500)360 Enter a PWM setting to test(0-1500)350 Enter a PWM setting to test(0-1500)320 Enter a PWM setting to test(0-1500)300 Enter a PWM setting to test(0-1500)290
左に動いてここまででステアリングのキレ角は300で終わり
次に、だんだん大きい方を探ってみます。
Enter a PWM setting to test(0-1500)360 Enter a PWM setting to test(0-1500)380 Enter a PWM setting to test(0-1500)450 Enter a PWM setting to test(0-1500)460 Enter a PWM setting to test(0-1500)450
右は450でした。
#STEERING
STEERING_CHANNEL = 1
STEERING_LEFT_PWM = 300
STEERING_RIGHT_PWM = 450
って config.pyを書き換えます。
ちなみに、エディタは、nanoが入っています(Ctrl-Gでヘルプです)
スロットルのキャリブレーション
donkey calibrate --channel 0
で同じようにするんですが、今度は、真ん中と、後ろ、前ですね。前進スピードは、ほどよい所を見つけておく方が良さそうです。(普通のラジコンですから、結構スピードでますので)
Enter a PWM setting to test(0-1500)390 Enter a PWM setting to test(0-1500)400 Enter a PWM setting to test(0-1500)410 Enter a PWM setting to test(0-1500)420
390がニュートラル 前進 410ぐらいのスピードが良さそうです。同様に、バックは370くらいで良さそう。ESCを一回本当はラジコンの方に繋いでキャリブレーションしてからの方が良さそうですけど・・ラジコン用のESCは急にバックに入らない設定になっているので、少し使いにくいかもしれませんね。。ミニに積んでたESCはブレーキ付きのバック付きだった(^^;
#THROTTLE THROTTLE_CHANNEL = 0 THROTTLE_FORWARD_PWM = 410 THROTTLE_STOPPED_PWM = 390 THROTTLE_REVERSE_PWM = 370
nano なら、Ctrl-O でファイルセーブ、Ctrl-Xで終了でした(nanoって初めて実はつかってます)
わかりにくいけど、動画もどうぞ(笑)
次は動かすらしいけど
- Start your car by running
python manage.py drive
. - Go to
<your_cars_ip_address>:8887
in a browser. - Press
j
until the cars steering is all the way right. - Press
i
a couple times to get the car to go forward. - Measure the diameter of the turn and record it on a spreadsheet.
- Repeat this measurement for different steering values for turning each direction.
- Chart these so you can see if your car turns the same in each direction.
とあります。
動いたり・・動かなかったり。。
が・・・ここで。。python manage.py driveをうつと。。
pi@d2:~/d2 $ python manage.py drive using donkey v2.2.1 ... Using TensorFlow backend. loading config file: /home/pi/d2/config.py config loaded PiCamera loaded.. .warming camera Adding part PiCamera. Starting Donkey Server... Adding part LocalWebController. Adding part Lambda. Adding part KerasCategorical. Adding part Lambda. Traceback (most recent call last): File "manage.py", line 177, in <module> drive(cfg, model_path = args['--model'], use_joystick=args['--js']) File "manage.py", line 105, in drive steering_controller = PCA9685(cfg.STEERING_CHANNEL) File "/home/pi/donkeycar/donkeycar/parts/actuator.py", line 20, in __init__ self.pwm = Adafruit_PCA9685.PCA9685() File "/home/pi/.virtualenvs/dk/lib/python3.4/site-packages/Adafruit_PCA9685/PCA9685.py", line 75, in __init__ self.set_all_pwm(0, 0) File "/home/pi/.virtualenvs/dk/lib/python3.4/site-packages/Adafruit_PCA9685/PCA9685.py", line 111, in set_all_pwm self._device.write8(ALL_LED_ON_L, on & 0xFF) File "/home/pi/.virtualenvs/dk/lib/python3.4/site-packages/Adafruit_GPIO/I2C.py", line 114, in write8 self._bus.write_byte_data(self._address, register, value) File "/home/pi/.virtualenvs/dk/lib/python3.4/site-packages/Adafruit_PureIO/smbus.py", line 236, in write_byte_data self._device.write(data) OSError: [Errno 121] Remote I/O error
Remote I/O error が出て来る
で。。
もう一回やってみると
python manage.py drive using donkey v2.2.1 ... Using TensorFlow backend. loading config file: /home/pi/d2/config.py config loaded PiCamera loaded.. .warming camera Adding part PiCamera. Starting Donkey Server... Adding part LocalWebController. Adding part Lambda. Adding part KerasCategorical. Adding part Lambda. Adding part PWMSteering. Adding part PWMThrottle. path_in_tub: /home/pi/d2/data/tub_1_18-01-23 Tub does NOT exist. Creating new tub... New tub created at: /home/pi/d2/data/tub_1_18-01-23 Adding part TubWriter. 8887 Starting vehicle... /home/pi/.virtualenvs/dk/lib/python3.4/site-packages/picamera/encoders.py:544: PiCameraResolutionRounded: frame size rounded up from 120x160 to 128x160 width, height, fwidth, fheight))) WARNING:tornado.access:404 GET /favicon.ico (192.168.1.10) 11.68ms
動いて、http://<pi のIP>:8887 でアクセスすると。。 こういうページが出てきます。
キーボードで動かす場合は、
- Forward:
I
- Reverse:
K
- Left:
J
- Right:
L
のようです。右の水色のところでマウスをクリックすると、円が現れて、動かすことができます。
でも、できたりできなかったり。。Cameraも動かないし。。
ごにょごにょやってたら。。
動き出しました。
donkey createcar --template donkey2 --path ~/d2
をもう一回実行したり。。でも
Picameraのコネクター抜き差ししたり。。 が一番効いたような気がする。。
でも動いたり動かなかったりする(笑)ソース読むかぁ。。
python manage.py drive
コメントを残していただけるとありがたいです