|
|
# Design communication adapter
|
|
|
This page is designed to document the design choices made while developing the communication adapter.
|
|
|
|
|
|
## Necessities
|
|
|
* The resources folder contains a kind of weird file: `META-INF/services/org.opentcs.customizations.kernel.KernelInjectionModule`, this file contains the Name of the Module class that we developed. This file **has** to exist otherwise your adapter will not run in the kernel.
|
|
|
|
|
|
*MoveITVehicleCommAdapter.java*
|
|
|
* This adapter connects with the robot. In order to connect with the robot, you have to go to OpenTCS Plantoverview and add two key value pairs at the Miscellaneous property of your robot. One has to be the key host with the IP-address of the robot and the second one has to be the key port with the port of the robot. If you connect a robot to OpenTCS it will search for those key value pairs, if it does not find them the robot is not able to be connected to OpenTCS.
|
|
|
* Every point in OpenTCS has to have a x and y value. These values are sent to the robot so it is able to travel to those coordinates.
|
|
|
|
|
|
## Design choices
|
|
|
* We have chosen to go for a queue capacity of 2 for the robot. We have done this so the robot is always aware of the point it is traveling to and of the point it needs to go to after arriving. We have chosen to stay at 2 to limit the communication with the robot, since transport orders can be cancelled.
|
|
|
* We have chosen to communicate with our [Protocol](https://git.fhict.nl/I312980/move-it/wikis/design/protocol).
|
|
|
* We have chosen to put a deadlock while connecting the robot (after the handshake), this is done so we enforce waiting for the robot initialization.
|
|
|
* We have chosen to start a thread after the robot is connected, this thread is listening for messages from the robot.
|
|
|
|
|
|
[home](https://git.fhict.nl/I312980/move-it/wikis/home) |
|
|
\ No newline at end of file |