This assignment is a demonstration of Client – Server activity and remote procedure calls. To complete the assignment the communication protocol between the client and the server should be implemented using Java Socket technology.
The problem is to simulate the movement of a remote device using commands sent from a client application, which will activate a series of methods on the remote device.
The scenario for the operation of a remote device is to manoeuvre a robot around its world avoiding the boundaries of its world and a series of static and moving objects.
The robot cannot go through the boundaries of its world or objects, it must go around them.
The robot cannot see so it must use its sensors.
The robot can be manoeuvred using command keys on the client interface.
The position of the robot must be fed back to the client.
The position of the boundary or an object must be fed back to the client when the device encounters the boundary or an object.
If the robot encounters the bounds of its world it cannot pass through them.
If the robot encounters a pre-placed object it cannot pass through/over it.
The robot cannot automatically avoid walls and objects; it can only be manoeuvred to avoid them. However, it should come to a stop when it encounters an obstruction.
The robot should be able to detect when a moving object comes within its sensor range.
To implement the functionality of the remote device you must specify a number of methods that will command the operation of the robot when the methods are called by the client. The functionality of the remote device is at your discretion but should as a minimum should be able to move forward, turn left, turn right and [url removed, login to view] as a maximum 8 aspects of functionality for the device.
To summarize, following are the requirements to accopmplish this task:
1. Development of the Client Interface (desktop based)
2. Development of the Robot World
3. Development of the Robot operations
Also, the freelancer should provide a good document explaining the coding, architecture and general usage of the application.