Skip to content
Hauke Buhr edited this page Mar 25, 2019 · 31 revisions

CaDS Practical Exam VS Version 2.0

Every student is invited to provide input for the next generation!

Possible Solution Demonstration

IMAGE ALT TEXT HERE

How To Start the RMI_Examples.

Clone the repository and simply got to the CaDS_RMI_Example folder. Then start the following applications:

  1. Start the NameServer by:
bash startNameServer.sh
  1. Start the Provider (Robotic Arm Simulation) by:
bash startProvider.sh
  1. Start the Consumer (Control GUI) by:
bash startConsumer.sh

Get Started with the Control GUI and the Robotic Arm HAL

For an initial impression of the api usage, check out the api examples in the Robotic Arm API Examples folder. In those examples a RoboticArmInterface and a ControlGui are used. Those Jars are provided in the folder CaDSPracticalExamVS⁩/⁨VSEclipseExampleProject/⁨resources⁩/libs. Further the JavaDoc is included for better understanding and can be found in CaDSPracticalExamVS⁩/⁨VSEclipseExampleProject/⁨resources⁩/javadoc.

Robotic Arm HAL

The Robotic Arm is abstracted by an interface called ICaDSRoboticArm. That interface is implemented by two different classes: CaDSRoboticArmReal and CaDSRoboticArmSimulation. Whereby the simulation and real version has to be used accordingly to the desired outcome.

  1. Simulation
ICaDSRoboticArm roboticArm = new CaDSRoboticArmSimulation();
  1. Real
ICaDSRoboticArm roboticArm = new CaDSRoboticArmReal(roboticArmHostAddress, roboticArmHostPort);

Control GUI

In order to use the provided Control GUI two interfaces have to be implemented.

  1. ICaDSRoboticArmControlGUIRefresh via this interface the Control GUI is getting the correct percentages to display them.
  2. ICaDSRoboticArmControlGUIOutput via this interface the output of the control elements of the Control GUI are provided to the user.

The control GUI (CaDSRoboticArmControlGUI) itself implements the interface ICaDSRoboticArmControlGUIManipulator. That interface can be used to manipulate the Control GUI. For example some more Robotic Arm Services can be added and also removed.

ICaDSRoboticArmControlGUIManipulator gui = new CaDSRoboticArmControlGUI(controlGUIRefresh, controlGUIOutput);

To start the refresh routine of the CaDSRoboticArmControlGUI use the following command:

gui.startGUIRefresh(refreshRate);

refreshRate is provided in ms and has to be higher then 99 ms. If you want to stop the refresh routine call:

gui.stopGUIRefresh();

IDL Parser

The assignment you have to pass is asking for a code generator using an IDL parser. An IDL parser example is now provided and uses plain texts which are filled via String.format(format, args);.

Clone this wiki locally