Hello!
I’m currently trying to add waypoints to the map during runtime.
I have tried doing the following:
waypoint_map_layer_ =
node()->app()->findComponentByName<map::WaypointMapLayer>(get_waypoint_map_layer());
ASSERT(waypoint_map_layer_, "Could not find waypoint layer");
nlohmann::json waypoint;
double pose[7]={0.3,0,0,1,40,40,0};
double color[3] = { 255.0, 0.0, 0.0 };
float radius= 1.0;
waypoint["pos1"]["color"]=color;
waypoint["pos1"]["pose"]=pose;
waypoint["pos1"]["radius"]=radius;
if(!waypoint_map_layer_->hasWaypoint("pos1")&&getTickCount()>10)
waypoint_map_layer_->addOrUpdateFromJson(waypoint);
This adds a waypoint to the WaypointMapLayer and i can reach the waypoint from other nodes but the websight map does not update until i manually refresh the webpage, and from tests i also need to have sight open before i add the waypoint or else it wont appear until i restart. (This is the reason for getTickCount()>10)
So the question is if there is some way of updating the WaypointMapLayer on websight either from the codelet or on a set interval.
The websight config looks as following:
"websight": {
"WebsightServer": {
"port": 3000,
"assetroot": "external/isaac_assets",
"ui_config": {
"windows": {
"kaka - Global View": {
"renderer": "2d",
"dims": {
"width": 432,
"height": 548
},
"channels": [
{ "name": "kaka/map/occupancy/map" },
{ "name": "kaka/map/restricted_area/polygons" },
{ "name": "kaka/map/waypoints/waypoints" }
]
}
}
}
}
}