C++API は Airsim 静的リンク ライブラリの構成を制御します

1. C++ API を介して Airsim でドローンエフェクトデモンストレーションを制御する

                                                    コンソールのスクリーンショット

                                                     UE4 のスクリーンショット

2. 正しい静的リンク ライブラリを含める

1. 必要なリンク ライブラリを見つけます。

Airsim 公式 Web サイトを参照してください: C++ API - AirSim

上記の公式 Web サイトのガイダンスのスクリーンショットからわかるように、必要なヘッダー ファイルは 4 つの部分で構成されています。

①含む

②AirLib/含む

③AirLib/deps/rpclib/include

④AirLib/deps/eigen3

⑤AirLib/deps/MavLinkCom/include

必要な静的リンク ライブラリには次の 3 つの部分があります。

①rpc.lib

②AirLib.lib

③MavLinkCom.lib

したがって、公式 git clone ファイルから AirLib プロジェクトを見つけ、スクリーンショットの内容を独自のプロジェクトにコピーし、上記の構成に従って静的リンク ライブラリを構成し、正しいヘッダー ファイルを含めることができます。

2. 追加のインクルードディレクトリ

正しいヘッダー ファイルを構成して含めるには、上のスクリーンショットを参照してください。

3. 追加のライブラリ ディレクトリを構成する

追加のライブラリのディレクトリ (静的リンク ライブラリが配置されている場所) を構成するには、上のスクリーンショットを参照してください。

4. 追加の依存関係を構成する

追加の依存関係を構成するには、上記のスクリーンショットを参照してください

3. 制御コードを書く

このコードは実際には公式のコピー例であり、以下にいくつかのコメントが追加されています。

#include <iostream>
#include "vehicles/multirotor/api/MultirotorRpcLibClient.hpp"

int main()
{
    msr::airlib::MultirotorRpcLibClient client;

    std::cout << "Press Enter to enable API control\n"; std::cin.get(); // 按下回车键开启API控制
    client.enableApiControl(true);

    std::cout << "Press Enter to arm the drone\n"; std::cin.get(); // 按下回车解锁无人机
    client.armDisarm(true);

    std::cout << "Press Enter to takeoff\n"; std::cin.get(); // 按下回车键起飞无人机
    client.takeoffAsync(5)->waitOnLastTask();

    std::cout << "Press Enter to move 5 meters in x direction with 1 m/s velocity\n"; std::cin.get(); // 按下回车键往前飞行
    auto position = client.getMultirotorState().getPosition(); // from current location
    client.moveToPositionAsync(position.x() + 5, position.y(), position.z(), 1)->waitOnLastTask();

    std::cout << "Press Enter to land\n"; std::cin.get(); // 按下回车键降落无人机
    client.landAsync()->waitOnLastTask();

    std::cout << "Press Enter to disenable\n"; std::cin.get(); // 按下回车键关闭API控制
    client.enableApiControl(false);

    return 0;
}

四番目、終わり

上記はすべての手順であり、これまでのところ、C++ プログラムを通じて Airsim でドローンまたは車を制御できます。後で、これらのコードは UE4 のクラスにカプセル化されます。(または、Qt を使用し、別のボタンを押し、別の API を呼び出して airsim を制御します)

おすすめ

転載: blog.csdn.net/hu853712064/article/details/130650668