自由課題

学んだり、考えたり、試したりしたこと。

Jetson NanoでFPVラジコンを作る(9)

前回までの記事

前回記事を書いたあとステアリングモーターと駆動モーターを制御するライブラリを書いた。

github.com

RCCar::steer(float)RCCar::go(float)を使ってこんな感じで制御できる。
両関数とも引数の値域は0.0〜1.0である。

int main(int argc, const char *argv[])
{
    RCCar car;

    //swing the steering
    for(float s = 0.f; s <= 3.f; s+=0.05f) {
        car.steer(std::sin(2*M_PI*s));
        std::this_thread::sleep_for(std::chrono::milliseconds(50));
    }

    //stop and go
    for(float s = 0.f; s <= 2.f; s+=0.01f) {
        auto speed = 0.2/*max speed cap*/ * ((-std::cos(2*M_PI*s)+1)/2);
        car.go(speed);
        std::this_thread::sleep_for(std::chrono::milliseconds(100));
    }

    return 0;
}

今回はゲームパッドの入力を受け取るためのライブラリを書く。
現在使用しているゲームパッドは以下。

続きを読む

Jetson NanoでFPVラジコンを作る(8)

前回までの記事

相変わらずタミヤのランチボックスをJetson Nanoで制御しようとしている。

今のところシステム構成は以下。

f:id:kimito_k:20210403113108p:plain

前回まででハードの基本的な動作確認が終わったので、今回から本格的にコーディングを行う。
(あまりよく見ていないが)JetRacerDonkyCarPythonっぽいが、今回はC++を使うことにする(f:id:kimito_k:20210403113108p:plain)。

まだまともに何か動くレベルではないが*1、ぼちぼちgithubソースコードをpushしている。

github.com

今日はステアリングモーターと駆動モーターを制御するためのI2C通信の基本部分をコーディングする。

*1:momoを自動起動にしているだけ

続きを読む

Jetson NanoでFPVラジコンを作る(7)

前回までの記事

今回はラジコンを操縦するための入力機器をJetson Nanoに接続してみる。 もちろん入力機器を無線接続したいので、bluetooth接続のゲームパッドを使用することにする。

選定理由は、動作環境としてラズパイ(Linux)が入っていたこと、比較的品質が高そうなコメントが多かったこと、それからデザインがシンプルだったからである。

続きを読む

Jetson NanoでFPVラジコンを作る(6)

前回はJetson Nano単体でラジコンを制御するのに失敗したので、今回は PCA9685というモータードライバーのチップを使用して制御を試みる。
実績はたくさんあるので、できないということはないはずだ。

続きを読む

Jetson NanoでFPVラジコンを作る(5)

今回はいよいよラジコンのステアリングサーボとモーターを制御してみる。 JetsonにはハードウェアPWMが2系統あるのでそれを使って制御できないか試してみる。

結論からいうと上手くいかなかったが、どうも同じことを試した人はほとんどいなかったようなので一応以下記録として残しておく。
(詳しい人であればそもそもこんな問題は踏まないのかもしれないが)

続きを読む

Jetson NanoでFPVラジコンを作る(4)

今回はJetson Nanoでタミヤのラジコンカーを制御するにあたり、そもそもラジコンカーとはどのようなシステムなのかを調べてみることにする。

続きを読む

Jetson NanoでFPVラジコンを作る(3)

前回記事
Jetson NanoでFPVラジコンを作る(1) - 自由課題
Jetson Nanoを使ってFPVラジコンを作る(2) - 自由課題

今回はJetson Nanoをベースボードに取り付け、走行テストをしてみることにする。

Jetsonの取り付けはJetson Nanoのキャリアボードの四隅についている穴を使用すれば良い。今回はあまり調べずM2のスタンドオフを購入してみたが、どうもM2.5が正解だったようで結構遊びがある。ただし固定には問題はなさそう。

続きを読む