motion_stack.ros2 package
ROS2 specific API and nodes, for the motion stack core.
Links ROS2 systems and and the pure pyhton core. Timer, Messages, Publisher, Subscription … all of those ROS2 tools are created here then executes functions of the core.
ros2.base_node
Provides the API template to use the python core through ROS2 nodes.ros2.default_node
uses this API to make the default nodes.
Warning
Non-ROS2-related opertation must NOT be implemented here.
Subpackages
- motion_stack.ros2.base_node package
- motion_stack.ros2.default_node package
- motion_stack.ros2.ros2_asyncio package
- motion_stack.ros2.utils package
- Submodules
- motion_stack.ros2.utils.conversion module
- motion_stack.ros2.utils.executor module
- motion_stack.ros2.utils.files module
- motion_stack.ros2.utils.joint_state module
- motion_stack.ros2.utils.lazy_joint_state_publisher module
- motion_stack.ros2.utils.linking module
- motion_stack.ros2.utils.task module
Submodules
motion_stack.ros2.communication module
Holds ros2 communication interface data.
It provides the names, types and QoS of every interface – topics, services, actions – used by the motion stack.
No need to remember the right name with the right spelling, type, QoS
throughout your code. Simply import this and use
communication.lvl1.output.joint_state.name to get joint_read
The user can possibly change those settings (especially QoS) if he understands the implcations. By default the most unversal setting QoS is used.
- motion_stack.ros2.communication.limb_ns(limb_number)[source]
- Parameters:
limb_number – Number of the limb
- Returns:
Namespace of the limb.
- Return type:
str
- namedtuple motion_stack.ros2.communication.Interf(type, name, qos=<rclpy.qos.QoSProfile object>)[source]
Bases:
NamedTuple
Ros2 interface class with type and name
- Fields:
type (
Type
) – Alias for field number 0name (
str
) – Alias for field number 1qos (
QoSProfile
) – Alias for field number 2
- class motion_stack.ros2.communication.lvl1[source]
Bases:
object
- alive = (<class 'std_srvs.srv._empty.Empty'>, 'joint_alive', <rclpy.qos.QoSProfile object>)
Type:
Interf
- class motion_stack.ros2.communication.lvl2[source]
Bases:
object
- alive = (<class 'std_srvs.srv._empty.Empty'>, 'ik_alive', <rclpy.qos.QoSProfile object>)
Type:
Interf