ros_numpy package from ros_numpy repo

ros_numpy

Package Summary

Tags No category tags.
Version 0.0.2
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 2019-03-29
Dev Status DEVELOPED
Released RELEASED

Package Description

A collection of conversion function for extracting numpy arrays from messages

Additional Links

Maintainers

  • Eric Wieser

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

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

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 answers.ros.org

ros_numpy package from ros_numpy repo

ros_numpy

Package Summary

Tags No category tags.
Version 0.0.2
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 2019-03-29
Dev Status DEVELOPED
Released RELEASED

Package Description

A collection of conversion function for extracting numpy arrays from messages

Additional Links

Maintainers

  • Eric Wieser

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

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

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 answers.ros.org

ros_numpy package from ros_numpy repo

ros_numpy

Package Summary

Tags No category tags.
Version 0.0.2
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 2019-03-29
Dev Status DEVELOPED
Released RELEASED

Package Description

A collection of conversion function for extracting numpy arrays from messages

Additional Links

Maintainers

  • Eric Wieser

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

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

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 answers.ros.org