https://github.com/Achllle/dual_quaternions_ros
Dual Quaternion conversions from/to ROS messages
https://github.com/Achllle/dual_quaternions_ros
Last synced: 26 days ago
JSON representation
Dual Quaternion conversions from/to ROS messages
- Host: GitHub
- URL: https://github.com/Achllle/dual_quaternions_ros
- Owner: Achllle
- License: mit
- Created: 2018-12-10T22:14:27.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-08-14T09:50:10.000Z (over 4 years ago)
- Last Synced: 2024-10-16T08:19:52.743Z (6 months ago)
- Language: Python
- Homepage:
- Size: 3.97 MB
- Stars: 31
- Watchers: 4
- Forks: 7
- Open Issues: 8
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- License: LICENSE
Awesome Lists containing this project
- awesome-robotic-tooling - dual quaternions ros - ROS python package for dual quaternion SLERP. (Planning and Control / Vector Map)
README
Dual Quaternions ROS
====================|travis| |tags|
.. |travis| image:: https://travis-ci.com/Achllle/dual_quaternions_ros.svg?branch=master
:target: https://travis-ci.com/Achllle/dual_quaternions_ros.. |tags| image:: https://img.shields.io/github/v/tag/achllle/dual_quaternions_ros
:alt: GitHub tag (latest SemVer)
:target: https://GitHub.com/Achllle/dual_quaternions_ros/tags/Simple conversion methods for going from ROS `geometry_msgs` to dual quaternions and vice versa.
For the dual_quaternions repo, see `dual_quaternions `__.Installation
------------pip
~~~.. code-block:: bash
pip install dual_quaternions
ROS1 package
~~~~~~~~~~~.. code-block:: bash
apt install ros-$ROS_DISTRO-dual-quaternions-ros
Requirements
~~~~~~~~~~~~* dual_quaternions
* geometry_msgsUsage
-----Import using::
from dual_quaternions_ros import from_ros, to_ros_pose, to_ros_transform
NOTE: there is no concept of 'from' and 'to' as frame names aren't tracked or used (e.g. use of Pose iso PoseStamped).
It is up to the user to keep track of those to avoid picking a convention (active vs. passive)Publishing and getting transforms from tf
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~This package purposefully doesn't have methods to receive and publish transforms to tf. Instead, it supports converting
transforms to various ROS messages so you can use the standard way of interfacing: ::br = tf2_ros.TransformBroadcaster()
T_odom_baselink = DualQuaternion(...)
msg = geometry_msgs.msg.TransformStamped()
msg.transform = T_odom_baselink.to_ros_transform
msg.header.frame_id = 'odom'
msg.child_frame_id = 'base_link'
br.sendTransform(msg)