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.
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
↔ structurednp.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-Dnp.array
, similar to the function ofcv_bridge
, but without the dependency oncv2
-
nav_msgs.msg.OccupancyGrid
↔np.ma.array
-
geometry.msg.Vector3
↔ 1-Dnp.array
.hom=True
gives[x, y, z, 0]
-
geometry.msg.Point
↔ 1-Dnp.array
.hom=True
gives[x, y, z, 1]
-
geometry.msg.Quaternion
↔ 1-Dnp.array
,[x, y, z, w]
-
geometry.msg.Transform
↔ 4×4np.array
, the homogeneous transformation matrix -
geometry.msg.Pose
↔ 4×4np.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.
Package Dependencies
Deps | Name |
---|---|
catkin | |
rospy | |
sensor_msgs | |
nav_msgs | |
geometry_msgs | |
tf |
System Dependencies
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.
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
↔ structurednp.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-Dnp.array
, similar to the function ofcv_bridge
, but without the dependency oncv2
-
nav_msgs.msg.OccupancyGrid
↔np.ma.array
-
geometry.msg.Vector3
↔ 1-Dnp.array
.hom=True
gives[x, y, z, 0]
-
geometry.msg.Point
↔ 1-Dnp.array
.hom=True
gives[x, y, z, 1]
-
geometry.msg.Quaternion
↔ 1-Dnp.array
,[x, y, z, w]
-
geometry.msg.Transform
↔ 4×4np.array
, the homogeneous transformation matrix -
geometry.msg.Pose
↔ 4×4np.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.
Package Dependencies
Deps | Name |
---|---|
catkin | |
rospy | |
sensor_msgs | |
nav_msgs | |
geometry_msgs | |
tf |
System Dependencies
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.