私はしばらくこの質問に対する良い答えを探していました。
Xboxコントローラを使用してリモートでロボットを制御しようとしています。問題は、コントローラがロボットのオンボードコンピュータではなく制御ステーションに接続されることです。オンボードコンピュータはUbuntuとロボットオペレーティングシステム(ROS)を実行し、直接接続などの文字デバイスにアクセスする必要があります。
オンボードコンピュータにSSHで接続し、コンソールから文字デバイスイベントを配信する方法を探しています。リアルタイムアップデートが必要です。最良のアプローチは何ですか?可能ですか?
答え1
CUSE(ユーザー空間の文字デバイス)を見てください。
UDPポートとデバイスイベントを転送し、SSHにUDPストリームを転送させます。
要件に固有の待ち時間はかなり大きいため、これはわずかに小さい「リアルタイム」値の「リアルタイム」にすぎません。
答え2
SystemOnAChipを使用している場合(例:RPi、バナナパイ、オレンジパイ、ODroid ...)と一部のオペレーティングシステム(この場合、Ubuntu)、たとえそれがRT「リアルタイムアップデートが必要」(リアルタイム)フレーバの展開はできません。オペレーティングシステムは、リアルタイムとは離れていることに注意してください。トーンバックグラウンドで実行されるサービス。これはあなたがしたいことが不可能であるという意味ではなく、単にそれがうまくいかないという意味です。RT本当。
しかし、おそらくそれがあなたがしたいことです。 WiFi USBアダプタを購入し(車両用コンピュータが付属していない場合)、車両用コンピュータに接続して同じネットワークに接続します。制御ステーション、openssh-server
オンボードコンピュータにインストールされ、両方のボードが同じネットワーク上にある場合は、通過してみてください。SSH。
あなたの許可を得て、私が今使った他のプラットフォームをお勧めします。ESP32、Wi-FiとBluetoothが統合されたマイクロコントローラで、AliExpressで購入すれば約3ドルに過ぎず、Arduino IDEを使ってプログラムすることができます。
ところで、あなたのプロジェクトは非常に興味深いです!