Airsim添加API总结
大概前后看了几天,也对照着官方文档。添加了一个能够让距离传感器根据给定角度绕自身Z轴旋转的的API。
官方文档对于multirotor只给了get类型的一个示例说明。
而我是要添加一个修改传感器中某个参数值的函数,所以其实还是有些许不符。于是就自己琢磨了一下Airsim的代码。
首先我参考的是getDistanceSensordata这个API,同时也在学习Airsim的整体架构。
Airsim的各个功能架构,大部都是以UpdatableObject为最底层,然后上一层是某个模块的Base,比如SensorBase,VehicleApiBase这些,
之后再根据是car还是multirotor,是IMU还是distanceSensor细分到更多的具体base类。在vehicleApiBase中也能调用搭载于其上的各种SensorBase。
图中最上面的RpcClientBase如果不是用c++的api的话其实用不到。
api调用最先是由rpclib从client端传输到server的,需要在server端和client端都写好接收的函数,server需要bind住,而client我用的是python端,只需要模仿其他api写一个发送函数就好。
//RpcLibServerBase.cpp
pimpl_->server.bind("setYaw_distance", [&](const std::string& distance_sensor_name, const std::<