FaboのDonkeyPiパッケージのまま、操縦できないので、
Faboのサイトからの Elecom Joystick(Wireless Joystick) 情報を参考にやってみる。
結果的に失敗なので、記録として残す。
インストール方法
pip install git+https://github.com/FaBoPlatform/donkeypart_ps3_controller |
ソースの修正
cd ~/mycar vi manage.py |
ELECOM Wireress GamePadに対応する
ElecomJoystickController を import します。
次のようにElecomJoystickController関連する文を追加する
import donkeycar as dk from donkeypart_ps3_controller import ElecomJoystickController #import parts from donkeycar.parts.transform import Lambda, TriggeredCallback, DelayedTrigger from donkeycar.parts.datastore import TubHandler from donkeycar.parts.controller import LocalWebController, JoystickController from donkeycar.parts.throttle_filter import ThrottleFilter from donkeycar.parts.behavior import BehaviorPart from donkeycar.parts.file_watcher import FileWatcher from donkeycar.parts.launch import AiLaunch from donkeycar.utils import * --- #ctr = get_js_controller(cfg) ctr = ElecomJoystickController(throttle_scale=cfg.JOYSTICK_MAX_THROTTLE,steering_scale=cfg.JOYSTICK_STEERING_SCALE,auto_record_on_throttle=cfg.AUTO_RECORD_ON_THROTTLE) V.add(ctr, inputs=['cam/image_array'], outputs=['user/angle', 'user/throttle', 'user/mode', 'recording'], threaded=True)
再度クルマを起動する。
(env) pi@donkeypi3chen02:~/mycar $ python manage.py drive --js using donkey v3.1.0 ... loading config file: /home/pi/mycar/config.py loading personal config over-rides config loaded cfg.CAMERA_TYPE PICAM cfg.CAMERA_TYPE PICAM PiCamera loaded.. .warming camera Adding part PiCamera. Adding part ElecomJoystickController. Adding part ThrottleFilter. Adding part PilotCondition. Adding part RecordTracker. Adding part ImgPreProcess. Adding part DriveMode. Adding part AiLaunch. Adding part AiRunCondition. Init ESC Adding part PWMSteering. Adding part PWMThrottle. Tub does NOT exist. Creating new tub... New tub created at: /home/pi/mycar/data/tub_11_19-11-18 Adding part TubWriter. Opening /dev/input/js0... Starting vehicle... Device name: Smart JC-U3912T /usr/lib/python3/dist-packages/picamera/encoders.py:544: PiCameraResolutionRounded: frame size rounded up from 160x120 to 160x128 width, height, fwidth, fheight))) recorded 10 records recorded 20 records
今度は表示が変わり、Joystick Controls:キーのcontrol と action の概要表示がなくなり、一部のキーで操縦はできた。
しかしキーの割り当てはおかしいね。左右のスディックの機能は逆、しかも変!
左のスディックはThrottleで前後移動になり、右のスディックはSteeringで左右の移動はスディック前後の操縦するとなる。
ボタン操作の対応数値
なぜ操作は逆になるなど調べるための調査
$ hexdump /dev/input/js0
ボタン類を操作して16進の数値が表示されればOK
ctrl+cで終了
しかし表示する意味の推測は大変で一旦棚上げする。