使用TraCIcommandInterface在静脉中添加函数

问题描述 投票:0回答:1

我想在静脉中添加一个名为getFollowSpeed的函数,但出现错误。我已经在TraCIcommandInterface.ccTraCIcommandInterface.h中定义了函数名称。

我也在TraCIconstant.h中定义了功能。

请参阅TraCIcommandInterface.cc中的附加代码。

double TraCICommandInterface::Vehicle::getFollowSpeed(double speed, double gap, double leaderSpeed, double leaderMaxDecel, const std::string leaderID)
{

    uint8_t variableId = VAR_FOLLOW_SPEED;
    uint8_t variableType = TYPE_COMPOUND;
    int32_t count = 5;
    uint8_t speedType = TYPE_DOUBLE;
    uint8_t gapType = TYPE_DOUBLE;
    uint8_t leaderSpeedType = TYPE_DOUBLE;
    uint8_t leaderMaxDecelType = TYPE_DOUBLE;
    uint8_t LeaderIdType = TYPE_STRING;

    TraCIBuffer request;
    request << variableId << nodeId << variableType << speedType << speed << gapType << gap <<
            leaderSpeedType << leaderSpeed << leaderMaxDecelType << leaderMaxDecel << LeaderIdType << leaderID ;


    TraCIBuffer response = connection->query(CMD_GET_VEHICLE_VARIABLE,request);

    ASSERT(buf.eof());

}

这里是我通过静脉运行Omnet ++和Sumo期间收到的错误消息。

TraCI服务器报告了执行命令0xa4的错误(“获取车辆变量:指定了不受支持的变量0x1c”)。 -在模块(TraCIDemo11p)中,RSUExampleScenario.node [0] .appl(id = 14),在t = 1s,事件#2

我正在使用Veins 4.7.1和Omnet 5.3和sumo 0.32.0。

有人可以帮我吗?为什么我收到此错误。我已经定义了功能。我对此非常感谢。

提前感谢。

omnet++ veins sumo
1个回答
0
投票

VAR_FOLLOW_SPEED在SUMO 0.32.0中不可用。函数getFollowSpeed最近已添加到SUMO的当前GIT版本。参见SUMO changelog

© www.soinside.com 2019 - 2024. All rights reserved.