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
- The position gain
- The position derivative gain
- The integral gain around position
- The clamp of the integral gain
- namespace defining a filter chain acting on the measured velocity. Refer to Filter Chain for more details
- Maximum allowed velocity/rate for a trajectory that this controller generates (in rad/sec)
- 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
- 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)
- 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 }}'