incrementer_server

This file is ai generated. Do not edit this file directly. Instead, edit the node source code and run the generate-node-docs command to update this file.

Description

The incrementer_server node provides an action server that increments joint positions by a specified amount. It listens to the current joint controller state, adds the requested increment to the current positions, and publishes the new joint trajectory goal. This is useful for incremental joint control using joystick or other teleoperation interfaces.

Subscribers

Topic

Type

Description

controller_state

control_msgs/msg/JointTrajectoryControllerState

Receives the current state of the joint trajectory controller including current joint positions

Publishers

Topic

Type

Description

joint_trajectory

trajectory_msgs/msg/JointTrajectory

Publishes joint trajectory commands with incremented positions

Actions

Action

Type

Description

increment

teleop_tools_msgs/action/Increment

Action server that accepts increment values for each joint and sends the incremented trajectory

Parameters

The node runs in the joint_trajectory_controller namespace by default and does not have configurable parameters.

Example Usage

Basic Launch

ros2 run joy_teleop incrementer_server

Launch with Custom Namespace

ros2 run joy_teleop incrementer_server --ros-args -r __ns:=/custom_controller

Send Increment Action Goal

# Using ros2 action command-line tool
ros2 action send_goal /joint_trajectory_controller/increment teleop_tools_msgs/action/Increment "{increment_by: [0.1, 0.0, -0.1, 0.0, 0.0, 0.0]}"

Example Launch File

from launch import LaunchDescription
from launch_ros.actions import Node

def generate_launch_description():
    return LaunchDescription([
        Node(
            package='joy_teleop',
            executable='incrementer_server',
            name='incrementer',
            namespace='torso_controller',
            output='screen'
        )
    ])

Integration with joy_teleop

joy_teleop:
  ros__parameters:
    increment_joint:
      type: action
      interface_type: teleop_tools_msgs/action/Increment
      action_name: /joint_trajectory_controller/increment
      buttons: [5]
      action_goal:
        increment_by:
          - 0.1
          - 0.0
          - 0.0
          - 0.0
          - 0.0
          - 0.0

Notes

  • The node waits for a valid controller state message before processing increment requests

  • The increment values array should match the number of joints in the controller

  • The trajectory point uses a 0.1 second duration from start by default

  • The node automatically determines joint names from the controller state

  • Typically used in conjunction with joy_teleop for joystick-based joint control