Hello I am trying to add a C++ codelet that uses the YDlidar component and lidar_slam:cartographer component. I am having a quite a bit of difficulty and ran into the error mentioned in the subject line. I am not sure what I am doing wrong, at the current stage I’d just like to pass flatscans from the Ydlidar to the cartographer component. I’ll attach my code below, I appreciate any help I can get. Thanks in advance!
json file
{
"name": "sentinel",
"modules": [
"sight",
"ydlidar",
"lidar_slam:cartographer"
],
"graph": {
"nodes": [
{
"name": "sentinelLidar",
"type": "SentinelLidar",
"components": [
{
"name": "message_ledger",
"type": "isaac::alice::MessageLedger"
},
{
"name": "driver",
"type": "isaac::ydlidar::YdLidar"
}
]
},
{
"name":"sentinelMap",
"type":"SentinelMap",
"components":[
{
"name": "message_ledger",
"type": "isaac::alice::MessageLedger"
},
{
"name": "Cartographer",
"type": "isaac::lidar_slam::Cartographer"
}
]
}
],
"edges": [
{
"source": "sentinel/sentinelLidar/driver",
"target": "sentinel/sentinelMap/Cartographer"
}
],
"config": {
"ydlidar": {
"driver": {
"device": "/dev/ttyUSB0"
}
},
"websight": {
"WebsightServer": {
"ui_config": {
"windows": {
"YDLidar: Samples Per Tick": {
"renderer": "plot",
"dims": {
"width": 1024,
"height": 200
},
"channels": [
{ "name" : "sentinel/sentinelLidar/driver/samples_count" },
{ "name" : "sentinel/sentinelLidar/driver/arc_measured" }
]
}
}
}
}
},
"sentinelMap":
{
"Cartopragher":{
"lua_configuration_directory": "../com_github_googlecartographer_cartographer/configuration_files/,external/com_github_googlecartographer_cartographer/configuration_files/",
"output_path": "../tmp",
"num_visible_submaps": 100,
"tick_period": "250ms"
}
}
}
}
}
load("@com_nvidia_isaac_sdk//bzl:module.bzl", "isaac_app", "isaac_cc_module")
isaac_app(
name = "sentinel",
modules = [
"sight",
"ydlidar",
"lidar_slam:cartographer",
],
)
Build file:
isaac_cc_module(
name = "sentinel_components",
srcs = [
"SentinelLidar.cpp",
"SentinelMap.cpp"
],
hdrs = [
"SentinelLidar.hpp",
"SentinelMap.hpp"
],
)
hpp
class SentinelMap:public isaac::alice::Codelet{
public:
void start() override;
void tick() override;
void stop() override;
};
ISAAC_ALICE_REGISTER_CODELET(SentinelMap);
cpp file
#include "SentinelMap.hpp"
void SentinelMap::start(){}
void SentinelMap::tick(){}
void SentinelMap::stop(){}