Ydlidar flatscan does not fire

I am trying get flatcan from ydlidar x4 but it not fire. I see lidar works, from ydlidar sample I see plot results, but when I add to get flatscan msg, it does not work.

Check my sample witjh realsense camera and I got flatscan (DepthImageFlattening + Throtle codelets).
Also check ydlidar with ros drivers and got result in rviz.

My sample project:

Blockquote
{
“name”: “lidar”,
“modules”: [
“ydlidar”,
“viewers”,
“realsense”,
“rgbd_processing”,
“//apps/csp/lidar/drivers:flatscan”
],
“graph”: {
“nodes”: [
{
“name”: “ydlidar”,
“components”: [
{
“name”: “message_ledger”,
“type”: “isaac::alice::MessageLedger”
},
{
“name”: “lidar_initializer”,
“type”: “isaac::alice::PoseInitializer”
},
{
“name”: “driver”,
“type”: “isaac::ydlidar::YdLidar”
}
]
},
{
“name”: “viewers”,
“components”: [
{
“name”: “MessageLedger”,
“type”: “isaac::alice::MessageLedger”
},
{
“name”: “FlatscanViewer”,
“type”: “isaac::viewers::FlatscanViewer”
}
]
},
{
“name”: “clflatscan_node”,
“components”: [
{
“name”: “clflatscan_component”,
“type”: “isaac::clflatscan”
},
{
“name”: “Message ledger component”,
“type”: “isaac::alice::MessageLedger”
}
]
},
{
“name”: “camera”,
“components”: [
{
“name”: “message_ledger”,
“type”: “isaac::alice::MessageLedger”
},
{
“name”: “realsense”,
“type”: “isaac::RealsenseCamera”
},
{
“name”: “realsense_pose”,
“type”: “isaac::alice::PoseInitializer”
},
{
“name”: “depth_viewer”,
“type”: “isaac::viewers::DepthCameraViewer”
},
{
“name”: “color_viewer”,
“type”: “isaac::viewers::ColorCameraViewer”
}
]
},
{
“name”: “image_flattening”,
“components”: [
{
“name”: “message_ledger”,
“type”: “isaac::alice::MessageLedger”
},
{
“name”: “isaac.rgbd_processing.DepthImageFlattening”,
“type”: “isaac::rgbd_processing::DepthImageFlattening”
},
{
“name”: “isaac.alice.Throttle”,
“type”: “isaac::alice::Throttle”
},
{
“name”: “FlatscanViewer”,
“type”: “isaac::viewers::FlatscanViewer”
}
]
}
],
“edges”: [
{
“source”: “ydlidar/driver/flatscann”,
“target”: “clflatscan_node/clflatscan_component/flatscan”
},
{
“source”: “ydlidar/driver/flatscan”,
“target”: “viewers/FlatscanViewer/flatscan”
},
{
“source”: “camera/realsense/depth”,
“target”: “camera/depth_viewer/depth_listener”
},
{
“source”: “camera/realsense/color”,
“target”: “camera/color_viewer/color_listener”
},
{
“source”: “camera/realsense/depth”,
“target”: “image_flattening/isaac.alice.Throttle/input”
},
{
“source”: “image_flattening/isaac.alice.Throttle/output”,
“target”: “image_flattening/isaac.rgbd_processing.DepthImageFlattening/depth”
},
{
“source”: “image_flattening/isaac.rgbd_processing.DepthImageFlattening/flatscan”,
“target”: “clflatscan_node/clflatscan_component/flatscan”
},
{
“source”: “image_flattening/isaac.rgbd_processing.DepthImageFlattening/flatscan”,
“target”: “clflatscan_node/clflatscan_component/flatscan”
}
]
},
“config”: {
“ydlidar”: {
“driver”: {
“device”: “/dev/ttyUSB0”,
“tick_period”: “100ms”
},
“lidar_initializer”: {
“lhs_frame”: “robot”,
“rhs_frame”: “lidar”,
“disable_failure”: true,
“pose”: [
1.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
]
}
},
“camera”: {
“realsense”: {
“rows”: 480,
“cols”: 848,
“rgb_framerate”: 30,
“depth_framerate”: 30,
“ir_framerate”: 30,
“enable_ir_stereo”: true,
“frame_queue_size”: 2,
“auto_exposure_priority”: false
},
“realsense_pose”: {
“lhs_frame”: “robot”,
“rhs_frame”: “camera”,
“pose”: {
“rotation”: {
“roll_degrees”: -180.0,
“pitch_degrees”: 70.0,
“yaw_degrees”: 90.0
},
“translation”: [
0.08,
0.04,
0.17
]
}
},
“depth_viewer”: {
“camera_name”: “camera”,
“max_visualization_depth”: 6
},
“color_viewer”: {
“camera_name”: “camera”
}
},
“image_flattening”: {
“isaac.rgbd_processing.DepthImageFlattening”: {
“min_distance”: 0.1,
“max_distance”: 12,
“height_min”: 0.08,
“height_max”: 0.20,
“ground_frame”: “robot”,
“camera_frame”: “camera”,
“range_delta”: 0.015,
“sector_delta”: 0.008
},
“isaac.alice.Throttle”: {
“data_channel”: “input”,
“output_channel”: “output”,
“minimum_interval”: 0.1,
“use_signal_channel”: false
},
“FlatscanViewer”: {
“flatscan_frame”: “robot”
}
},
“clflatscan_node”: {
“clflatscan_component”: {
“debugmsg”: true,
“detectobstacle”: true,
“scanangle_left”: 360.0,
“scanangle_right”: 360.0,
“minrange”: 1.2
}
},
“websight”: {
“WebsightServer”: {
“ui_config”: {
“windows”: {
“Lidar: Samples Per Tick”: {
“renderer”: “plot”,
“dims”: {
“width”: 1024,
“height”: 200
},
“channels”: [
{
“name”: “lidar/ydlidar/driver/samples_count”
},
{
“name”: “lidar/ydlidar/driver/arc_measured”
}
]
}
}
}
}
}
}
}

Seems problem with serial speed but no way to change port speed through ydlidar codelet parameters

The serial port baud rate in YDLidar is hardcoded as of 2020.1NX to 128000 unfortunately. We’ll work on exposing that as a parameter and looking for a workaround for you if possible in the meantime.

Hmm, than no reason why lidar not generate flatscan.
ydlidar x4 baudrate is 128000.

In ROS all works fine, all ydlidar tests works fine, but ydlidar codelet not generate flatscan messages.

There is an extra ‘n’ in your source in your original graph.
Was there any other output from the logs that could help debug this?

:) Solved!
I start porting ydlidar sdk but now there is no reason to continue!
Thank you!