Only released in EOL distros:  

katana_driver: katana | katana_arm_gazebo | katana_description | katana_gazebo_plugins | katana_moveit_ikfast_plugin | katana_msgs | katana_teleop | katana_tutorials | kni

Package Summary

This package provides ROS interfaces to the Neuronics Katana 450 arm. It wraps the KNI library for low-level communication with the Katana arm.

katana_driver: katana | katana_arm_gazebo | katana_description | katana_gazebo_plugins | katana_moveit_ikfast_plugin | katana_msgs | katana_teleop | katana_tutorials | kni

Package Summary

This package provides ROS interfaces to the Neuronics Katana 450 arm. It wraps the KNI library for low-level communication with the Katana arm.

katana_driver: katana | katana_arm_gazebo | katana_description | katana_gazebo_plugins | katana_moveit_ikfast_plugin | katana_msgs | katana_teleop | katana_tutorials | kni

Package Summary

This package provides ROS interfaces to the Neuronics Katana 450 arm. It wraps the KNI library for low-level communication with the Katana arm.

katana_driver: katana | katana_arm_gazebo | katana_description | katana_gazebo_plugins | katana_moveit_ikfast_plugin | katana_msgs | katana_teleop | katana_tutorials | kni

Package Summary

This package provides ROS interfaces to the Neuronics Katana 450 arm. It wraps the KNI library for low-level communication with the Katana arm.

katana_driver: katana | katana_arm_gazebo | katana_description | katana_gazebo_plugins | katana_moveit_ikfast_plugin | katana_msgs | katana_teleop | katana_tutorials | kni

Package Summary

This package provides ROS interfaces to the Neuronics Katana 450 arm. It wraps the KNI library for low-level communication with the Katana arm.

ROS API

This package provides the katana ROS node, which provides four sets of functionality at once: the joint_state_publisher, the joint_movement_controller, the joint_trajectory_action_controller and the gripper_grasp_controller. They are combined into one single node for technical reasons (only one single process can access the Katana), but documented separately below for clarity.

Also there is a second node in this package, called katana_arm_kinematics, documented at the end.

katana node: general parameters

Services

switch_motors_off (std_srvs/Empty)
  • Switch all motors off. WARNING: If the arm is unsupported, it will fall down!
switch_motors_on (std_srvs/Empty)
  • Switch all motors back on (motors are on by default).
test_speed (std_srvs/Empty)
  • Service to test the maximum speed of all joints. Only needed when porting the stack to a new Katana arm.

Parameters

~simulation (bool, default: false)
  • Poor man's simulation for debugging purposes. If set to true, the node will not try to contact the real Katana arm, but instead "simulate" the effects of sending trajectories and so on. For real simulation, see the katana_arm_gazebo package.
katana_joints (Array of strings, default: Required)
  • List of joints that this node will be commanding.
katana_gripper_joints (Array of strings, default: Required)
  • List of commanded joints belonging to the gripper.
robot_description (String, default: Required)
  • The URDF description of the Katana arm.
~use_serial (bool, default: false)
  • If set to true, use a serial port to connect to the Katana arm, otherwise use a TCP/IP connection.
~ip (String, default: "192.168.1.1")
  • If using TCP/IP: The IP on which the Katana arm is listening.
~port (int, default: 5566)
  • If using TCP/IP: The port on which the Katana arm is listening.
~serial_port (int, default: 0)
  • If using serial: The serial port number on which the Katana arm is listening (e.g., if the Katana listens on /dev/ttyUSB3, set ~serial_port = 3). Allowed values: 0-9.
~config_file_path (String, default: Required)
  • The path to the correct config file for the Katana arm. Warning! Make sure to use the correct config file for your arm, otherwise you risk breaking your hardware!
katana_type (string, default: Required)
  • Currently one of katana_300_6m180, katana_400_6m180, katana_450_6m90a, katana_450_6m90b.

joint_state_publisher

Published Topics

joint_states (sensor_msgs/JointState)
  • The measured position, velocity and effort of each joint.

joint_movement_action_controller

This module provides the functionality of adressing a single joint or multiple joints at once via an action interface.

Action Goal

katana_arm_controller/joint_movement_action/goal (katana_msgs/JointMovementActionGoal)
  • The goal specifies which joints shall be moved to which positions.

Action Result

katana_arm_controller/joint_movement_action/result (katana_msgs/JointMovementActionResult)
  • empty

Action Feedback

katana_arm_controller/joint_movement_action/feedback (katana_msgs/JointMovementActionGoal)
  • empty

joint_trajectory_action_controller

This module provides the functionality of both the joint_trajectory_action (via the action interface) and the JointSplineTrajectoryController (via the command and state topics and the query_state service).

Action Goal

katana_arm_controller/joint_trajectory_action/goal (pr2_controllers_msgs/JointTrajectoryActionGoal)
  • The goal describes the trajectory for the robot to follow.

Action Result

katana_arm_controller/joint_trajectory_action/result (pr2_controllers_msgs/JointTrajectoryActionResult)
  • empty

Action Feedback

katana_arm_controller/joint_trajectory_action/feedback (pr2_controllers_msgs/JointTrajectoryActionFeedback)
  • empty

Subscribed Topics

katana_arm_controller/command (trajectory_msgs/JointTrajectory)
  • The trajectory to follow. The absolute start time of the trajectory is given in header.stamp. The behavior differs from that of the JointSplineTrajectoryController: Accelerations are always ignored. If positions and velocities are specified, then the controller will interpolate using cubic splines, keeping the desired velocities. If only positions are specified, it will also interpolate using cubic splines, computing the necessary velocities.

Published Topics

katana_arm_controller/state (pr2_controllers_msgs/JointTrajectoryControllerState)
  • Current state of the controller, including the current and desired positions, velocities, and accelerations.

Services

query_state (pr2_controllers_msgs/QueryTrajectoryState)
  • The query_state service allows the user to inquire where the controller setpoint will be at a desired time.

Parameters

joint_trajectory_action_node/constraints/<joint>/goal (double, default: 0.02)
  • The maximum final error for <joint> for the trajectory goal to be considered successful. Negative numbers indicate that there is no constraint. Given in radians. If this constraint is violated, the goal is aborted.
joint_trajectory_action_node/constraints/stopped_velocity_tolerance (double, default: 1e-6)
  • The maximum velocity at the end of the trajectory for the joint to be considered stopped, given in radians. If this constraint is satisfied, the goal is successful.

gripper_grasp_controller

This module is the very similar to the pr2_gripper_grasp_controller.

Action Goal

posture_action_name/goal (object_manipulation_msgs/GraspHandPostureExecutionActionGoal)
  • Enables one to open or close the gripper via the GRASP or RELEASE command or to move the gripper to a arbitrary position choosing the PRE-GRASP option.

Action Result

posture_action_name/result (object_manipulation_msgs/GraspHandPostureExecutionActionResult)
  • Result of the manipulation task.

Services

grasp_query_name (object_manipulation_msgs/GraspStatus)
  • Asks if a grasp is currently active. Used to query if the object is still detected as present in the hand, using joint angles.

Parameters

~gripper_object_presence_threshold (double, default: -0.43)
  • A joint angle below this value indicates there is nothing inside the gripper.

katana_arm_kinematics

This node implements forward and inverse kinematics services. They are implemented using the kni library.

Services

get_kinematic_solver_info (kinematics_msgs/GetKinematicSolverInfo)
  • Kinematic solver info.
get_fk (kinematics_msgs/GetPositionFK)
  • Forward kinematics service.
get_ik (kinematics_msgs/GetPositionIK)
  • Inverse kinematics service.

Parameters

~config_file_path (String, default: ros::package::getPath("kni") + "/KNI_4.3.0/configfiles450/katana6M90A_G.cfg")
  • The path to the correct config file for the Katana arm.
robot_description (String, default: Required)
  • The URDF description of the Katana arm.
katana_joints (Array of strings, default: Required)
  • List of joints that this node will compute kinematics for.

Wiki: katana (last edited 2012-11-11 11:52:12 by MartinGuenther)