Drake
drake::examples::kuka_iiwa_arm Namespace Reference

Namespaces

 box_rotation
 
 monolithic_pick_and_place
 
 pick_and_place
 

Classes

class  IiwaAndWsgPlantWithStateEstimator
 A custom systems::Diagram composed of a systems::RigidBodyPlant, a systems::controllers::InverseDynamicsController, and a number of OracularStateEstimation systems. More...
 
class  IiwaCommandReceiver
 Handles lcmt_iiwa_command messages from a LcmSubscriberSystem. More...
 
class  IiwaCommandSender
 Creates and outputs lcmt_iiwa_command messages. More...
 
class  IiwaStatusReceiver
 Handles lcmt_iiwa_status messages from a LcmSubscriberSystem. More...
 
class  IiwaStatusSender
 Creates and outputs lcmt_iiwa_status messages. More...
 
class  LcmPlanInterpolator
 
class  OracularStateEstimation
 A System block that takes state vector and output a bot_core::robot_state_t message. More...
 

Functions

VectorX< doubleget_iiwa_max_joint_velocities ()
 Returns the maximum joint velocities provided by Kuka. More...
 
template<typename T >
Matrix6< TComputeLumpedGripperInertiaInEndEffectorFrame (const RigidBodyTree< T > &world_tree, int iiwa_instance, const std::string &end_effector_link_name, int wsg_instance)
 Computes the lumped inertia parameters of the gripper and the end effector link expressed in the end effector frame. More...
 
void VerifyIiwaTree (const RigidBodyTree< double > &tree)
 Verifies that tree matches assumptions about joint indices. More...
 
void CreateTreedFromFixedModelAtPose (const std::string &model_file_name, RigidBodyTreed *tree, const Vector3d &position, const Vector3d &orientation)
 
void SetPositionControlledIiwaGains (Eigen::VectorXd *Kp, Eigen::VectorXd *Ki, Eigen::VectorXd *Kd)
 Used to set the feedback gains for the simulated position controlled KUKA. More...
 
void ApplyJointVelocityLimits (const MatrixX< double > &keyframes, std::vector< double > *time)
 Scales a plan so that no step exceeds the robot's maximum joint velocities. More...
 
robotlocomotion::robot_plan_t EncodeKeyFrames (const RigidBodyTree< double > &robot, const std::vector< double > &time, const std::vector< int > &info, const MatrixX< double > &keyframes)
 Makes a robotlocomotion::robot_plan_t message. More...
 
robotlocomotion::robot_plan_t EncodeKeyFrames (const std::vector< std::string > &joint_names, const std::vector< double > &time, const std::vector< int > &info, const MatrixX< double > &keyframes)
 Makes a robotlocomotion::robot_plan_t message. More...
 
void CreateTreedFromFixedModelAtPose (const std::string &model_file_name, RigidBodyTreed *tree, const Eigen::Vector3d &position=Eigen::Vector3d::Zero(), const Eigen::Vector3d &orientation=Eigen::Vector3d::Zero())
 Builds a RigidBodyTree at the specified and from the model specified by . More...
 
 GTEST_TEST (IiwaLcmTest, IiwaCommandReceiverTest)
 
 GTEST_TEST (IiwaLcmTest, IiwaCommandSenderTest)
 
 GTEST_TEST (IiwaLcmTest, IiwaStatusReceiverTest)
 
 GTEST_TEST (IiwaLcmTest, IiwaStatusSenderTest)
 

Variables

constexpr int kIiwaArmNumJoints = 7
 
const double kIiwaLcmStatusPeriod = 0.005
 
static const int kNumJoints = 7
 

Function Documentation

void ApplyJointVelocityLimits ( const MatrixX< double > &  keyframes,
std::vector< double > *  time 
)

Scales a plan so that no step exceeds the robot's maximum joint velocities.

The number of columns in keyframes must match the size of time. Times must be in strictly increasing order.

See also
get_iiwa_max_joint_velocities

Here is the call graph for this function:

Here is the caller graph for this function:

Matrix6< T > ComputeLumpedGripperInertiaInEndEffectorFrame ( const RigidBodyTree< T > &  world_tree,
int  iiwa_instance,
const std::string &  end_effector_link_name,
int  wsg_instance 
)

Computes the lumped inertia parameters of the gripper and the end effector link expressed in the end effector frame.

Parameters
world_treeThe RigidBodyTree that contains the arm and the gripper models.
iiwa_instanceIdentifier for the arm in world_tree.
end_effector_link_nameLink name of the end effector.
wsg_instanceIdentifier for the gripper in world_tree.
Returns
Lumped inertia parameters.

Here is the call graph for this function:

Here is the caller graph for this function:

void drake::examples::kuka_iiwa_arm::CreateTreedFromFixedModelAtPose ( const std::string &  model_file_name,
RigidBodyTreed tree,
const Eigen::Vector3d &  position = Eigen::Vector3d::Zero(),
const Eigen::Vector3d &  orientation = Eigen::Vector3d::Zero() 
)

Builds a RigidBodyTree at the specified and from the model specified by .

This method is a convinience wrapper over AddModelInstanceFromUrdfFile.

See also
drake::parsers::urdf::AddModelInstanceFromUrdfFile
void drake::examples::kuka_iiwa_arm::CreateTreedFromFixedModelAtPose ( const std::string &  model_file_name,
RigidBodyTreed tree,
const Vector3d &  position,
const Vector3d &  orientation 
)

Here is the call graph for this function:

robotlocomotion::robot_plan_t EncodeKeyFrames ( const RigidBodyTree< double > &  robot,
const std::vector< double > &  time,
const std::vector< int > &  info,
const MatrixX< double > &  keyframes 
)

Makes a robotlocomotion::robot_plan_t message.

The number of columns in keyframes must match the size of time. Times must be in strictly increasing order.

Here is the call graph for this function:

Here is the caller graph for this function:

robotlocomotion::robot_plan_t EncodeKeyFrames ( const std::vector< std::string > &  joint_names,
const std::vector< double > &  time,
const std::vector< int > &  info,
const MatrixX< double > &  keyframes 
)

Makes a robotlocomotion::robot_plan_t message.

The number of rows in keyframes must match the size of joint_names. The number of columns in keyframes must match the size of time. Times must be in strictly increasing order.

Encode the q_sol returned for each timestep into the vector of robot states.

VectorX< double > get_iiwa_max_joint_velocities ( )

Returns the maximum joint velocities provided by Kuka.

Returns
Maximum joint velocities (rad/s).

Here is the caller graph for this function:

drake::examples::kuka_iiwa_arm::GTEST_TEST ( IiwaLcmTest  ,
IiwaCommandReceiverTest   
)

Here is the call graph for this function:

drake::examples::kuka_iiwa_arm::GTEST_TEST ( IiwaLcmTest  ,
IiwaCommandSenderTest   
)

Here is the call graph for this function:

drake::examples::kuka_iiwa_arm::GTEST_TEST ( IiwaLcmTest  ,
IiwaStatusReceiverTest   
)

Here is the call graph for this function:

drake::examples::kuka_iiwa_arm::GTEST_TEST ( IiwaLcmTest  ,
IiwaStatusSenderTest   
)

Here is the call graph for this function:

void SetPositionControlledIiwaGains ( Eigen::VectorXd *  Kp,
Eigen::VectorXd *  Ki,
Eigen::VectorXd *  Kd 
)

Used to set the feedback gains for the simulated position controlled KUKA.

Here is the call graph for this function:

Here is the caller graph for this function:

void VerifyIiwaTree ( const RigidBodyTree< double > &  tree)

Verifies that tree matches assumptions about joint indices.

Aborts if the tree isn't as expected.

Here is the call graph for this function:

Variable Documentation

constexpr int kIiwaArmNumJoints = 7
const double kIiwaLcmStatusPeriod = 0.005
const int kNumJoints = 7
static