ROS driver for the Kuka R850 industrial arm.
This stack comprises of three packages:
This is the main driver node. It provides a server that Kuka robot control box connects to using the Kuka XML protocol.
Parameters: kuka_description: The URDF of the Kuka arm.
Subscriptions: "/kuka/softstop": std_msgs/Bool - stops any active trajectory if anything is published on this topic.
Publishes: "/kuka_state": sensor_msgs/JointState - The joint positions and currents.
Services/Actions: "/kuka/set_trajectory" : kuka_node/SetTrajectory - service that sets the queue of target joint positions. Provides no feedback as to the state of the trajectory.
"/kuka/execute_trajectory" : kuka_node/ExecuteTrajectory - action server that sets the target joint states to execute given trajectory and publishes feedback messages about the percentage completed. Can be preempted.
Both above trajectory methods work on trajectory_msgs/JointTrajectory messages. A trajectory of a single point results in the arm taking a straight line in joint space to that point, only the trajectory_msgs/JointTrajectoryPoint.points.positions[] is considered, velocity control is not implemented.
This node provides a simulation of the kuka arm communication. It connects to the kuka_node server and communicates in the same way as the real arm. Commanded positions are "simulated" with zero error.
provides a single launch file "kuka.launch" that starts a kuka_node and a robot_state_publisher. Once launched, either the real Kuka arm can be started or the kuka_sim node.