-
 
No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.

ros_numpy package from ros_numpy repo

ros_numpy

Package Summary

Tags No category tags.
Version 0.0.5
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/eric-wieser/ros_numpy.git
VCS Type git
VCS Version master
Last Updated 2023-11-03
Dev Status MAINTAINED
CI status
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

A collection of conversion function for extracting numpy arrays from messages

Additional Links

Maintainers

  • Eric Wieser
  • George Stavrinos

Authors

  • Eric Wieser

ros_numpy

Tools for converting ROS messages to and from numpy arrays. Contains two functions:

  • arr = numpify(msg, ...) - try to get a numpy object from a message
  • msg = msgify(MessageType, arr, ...) - try and convert a numpy object to a message

Currently supports:

  • sensor_msgs.msg.PointCloud2 ↔ structured np.array:
   data = np.zeros(100, dtype=[
     ('x', np.float32),
     ('y', np.float32),
     ('vectors', np.float32, (3,))
   ])
   data['x'] = np.arange(100)
   data['y'] = data['x']*2
   data['vectors'] = np.arange(100)[:,np.newaxis]
   
   msg = ros_numpy.msgify(PointCloud2, data)
   
   data = ros_numpy.numpify(msg)
   
  • sensor_msgs.msg.Image ↔ 2/3-D np.array, similar to the function of cv_bridge, but without the dependency on cv2
  • nav_msgs.msg.OccupancyGridnp.ma.array
  • geometry.msg.Vector3 ↔ 1-D np.array. hom=True gives [x, y, z, 0]
  • geometry.msg.Point ↔ 1-D np.array. hom=True gives [x, y, z, 1]
  • geometry.msg.Quaternion ↔ 1-D np.array, [x, y, z, w]
  • geometry.msg.Transform ↔ 4×4 np.array, the homogeneous transformation matrix
  • geometry.msg.Pose ↔ 4×4 np.array, the homogeneous transformation matrix from the origin

Support for more types can be added with:

@ros_numpy.converts_to_numpy(SomeMessageClass)
def convert(my_msg):
    return np.array(...)

@ros_numpy.converts_from_numpy(SomeMessageClass)
def convert(my_array):
    return SomeMessageClass(...)

Any extra args or kwargs to numpify or msgify will be forwarded to your conversion function

Future work

  • Add simple conversions for:

    • geometry_msgs.msg.Inertia
CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros_numpy at Robotics Stack Exchange

No version for distro galactic. Known supported distros are highlighted in the buttons above.

ros_numpy package from ros_numpy repo

ros_numpy

Package Summary

Tags No category tags.
Version 0.0.5
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/eric-wieser/ros_numpy.git
VCS Type git
VCS Version master
Last Updated 2023-11-03
Dev Status MAINTAINED
CI status
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

A collection of conversion function for extracting numpy arrays from messages

Additional Links

Maintainers

  • Eric Wieser
  • George Stavrinos

Authors

  • Eric Wieser

ros_numpy

Tools for converting ROS messages to and from numpy arrays. Contains two functions:

  • arr = numpify(msg, ...) - try to get a numpy object from a message
  • msg = msgify(MessageType, arr, ...) - try and convert a numpy object to a message

Currently supports:

  • sensor_msgs.msg.PointCloud2 ↔ structured np.array:
   data = np.zeros(100, dtype=[
     ('x', np.float32),
     ('y', np.float32),
     ('vectors', np.float32, (3,))
   ])
   data['x'] = np.arange(100)
   data['y'] = data['x']*2
   data['vectors'] = np.arange(100)[:,np.newaxis]
   
   msg = ros_numpy.msgify(PointCloud2, data)
   
   data = ros_numpy.numpify(msg)
   
  • sensor_msgs.msg.Image ↔ 2/3-D np.array, similar to the function of cv_bridge, but without the dependency on cv2
  • nav_msgs.msg.OccupancyGridnp.ma.array
  • geometry.msg.Vector3 ↔ 1-D np.array. hom=True gives [x, y, z, 0]
  • geometry.msg.Point ↔ 1-D np.array. hom=True gives [x, y, z, 1]
  • geometry.msg.Quaternion ↔ 1-D np.array, [x, y, z, w]
  • geometry.msg.Transform ↔ 4×4 np.array, the homogeneous transformation matrix
  • geometry.msg.Pose ↔ 4×4 np.array, the homogeneous transformation matrix from the origin

Support for more types can be added with:

@ros_numpy.converts_to_numpy(SomeMessageClass)
def convert(my_msg):
    return np.array(...)

@ros_numpy.converts_from_numpy(SomeMessageClass)
def convert(my_array):
    return SomeMessageClass(...)

Any extra args or kwargs to numpify or msgify will be forwarded to your conversion function

Future work

  • Add simple conversions for:

    • geometry_msgs.msg.Inertia
CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros_numpy at Robotics Stack Exchange