-
Notifications
You must be signed in to change notification settings - Fork 13
Home
Every student is invited to provide input for the next generation!
Clone the repository and simply got to the CaDS_RMI_Example folder. Then start the following applications:
- Start the NameServer by:
bash startNameServer.sh
- Start the Provider (Robotic Arm Simulation) by:
bash startProvider.sh
- Start the Consumer (Control GUI) by:
bash startConsumer.sh
For an initial impression of the api usage, check out the api examples in the Robotic Arm API Examples folder.
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.
- Simulation
ICaDSRoboticArm roboticArm = new CaDSRoboticArmSimulation();
- Real
ICaDSRoboticArm roboticArm = new CaDSRoboticArmReal(roboticArmHostAddress, roboticArmHostPort);
In order to use the provided Control GUI two interfaces have to be implemented.
- ICaDSRoboticArmControlGUIRefresh via this interface the Control GUI is getting the correct percentages to display them.
- 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();
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);.