[ros-users] [Discourse.ros.org] [Next Generation ROS] Astra driver for ROS2

Secretary Birds ros.discourse at gmail.com
Wed Jun 7 18:33:12 UTC 2017

Ok. Verified my ROS2 base is in Release mode (it wasn't).
I reran the profiling on the depth_to_pointcloud node, and this is the output:

`Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (No unit mask) count 100000
samples  %        image_name               symbol_name
24195    42.7473  wl                       /wl
13177    23.2809  libsensor_msgs__rosidl_typesupport_coredx_cpp.so sensor_msgs::msg::typesupport_coredx_cpp::convert_ros_message_to_dds(sensor_msgs::msg::PointCloud2_<std::allocator<void> > const&, sensor_msgs::msg::dds_::PointCloud2_&)
3405      6.0159  libsensor_msgs__rosidl_typesupport_coredx_cpp.so sensor_msgs::msg::typesupport_coredx_cpp::convert_dds_message_to_ros(sensor_msgs::msg::dds_::Image_ const&, sensor_msgs::msg::Image_<std::allocator<void> >&)
3261      5.7615  libc-2.23.so             __memcpy_avx_unaligned
3056      5.3993  depth_to_pointcloud_node void depth_to_pointcloud::convert<float>(std::shared_ptr<sensor_msgs::msg::Image_<std::allocator<void> > const> const&, std::shared_ptr<sensor_msgs::msg::PointCloud2_<std::allocator<void> > >&, image_geometry::PinholeCameraModel const&, double)
2871      5.0724  libc-2.23.so             __memmove_avx_unaligned
2490      4.3993  libdds_cf.so             /opt/coredx-4.0.16/target/Linux_2.6_x86_64_gcc43/lib/libdds_cf.so
1168      2.0636  libc-2.23.so             __memset_avx2`

A little hard to read, but basically the worst offender is the convert_ros_to_dds on the PointCloud, which takes ~23%. Then comes convert_dds_to_pointcloud on the Image, at ~6%, and then finally the actual conversion from Image to Pointcloud, at ~5%.

@ClarkTucker maybe there's something in the CoreDX rmw wrapper that can help speed this up?

Another idea I had was I could make a composition of the astra driver and this conversion and eliminate part of the slowdown (~6% for dds_to_ros conversion of Image).

Any other ideas?

[Visit Topic](https://discourse.ros.org/t/astra-driver-for-ros2/1894/12) or reply to this email to respond.

More information about the ros-users mailing list