Laser Scanner Trajectory Controller

Introduction

This controller allows you to send periodic/repeating command to the tilting laser on the PR2

ROS API

Parameters

joint (string, default: Required)
  • The joint to control
gains/p (double, default: Required)
  • The position gain
gains/d (double, default: 0.0)
  • The position derivative gain
gains/i (double, default: 0.0)
  • The integral gain around position
gains/i_clamp (double, default: 0.0)
  • The clamp of the integral gain
velocity_filter (Filter Chain, default: Required)
  • namespace defining a filter chain acting on the measured velocity. Refer to Filter Chain for more details
max_velocity (double, default: Required)
  • Maximum allowed velocity/rate for a trajectory that this controller generates (in rad/sec)
max_acceleration (double, default: Required)
  • Maximum allowed acceleration for a trajectory that this controller generates (in rad/sec^2)

Example Configuration:

laser_tilt_controller:
  type: LaserScannerTrajController
  joint: laser_tilt_mount_joint
  gains:
    p: 8.0
    i: 0.1
    d: 0.2
    i_clamp: 0.5
  velocity_filter:
    - name: low_pass
      type: TransferFunctionFilterDouble
      params:
        a: [1.0, -0.1]
        b: [0.9]
  max_velocity:    100
  max_acceleration: 30

Published Topics

<name>/laser_scanner_signal (pr2_msgs/LaserScannerSignal)
  • The index of the last completed trajectory segment. Useful for aggregating laser scans

Subscribed Topics

<name>/set_periodic_cmd (pr2_msgs/PeriodicCmd)
  • Sets the periodic trajectory using periodic parameters like period, amplitude, and offset
<name>/set_traj_cmd (pr2_msgs/LaserTrajCmd)
  • Sets the periodic trajectory by explicitly setting trajectory waypoints

Services

<name>/set_periodic_cmd (pr2_msgs/SetPeriodicCmd)
  • Sets the periodic trajectory using periodic parameters (period, amplitude, and offset)
<name>/set_traj_cmd (pr2_msgs/SetLaserTrajCmd)
  • Sets the periodic trajectory by explicitly setting trajectory waypoints (position & time pairs)

Usage example

rosservice call laser_tilt_controller/set_periodic_cmd '{ command: { header: { stamp: 0 }, profile: "linear" , period: 3 , amplitude: 1 , offset: 0 }}'

Wiki: pr2_mechanism_controllers/LaserScannerTrajController (last edited 2010-05-18 22:35:14 by hsu)