Skip to content

Commit

Permalink
wiki, format
Browse files Browse the repository at this point in the history
  • Loading branch information
krmihaly committed Oct 22, 2024
1 parent 7c71b59 commit cae6ee2
Show file tree
Hide file tree
Showing 35 changed files with 556 additions and 559 deletions.
2 changes: 1 addition & 1 deletion doc/wiki/3_Sunrise_FRI.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#### Client side
- It is recommended to use the driver on a real-time capable client machine (further information about setting up the PREEMPT_RT patch can be found [here](https://github.com/kroshu/kuka_drivers/wiki/5_Realtime)).
- Set a fixed IP in the subnet of the controller for the real-time machine.

- If you are using FRI version 1.15 set the `WITH_FRI_VERSION_2_5` parameter in the `CMakeLists.txt` to `OFF`
#### Controller side

- Upload the robot application under `robot_application/src` to the controller using Sunrise Workbench
Expand Down
3 changes: 2 additions & 1 deletion doc/wiki/Home.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,9 +83,10 @@ The following table shows the supported features and control modes of each drive
|OS | Joint position control | Joint impedance control | Joint velocity control | Joint torque control | Cartesian position control | Cartesian impedance control | Cartesian velocity control | Wrench control| I/O control|
|---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
|KSS||||| |||| |
|Sunrise|||||| ||| |
|Sunrise|||||* |* ||| |
|iiQKA||||||||||

\*=Only supported with Sunrise 2.4 and FRI 2.5

## Additional packages
The repository contains a few other packages aside from the 3 drivers:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,16 @@ code, libraries, binaries, manuals and technical documentation.
COPYRIGHT
All Rights Reserved
Copyright (C) 2014-2021
Copyright (C) 2014-2021
KUKA Deutschland GmbH
Augsburg, Germany
LICENSE
LICENSE
Redistribution and use of the software in source and binary forms, with or
without modification, are permitted provided that the following conditions are
met:
a) The software is used in conjunction with KUKA products only.
a) The software is used in conjunction with KUKA products only.
b) Redistributions of source code must retain the above copyright notice, this
list of conditions and the disclaimer.
c) Redistributions in binary form must reproduce the above copyright notice,
Expand All @@ -40,14 +40,14 @@ DISCLAIMER OF WARRANTY
The Software is provided "AS IS" and "WITH ALL FAULTS," without warranty of
any kind, including without limitation the warranties of merchantability,
fitness for a particular purpose and non-infringement.
fitness for a particular purpose and non-infringement.
KUKA makes no warranty that the Software is free of defects or is suitable for
any particular purpose. In no event shall KUKA be responsible for loss or
damages arising from the installation or use of the Software, including but
not limited to any indirect, punitive, special, incidental or consequential
damages of any character including, without limitation, damages for loss of
goodwill, work stoppage, computer failure or malfunction, or any and all other
commercial damages or losses.
commercial damages or losses.
The entire risk to the quality and performance of the Software is not borne by
KUKA. Should the Software prove defective, KUKA is not liable for the entire
cost of any service and repair.
Expand Down Expand Up @@ -76,32 +76,32 @@ namespace FRI

/**
* \brief FRI client application class.
*
*
* A client application takes an instance of the IConnection interface and
* an instance of an IClient interface to provide the functionality
* needed to set up an FRI client application. It can be used to easily
* needed to set up an FRI client application. It can be used to easily
* integrate the FRI client code within other applications.
* The algorithmic functionality of an FRI client application is implemented
* using the IClient interface.
*/
class ClientApplication
{

public:

/**
* \brief Constructor without transformation client.
*
*
* This constructor takes an instance of the IConnection interface and
* an instance of the IClient interface as parameters.
* @param connection FRI connection class
* @param client FRI client class
*/
ClientApplication(IConnection& connection, IClient& client);

/**
* \brief Constructor with transformation client.
*
*
* This constructor takes an instance of the IConnection interface and
* an instance of the IClient interface and an instance of a
* TransformationClient as parameters.
Expand All @@ -113,33 +113,33 @@ namespace FRI

/** \brief Destructor. */
~ClientApplication();

/**
* \brief Connect the FRI client application with a KUKA Sunrise controller.
*
*
* @param port The port ID
* @param remoteHost The address of the remote host
* @return True if connection was established
*/
bool connect(int port, const char *remoteHost = NULL);

/**
* \brief Disconnect the FRI client application from a KUKA Sunrise controller.
*/
void disconnect();

/**
* \brief Run a single processing step.
*
*
* The processing step consists of receiving a new FRI monitoring message,
* calling the corresponding client callback and sending the resulting
* calling the corresponding client callback and sending the resulting
* FRI command message back to the KUKA Sunrise controller.
* @return True if all of the substeps succeeded.
*/
bool step();

protected:

IConnection& _connection; //!< connection interface
IClient* _robotClient; //!< robot client interface
TransformationClient* _trafoClient; //!< transformation client interface
Expand All @@ -152,4 +152,3 @@ namespace FRI


#endif // _KUKA_FRI_CLIENT_APPLICATION_H

Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,16 @@ code, libraries, binaries, manuals and technical documentation.
COPYRIGHT
All Rights Reserved
Copyright (C) 2014-2021
Copyright (C) 2014-2021
KUKA Deutschland GmbH
Augsburg, Germany
LICENSE
LICENSE
Redistribution and use of the software in source and binary forms, with or
without modification, are permitted provided that the following conditions are
met:
a) The software is used in conjunction with KUKA products only.
a) The software is used in conjunction with KUKA products only.
b) Redistributions of source code must retain the above copyright notice, this
list of conditions and the disclaimer.
c) Redistributions in binary form must reproduce the above copyright notice,
Expand All @@ -40,14 +40,14 @@ DISCLAIMER OF WARRANTY
The Software is provided "AS IS" and "WITH ALL FAULTS," without warranty of
any kind, including without limitation the warranties of merchantability,
fitness for a particular purpose and non-infringement.
fitness for a particular purpose and non-infringement.
KUKA makes no warranty that the Software is free of defects or is suitable for
any particular purpose. In no event shall KUKA be responsible for loss or
damages arising from the installation or use of the Software, including but
not limited to any indirect, punitive, special, incidental or consequential
damages of any character including, without limitation, damages for loss of
goodwill, work stoppage, computer failure or malfunction, or any and all other
commercial damages or losses.
commercial damages or losses.
The entire risk to the quality and performance of the Software is not borne by
KUKA. Should the Software prove defective, KUKA is not liable for the entire
cost of any service and repair.
Expand All @@ -71,7 +71,7 @@ namespace FRI

// forward declarations
struct ClientData;


/** \brief Enumeration of the FRI session state. */
enum ESessionState
Expand Down Expand Up @@ -116,7 +116,7 @@ namespace FRI
TRANSITIONING = 1, //!< drive is in a transitioning state (before or after motion)
ACTIVE = 2 //!< drive is being actively commanded
};

/** \brief Enumeration of control mode. */
enum EControlMode
{
Expand All @@ -125,84 +125,84 @@ namespace FRI
JOINT_IMP_CONTROL_MODE = 2, //!< joint impedance control mode
NO_CONTROL = 3 //!< drives are not used
};


/** \brief Enumeration of the client command mode. */
enum EClientCommandMode
{
NO_COMMAND_MODE = 0, //!< no client command mode available
JOINT_POSITION = 1, //!< commanding joint positions by the client
WRENCH = 2, //!< commanding wrenches and joint positions by the client
TORQUE = 3, //!< commanding joint torques and joint positions by the client
CARTESIAN_POSE = 4 //!< commanding Cartesian poses by the client
TORQUE = 3, //!< commanding joint torques and joint positions by the client
CARTESIAN_POSE = 4 //!< commanding Cartesian poses by the client
};

/** \brief Enumeration of the overlay type. */
enum EOverlayType
{
NO_OVERLAY = 0, //!< no overlay type available
JOINT = 1, //!< joint overlay
JOINT = 1, //!< joint overlay
CARTESIAN = 2 //!< cartesian overlay
};

/** \brief Enumeration of redundancy strategies. */
enum ERedundancyStrategy
{
E1 = 0, //!< E1 redundancy strategy
NO_STRATEGY = 4 //!< No redundancy strategy
};

/**
* \brief FRI client interface.
*
* This is the callback interface that should be implemented by FRI clients.
* \brief FRI client interface.
*
* This is the callback interface that should be implemented by FRI clients.
* Callbacks are automatically called by the client application
* (ClientApplication) whenever new FRI messages arrive.
*/
class IClient
{
friend class ClientApplication;

public:

/** \brief Virtual destructor. */
virtual ~IClient() {}
/**

/**
* \brief Callback that is called whenever the FRI session state changes.
*
*
* @param oldState previous FRI session state
* @param newState current FRI session state
*/
virtual void onStateChange(ESessionState oldState, ESessionState newState) = 0;

/**
* \brief Callback for the FRI session states 'Monitoring Wait' and 'Monitoring Ready'.
*/
virtual void monitor() = 0;

/**
* \brief Callback for the FRI session state 'Commanding Wait'.
*/
virtual void waitForCommand() = 0;

/**
* \brief Callback for the FRI session state 'Commanding'.
*/
virtual void command() = 0;

protected:

/**
* \brief Method to create and initialize the client data structure (used internally).
*
*
* @return newly allocated client data structure
*/
virtual ClientData* createData() = 0;


};

}
}

Expand Down
Loading

0 comments on commit cae6ee2

Please sign in to comment.