RobotLocomotion / drake-ros

Experimental prototyping (for now)
Apache License 2.0
83 stars 31 forks source link

Should provide additional conversions #159

Open EricCousineau-TRI opened 1 year ago

EricCousineau-TRI commented 1 year ago

Follow-up to #153.

This is primarily in service of ROS 2 development in Anzu. Integration with Drake is a close second, though. We should either provide these here, or as a package in this workspace.

We should provide both C++ and Python conversions, and exercise them.

\cc @IanTheEngineer @sloretz

adityapande-1995 commented 1 year ago

Made an upstream ticket for ROS messages to be typecastable from python to C++ : https://github.com/ros2/rosidl/issues/723

adityapande-1995 commented 1 year ago

Update :

adityapande-1995 commented 1 year ago

@EricCousineau-TRI For pointclouds, IIUC, we need a conversion between the python and C++ ros message type (using something more efficient then serializing-deserializing) and then between the C++ pointcloud message and drake C++ type, right ?

If I look at geometry_conversions, what we are doing for say quaternion is :

Assuming we want the same for pointclouds, this would require 2 conversions :

  1. C++ ROS PointCloud & PointCloud2 message <-> drake::perception::PointCloud
  2. C++ ROS msg PointCloud & PointCloud2 <-> Python equivalents, not using serialization, but something more efficient.