我使用靜脈4.4與4.6 OMNET和相撲0.25。GettingAltitude(標題)在靜脈模擬
我想獲得關於車輛的高度信息。 我剛剛在TraCICommandInterface類中找到了方法getLonLat()。 有沒有關於高度或其他方式獲取這類信息的方法?由於
我試過如下修改提到的功能:
std::list<double> TraCICommandInterface::getLonLatAlt(const Coord& coord) {
TraCIBuffer request;
request << static_cast<uint8_t>(POSITION_CONVERSION) << std::string("sim0")
<< static_cast<uint8_t>(TYPE_COMPOUND) << static_cast<int32_t>(2)
<< connection.omnet2traci(coord)
<< static_cast<uint8_t>(TYPE_UBYTE) << static_cast<uint8_t>(POSITION_LON_LAT_ALT);
TraCIBuffer response = connection.query(CMD_GET_SIM_VARIABLE, request);
uint8_t cmdLength; response >> cmdLength;
if (cmdLength == 0) {
uint32_t cmdLengthX;
response >> cmdLengthX;
}
uint8_t responseId; response >> responseId;
ASSERT(responseId == RESPONSE_GET_SIM_VARIABLE);
uint8_t variable; response >> variable;
ASSERT(variable == POSITION_CONVERSION);
std::string id; response >> id;
uint8_t convPosType; response >> convPosType;
ASSERT(convPosType == POSITION_LON_LAT_ALT);
double convPosLon; response >> convPosLon;
double convPosLat; response >> convPosLat;
double convPosAlt; response >> convPosAlt;
std::list<double> geo_coordinates;
std::list<double>::iterator it;
geo_coordinates.insert(it,0,convPosLon);
geo_coordinates.insert(it,1,convPosLat);
geo_coordinates.insert(it,2,convPosAlt);
return geo_coordinates;
}
但在調試模式下運行,它返回此錯誤:
線程1「opp_run」接收信號SIGSEGV,分割過錯。 0x00007ffff5ea5543在標準:: __詳細:: _ List_node_base :: _ M_transfer(STD :: __詳細:: _ List_node_base *,性病:: __詳細:: _ List_node_base *)()從/usr/lib/x86_64-linux-gnu/libstdc++.so。 6 Python異常無法找到類型std :: __ cxx11 :: list> :: const_iterator :: _節點: Python異常無法找到類型std :: __ cxx11 :: list> :: const_iterator :: _節點: Python異常找不到類型std :: __ cxx11 :: list> :: const_iterator :: _節點:
我不太明白你的意思是「標題」。你能詳細說明一下嗎? –
@ChristophSommer我編輯了這篇文章,它很模糊。我的意思是車輛位置的高度。其實我也需要車輛的標題,這是汽車交換的基本安全信息的一個領域。 – FMA