Skip to content

OROCOS components for communicating with KUKA LWR through FRI.

Notifications You must be signed in to change notification settings

kuka-isir/lwr_hardware

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 

Repository files navigation

Kuka LWR FRI interface

This package implements two orocos components for communicating with the Kuka LWR through the Fast Research Interface (FRI). One component is used to read diagnostics messages from the robot, when the onther one serves status/command data.

You can compile it for gnulinux or xenomai+rtnet targets if you want 1Khz hard-realtime communication.

Usage (ops script)

Start LWR FRI component
import("rtt_ros")
ros.import("lwr_fri")
loadComponent("lwr","lwr_fri::FRIComponent")
setActivity("lwr",0,99,ORO_SCHED_RT)
# Period is zero because the components does a blocking wait on the network = it goes as fast as the FRISTART() 
lwr.configure()
lwr.start()
Start diagnostics component
import("rtt_ros")
ros.import("lwr_fri")
loadComponent("diagnostics","FRIDiagnostics")
setActivity("diagnostics",0.02,99,ORO_SCHED_OTHER)
// We suppose lwr is launched already
connect("lwr","diagnostics")
diagnostics.configure()
diagnostics.start()

Ports available

Commands

  • CartesianImpedanceCommand (InputPort, lwr_fri::CartesianImpedance)
  • CartesianWrenchCommand (InputPort, geometry_msgs::Wrench)
  • CartesianPositionCommand (InputPort, geometry_msgs::Pose)
  • JointImpedanceCommand (InputPort, lwr_fri::FriJointImpedance)
  • JointPositionCommand (InputPort, Eigen::VectorXd)
  • JointTorqueCommand (InputPort, Eigen::VectorXd)

Status

  • CartesianWrench (OutputPort, geometry_msgs::Wrench)
  • JointVelocity (OutputPort, Eigen::VectorXd)
  • CartesianVelocity (OutputPort, geometry_msgs::Twist)
  • CartesianPosition (OutputPort, geometry_msgs::Pose)
  • MassMatrix (OutputPort, Eigen::MatrixXd)
  • Jacobian (OutputPort, KDL::Jacobian)
  • JointTorque (OutputPort, Eigen::VectorXd)
  • GravityTorque (OutputPort, Eigen::VectorXd)
  • JointPosition (OutputPort, Eigen::VectorXd)
  • JointTorqueRaw (OutputPort, Eigen::VectorXd)
  • JointPositionFRIOffset (OutputPort, Eigen::VectorXd)

Others

  • toKRL (InputPort, tFriKrlData)
  • fromKRL (OutputPort, tFriKrlData)
  • RobotState (OutputPort, tFriRobotState)
  • FRIState (OutputPort, tFriIntfState)

Use it in other packages

Add in you package.xml :

<build_depend>kuka_lwr_fri</build_depend>
<build_depend>lwr_fri</build_depend>
<run_depend>lwr_fri</run_depend>

About

OROCOS components for communicating with KUKA LWR through FRI.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 49.1%
  • CMake 25.6%
  • C 25.3%