Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

従動輪の駆動の統合 #90

Closed
hcmos opened this issue Jul 18, 2024 · 7 comments
Closed

従動輪の駆動の統合 #90

hcmos opened this issue Jul 18, 2024 · 7 comments

Comments

@hcmos
Copy link
Member

hcmos commented Jul 18, 2024

No description provided.

@hcmos
Copy link
Member Author

hcmos commented Jul 18, 2024

統合しようとしたがcanのボーレートの問題が発生した.
md<-可変
駆動基板<-500k
サイバーギア<-1M

mdは駆動基板と合わせないと動作しないため,サイバーギアを500kにすることにした.
以前,データシート通りに行ったが出来なかったが再度挑戦している.

@hcmos
Copy link
Member Author

hcmos commented Jul 18, 2024

すべて1Mにするのが利巧だが,駆動基板のfw変えられない問題が引っ張っている.

@hcmos
Copy link
Member Author

hcmos commented Jul 18, 2024

標準コマンドではボーレート変えられないので内蔵のstm32にstlink突っ込んでバイナリ書き込むとこからやってみる.
結構厳しそう.

@hcmos
Copy link
Member Author

hcmos commented Jul 20, 2024

->バイナリ書き込んだ後に専用ソフトでエンコーダのキャリブレーションをしなくてはならないが,指定されているcan-usb(ドキュメント参照)がないのとそもそもソフトが開けないのでいったん断念.

本田の加藤さんと話してネットワークの分離が手っ取り早くできる解決策となった.
そこでやったこととして

  • socketcan_IFのインスタンスをidで識別してソケット通信するインタフェースを分ける.
  • 名前空間でトピックの区別

などなどを経て組み込んで動作させてみた
https://drive.google.com/drive/folders/1-6EffyILICOU_VhmqZKn1baQ94kyf_CW

これなら高速域でも問題なく走行できると思われる.

問題として

  • ネットワークの認識がusbのデバイス認識によって変わってしまう ->udevルールを記述
  • 操縦機がbluetoothのため機体についていけない ->解決策思いつかない
  • 遠隔緊急もbluetoothのため機体についていけない ->lorawanなど比較的,低周波電波を使用した遠隔緊急の実装,並列動作.

@hcmos
Copy link
Member Author

hcmos commented Jul 22, 2024

上記の

  • ネットワークの認識がusbのデバイス認識によって変わってしまう
    というの問題を解決

udevルールでも良かったのだが,ネットインタフェースの名前を変えるくらいだったらsystemd-networkdのルールを変えたほうがスマートだったのでそうした.
https://unix.stackexchange.com/questions/560656/renaming-can-interfaces
ビットレートやリングバッファのサイズなどもここから変えられるが,ros node起動のタイミングでlink upしたほうが良さそうなのでそこはいじらなかった.

やったこととして

  • 当システムデーモンのルール記述
  • socketcanのframe nameをros paramから持ってくるように変更(can0とかじゃなくcan_kvaserなど適当な名前にしたほうがスケーラビリティが良いため)

問題として

  • kvaserのほうがID_SERIAL_SHORTが出てこないため製品でマッチさせることが出来ない.いまのところID_SERIALでマッチさせてる.
    ->ホンダに新しいkvaserを頼んでしまったので識別できない.
    ->藤野私物のcan-usbは全部出てくるので簡単に識別できる.

@hcmos
Copy link
Member Author

hcmos commented Jul 24, 2024

共有事項

電源を入れなおしたときはサイバーギアの零点の設定が必要なのでcybergear/resetのトピックを出してください.
今のところコントローラのパッケージには組み込んでいないのでコマンドで出してください.

@hcmos
Copy link
Member Author

hcmos commented Aug 4, 2024

テスト走行にてスピンせずに高速走行ができることを確認したため閉じます.

上げた問題としては他のイシューに任せます.

@hcmos hcmos closed this as completed Aug 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant