Accuracy Of Search And Rescue Robot Simulation Computer Science Essay

Published:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Search and rescue robots can be found in most robotics competitions. In the RoboCupJunior Rescue Competition and the rescue robot has to avoid obstacles and detect as many "victims" as possible within a time limit. The winner is the robot that can complete the rescue mission with the most number of successful detections. Since most teams are amateurs, their robots are similarly built. Consequently, the winner of the competition is usually the team with the best AI strategy.

Simulators attempt to replicate the actual environment, in our case, a rescue robot trying to detect "victims" while avoiding obstacles. Most programmers use simulations to test out their AI algorithms; it is fast and cheap. The inputs into the simulator will be the AI program while the output will be the result of the mission.

Simulation is a simplified model of reality that might omit certain environmental factors. If the model of the simulation is inaccurate, then the simulation is flawed. This essay attempts to find out what is the probability of a simulation program in accurately predicting the performance of a physical Search and Rescue Robot?

From the results of the experiment, the probability of a successful prediction was found to be around 90%. Hence there is no statistically significant difference between the behaviors of the physical and simulated robots.

However, no matter how advance the simulator is, there will always be some inaccuracies which are due to many uncertain factors that are beyond our control, such as errors in the robot models which may result in physics inaccuracies.

Furthermore, the AI algorithm developed from the simulation has been successfully used to control my team's rescue robot, which participated in the RoboCup Singapore Open 2009 [2] and RoboCup 2010 [3] .

Word Count: 285

1 Introduction

Robotics has developed from a subject of mostly personal interest into a major branch of Engineering and Computer Science and its impact on modern society is rather significant; from the highly productive and tireless industrial robots in factories, to the vacuum cleaner robot that makes household chores much more manageable. With the availability and easy access of robotics technologies to the public, many robotics competitions, from local, national to international level have sprung up across the globe. With the most prominent and prestigious one, being the RoboCup [4] Competition which draws competitors from wide ranging categories of robotics, from small sized Rescue robots to fully sized Humanoid soccer playing robots.

In the RoboCup competition, rescue robots are divided into two categories, the junior league (RoboCupJunior [5] ) and the senior (professional) league. Due to the lack of technological capability and resources, most of the competing teams in the junior league tend to use similar hardware in constructing their robots. As a result, the deciding factor in winning the competition centers on the Artificial Intelligence [6] (AI) that has been programmed into the robot.

This brings the attention to the topic of robot simulation, whereby the AI program can be loaded into simulation software for test runs to predict the outcome of a search and rescue mission. If the simulation software is accurate enough, the actual testing of the AI program using the real physical robot can be reduced to a minimum. However, due to the complexities of physical robots modeled in the simulation, there are considerable differences between the behavior of the robot in the simulator and that in the real world environment.

In using robot simulation, the most vital question is what is the probability of a simulation program in accurately predicting the performance of a physical Search and Rescue Robot?

In order to answer this question, a research on the accuracy of robot simulation will be conducted. The programming language as well as the simulation software which will be used will be selected, and then a preliminary study will be conducted to identify the parameters and arguments of both the physical and simulated robots. The robot's AI program will then be tested in both the physical and simulated competition fields. The results of the tested missions will be then evaluated to find out the accuracy in predicting the probability of a successful mission.

1.1 Robot Simulation

Simulation can be defined as "The process of imitating a real phenomenon with a set of mathematical formulas." [7] Hence, in theory, any phenomena that can be reduced to mathematical data and equations can be simulated on a computer. In practice, however, simulation is extremely difficult because most natural phenomena are subject to an almost infinite number of influences. Therefore, to develop accurate simulations, we have to determine what the most important factors are. [8] 

Robot Simulations are used to create embedded programs and applications for a robot without depending on the actual physical robot. Contrary to the popular perception of a 3D robot moving around (3D rendering has no purpose other than for visual demonstration), simulations are used for more practical reasons such as the testing of new software, theories and even ideas related robotics [9] ! Besides that, it also saves on cost and time because a physical robot is not required and AI algorithms can be tested many times a minute. In some cases, these applications can be transferred onto the real robot without modifications. [10] 

Besides the advantage of being able to develop an algorithm and perhaps a program in an easier manner, simulations also allows for the evaluation of the strengths and weaknesses of a particular algorithm and its given parameters and arguments.

Simulations only simulate what the programmer tells it to simulate. However the downside of simulation is that it is always a simplified model of reality. A lot of simulations are very simplified and tend to omit certain environmental factors. In some cases, errors in the robot models may result in physics inaccuracies related to friction, gravity, mass, force and etcetera. Therefore simulations should be used as a complimentary tool, instead of an "all solution solver". [11] Thus, the parameter of the physical robot must be well thought-out before it can be simulated.

The limitations the parameters and the arguments of the robot will be addressed further in this essay. If the model of the simulation is not accurate, then the simulation is flawed. Since researchers cannot accurately evaluate the performance of the robot with a faulty model. Hence, the challenge in using robot simulation therefore is to verify the accuracy of the simulation in predicting the performance of the real robot in physical world and expose the inconsistencies between virtual models and real robotics systems.

1.2 Search and Rescue Robot

Search and rescue robots are designed to help rescue workers in search and rescue missions in disaster zones. Usage of such robots can benefit rescue workers by allowing them access to risky areas from a safe distance and also reduce personnel fatigue from moving around the debris strewn disaster zone. [12] 

However, as mentioned in the introduction, due to the lack of advanced technological capability and resources with regards to the hardware and software among the participants of rescue robots in RoboCupJunior, a simplified version of the rescue mission was designed for the competition.

In the competition, the rescue robot will firstly be placed at a "starting point". After the judge gives the "start" signal, the robot will then start to navigate around the "disaster zone" (competition field) while using ultrasonic sensors to avoid walls and various obstacles like rocks, bottles. There are some "victims" (in the form of colored paper) on the floor of the field. The goal of the robot is to find as many "victims" as possible within a limited time period; which is set according to the size of the "disaster zone". Upon detection of a "victim" with the use of Color Sensors the robot will have to flash a LED light to indicate that it has detected a "victim".

Once the time is up, the robot will be stopped and the competition in that round will be declared over. Alternately, if the robot has finished finding all the "victims" before the time is up, the judge can declare that the round is over and the time taken by the robot to complete the task will be recorded down. The total number of incorrectly identified "victims" (i.e. Robot flashed light when there was no "victim") will be subtracted from the total number of correctly identified victims.

The team whose robot can find and correctly identify the most number of "victims" will be the winner. In the case of a tie, the team that finishes the round with the faster time will be declared the winner.

2 Simulating Search and Rescue Robot

The RoboErectus Virtual Simulator Software, RE-VSS-A01 [13] , a visual simulator which is powered by Microsoft Robotics Studio, was used in the experiment, is a new and specially developed software for the RoboCupJunior competition. Since no full scale test on the accuracy of the software has been conducted yet, I would like to be the first to do so and at the same time use this test as an opportunity to test out my research question.

The goal of this project is to run as many trials of simulations and physical "runs" as possible, so as to obtain enough results to ensure a statistically valid conclusion with regards to the research question.

Like all simulations, the RE-VSS-A01 may have some limitations, with regards to the accuracy of the simulated motions and sensors. But this is only a preliminary thought, whether this is valid or not, only the actual tests can tell.

The basic parameters of the robot such as its dimensions and shape are fixed and the number of ultrasonic and color sensors, motors, two colored lights and the positions at which they are placed are the same for both the physical robot and the simulated robot. Movement-wise, the robot is able to move in an omni-directional [14] manner.

2.1 Configuration of the Robot

The behavior of a robot is influenced by three components: (i) the robot's hardware, (ii) the program that the robot is executing and (iii) the environment where the robot is operating in. In order to achieve no statistically significant difference between the physical and simulated robots, both robots will follow the exact same rule mentioned above, utilize identical AI programs during the tests and have the same configuration as shown in Figure 1.

The AI program allows the robot to read values from the color sensors and enter "flash LED light" sub-program if "victim" is detected, read values from the ultrasonic sensors and enter "obstacle avoidance" sub-program if obstacle is detected, and enable the robot to move in an omni-directional manner at a preprogrammed speed that varies with the different conditions that the robot is expected to encounter in the "disaster zone". A compass sensor was also included to allow the robot to know its orientation relative to the starting point and hence enhance its navigational abilities.

Figure 1 Configuration of physical and simulated search and rescue robots

2.2 Simulation Environment

As mentioned above, the behavior of a robot is influenced by the environment where the robot is operating in. The interaction of a robot with its environment is complex and can be studied in many ways.

In this essay, a victim searching mission was chosen because I felt that this would best represent the search and rescue task. The setup of the physical robot experiment is shown in Figure 2. The task is to search for as many victims (represented by color paper) as possible within a limited time period. As illustrated in Figure 3, the simulated environment was configured in such a way that it was as identical to the physical environment as possible. Minute details such as the position of the obstacles and "victims" in the physical environment were also taken into account during the setup of the simulated environment.

In order to assess the accuracy of simulation, the behavior of the search and rescue robot was compared when executing a particular task in the physical world with that of it executing the same task in the simulation.

Figure 2 Setup of the physical environment for search and rescue robots

Figure 3 Setup of the simulated environment for search and rescue robots

3 Programming Search and Rescue Robot

There are several programming interfaces available for use with the simulator (RE-VSS-A01). There is, for example, a graphical user interface (GUI) programming environment. It provides programming interface for C# and Visual Basic in the Microsoft Robotics Developer Studio environment and also provides a C-like interface to the microprocessor of the physical search and rescue robot. The AI program developed in the simulated robot can be automatically converted into a C-like program to control the physical robot (please refer to the C codes listed in the Appendices).

Some basic programming concepts that were used to program the search and rescue robot are described below.

Branching: Branching refers to a decision point where there are several options for what the robot to do next. With changes in syntax, the semantics of what the robot does can be modified.

Looping: Looping refers to doing something multiple of times, either a fixed number of times or until a certain condition becomes true, for example, "move forward until the robot hits a wall".

Modularization: Being able to structure the AI program in modules is important. In this essay, modules are created to perform simple behaviors such as "finding victims using the right side color sensor".

Exception handling: If the robot fails due to hardware or external state errors, an error-handling technique called exception handling is useful. An interrupt driven interface was used to program the robot behaviors in such a case. For example, if the robot is stuck at a position, the AI strategy can be stated as "go forward; but if the robot hit the obstacle, go around it".

The robot was programmed in a perception-action manner. By observing the robot and the environment using the sensors that were equipped on the robot, a proper action was decided for the robot to complete the search and rescue mission. This can be described as a statement of the AI program as shown below:

If <Perception> Then <Action>;

The following sensors were used to perceive the environment for the search and rescue mission, for example, obstacle avoidance using ultrasonic sensors and "victim" detection using color sensors.

US_Front = sensor_data[2]; // Ultrasonic sensor (Front)

US_Back = sensor_data[3]; // Ultrasonic sensor (Back)

US_Left = sensor_data[4]; // Ultrasonic sensor (Left side)

US_Right = sensor_data[5]; // Ultrasonic sensor (Right side)

Direction = sensor_data[6]; // Ultrasonic sensor (Compass sensor)

CS_Left = sensor_data[7];//Color sensor to detect victims(Left side)

CS_Right = sensor_data[8;//Color sensor to detect victims(Right side)

3.1 Obstacle Avoidance

An example of obstacle avoidance of the robot is shown in Figure 4. It shows the robot moving forward until it detects an obstacle in front of it. It stops 20cm before the obstacle.

Figure 4 Scenario in which the robot stops in front of the obstacle (wall)

The AI strategy of the robot for this case is designed according to the logic that "the robot moves forward if it senses that the distance between the front of the robot and the obstacle is more than 20 cm; otherwise, it stops". The flowchart which describes the above strategy is shown in Figure 5.

Figure 5 Flowchart of "moving forward and stop"

The corresponding C code can be written as following:

if(US_Front>20) //if the distance is more than 20 cm, then move forward

{

MoveForward();

}

else // if the distance is less than 20 cm, then stop

{

Stop();

}

3.2 Detection of Victims

In order to detect "victims" (represented by color paper), two color sensors were mounted on the left side (CS_Left) and the right side (CS_Right) of the robot. Based on the calibration of the color sensors in the experiment environment, the range of the color sensor's output was used to identify the victims. For example, if the range of both the right and left color sensors' output was [11, 52], the program of detecting the victim can be written as following.

if(CS_Right>=11 && CS_Right<=52)

{

FoundVictim(); // A victim was found by the right color sensor

}

else if(CS_Left>=11 && CS_Left<=52)

{

FoundVictim (); // A victim was found by the left color sensor

}

If there is no need to identify the right and left color sensors, it can be combined as one statement which is shown below.

If((CS_Right>=11 && CS_Right<=52)||(CS_Left>=11 && CS_Left<=52))

{

FoundVictim(); // A victim was found by either right or left color sensor

}

3.3 Robot Navigation Using Different Sensors

In a complicated environment, more sensors may be needed by the robot to make a decision on how to navigate through the obstacles.

Figure 6 Scenario in which the robot navigates a corner

In a scenario as shown in Figure 6, besides the front ultrasonic sensor (US_Front), the ultrasonic sensor on the left side (US_Left) is also needed to perceive the situation which can be described as the following statement.

if(US_Front>=0 && US_Front<=20 && US_Left>=0 && US_Left<=45)

{

TurnRight(); //turn right

}

Both the physical and simulated robots need to be provided with different types of sensors so as to enable it to tackle more complicated scenarios. For a scenario illustrated in Figure 7, the robot needs to perceive obstacles in all the directions using US_Front, US_Back, US_Right and US_Left before making a decision. It also needs to know the orientation of itself by using the compass sensor (Direction). The AI program which enables the robot to act based on its perception can be described below.

if(Direction>=100 && Direction<=187 && US_Front>=0 && US_Front<=21 && US_Back>=0 && US_Back<=12 && US_Right>=0 && US_Right<=21 && US_Left>30)

{

TurnLeft(); //turn left

}

Figure 7 Scenario in which the robot requires more sensors for navigation

For a scenario when the AI program is logically correct but fails due to hardware or external state errors. The error-handling technique called exception handling is needed. For example, if a robot is stuck at a corner as shown in Figure 8, the AI strategy should enable the robot to move backward and navigate through the environment using the different sensors attached.

Figure 8 Scenario in which the robot is stuck at a corner

4 The Simulation Process

Computer simulation of robot performance is an essential tool for the development of AI program. If the simulated robot model is not similar enough to the physical robot, then the simulation can be meaningless. The simulation model must therefore be finely tuned to ensure similar performances as the physical robot.

In this essay, the physical robot is modeled using the Microsoft Robotics Studio platform. Parameters of the simulated robot are precisely measured and tuned to make its behaviors as close as possible to the physical robot.

4.1 Simulation Model

Figure 9 The simulation model of the simulated search and rescue robot

The simulated robot shown in Figure 9 is comprised of a chassis, a caster wheel and two differential wheels. The dimension, position, the center of gravity of each part is measured and used to model the simulated robot. Some parameters used in the simulation are listed below.

MASS = 0.8f; //unit is kg

CHASSIS_DIMENSIONS = new Vector3(0.112, 0.04f, 0.14f);

FRONT_WHEEL_MASS = 0.01f;

CHASSIS_CLEARANCE = 0.032f;

FRONT_WHEEL_RADIUS = 0.025f;

CASTER_WHEEL_RADIUS = 0.0115f;

FRONT_WHEEL_WIDTH = 0.028f;

CASTER_WHEEL_WIDTH = 0.008f;

FRONT_AXLE_DEPTH_OFFSET = -0.046f;

4.2 Simulated Sensors

The physical robot is equipped with a compass sensor, 2 color senors and 4 ultrasonic sensors. The output of the compass sensor enables the orientation of the robot to be in the range of [-180, +180]. The color sensor measures the brightness of an object; its range of value is [0,128]. The ultrasonic sensor measures the distance between the robot and the obstacle, in the simulation setup, the maximum distance of detection is 1.60 meters. However, some sensors may be less sensitive if the distance is longer.

The positions of the sensors on the physical robot are measured and the simulated sensors are placed on the exact same position of the simulated robot. The challenge in simulating the physical sensors is that they are prone to "noises". Hence, the different noises encountered are studied and some of the most prevalent noises are added to the simulation so as to make the simulated sensors' behaviors more realistic. In the physical world, identical sensors, which are identical in every way may still give different readings, even if both are placed in identical conditions. Since the simulated sensor is modeled based on only one physical sensor, therefore, when the AI program which was developed via simulation is applied to the physical robot, some thresholds of the physical sensor may have to be re-adjusted accordingly to the real environment.

4.3 Parameters of the Simulated Robot and Its Environment

All the parameters of the physical robot and its environment, such as friction between the ground and the robot's wheels, torque of the motor etcetera. have been measured. The data obtained from the measurement was used to set the parameters for the simulated robot and simulated environment. Hence the behavior of the simulated robot should be identical to the physical robot. However, due to the various uncertainties present in the physical world that are beyond human control, there will still be differences in the simulation and the actual performance of the robot. Therefore some parameters of the simulated robot will be tweaked so as to make its performance as identical to the physical robot as possible.

5 Experiment and Results

In this experiment, the behavior of the robot when it executes a particular task in the physical world and that of it executing the same task in the simulation was compared using statistical method. This is to investigate how accurately the simulator can predict the performance of the physical search and rescue robot.

The robot was tested in a professional robotics laboratory under controlled conditions, such as minimal electromagnetic interference and constant lighting throughout the "disaster zone".

The objectives of the tests are to find the number of "victims" that the search and rescue robot can detect and compare the results of the simulated robot with that of the physical robot using the same AI program within same time duration.

To properly examine the performance of the robot in both physical and simulated environments, I have developed 3 different sets of AI programs with different strategies to control the robot (please refer to Appendices).

AI Program (Set A)

The following 3 kinds of ultrasonic sensors were used to perceive the environment.

Front ultrasonic sensor (US_Front)

Right side ultrasonic sensor (US_Right)

Left side ultrasonic sensor (US_Left)

AI Program (Set B)

More sensors were used to tackle more complicated scenarios.

Front ultrasonic sensor (US_Front)

Right side ultrasonic sensor (US_Right)

Left side ultrasonic sensor (US_Left)

Back ultrasonic sensor (US_Back)

Compass sensor (Direction)

AI Program (Set C) used the exact same sensors as Set A. However, the AI strategies for Set A and Set C are different.

For each AI strategy, 5 trials were conducted to look at whether there are statistically significant differences between the performance of the physical and simulated robots.

I also desired to study whether the experiment duration is a significant factor in the performance of the robot. As such, 3 different time durations, 2 minutes, 5 minutes and 10 minutes were used to compare the performance of both the physical and simulated robots with both using the same AI program.

5.1 Results of the Simulated Robot

The number of victims detected by the simulated robot in different experiment setups is listed in Table 1. Based on the results obtained from the 5 trials, both the mean and standard deviation were calculated to evaluate the performance of the robot using statistical method.

Table 1 Results of the simulated robot

AI

Set

Duration

(Min)

No. of Victims detected

1st Trial

2nd Trial

3rd Trial

4th Trial

5th Trial

A

2

5

7

7

6

7

6.4

0.894

5

7

9

9

8

9

8.4

0.894

10

15

20

18

17

20

18.0

2.121

B

2

8

7

6

5

7

6.6

1.140

5

9

13

10

11

9

10.4

1.673

10

25

18

22

20

18

20.6

2.966

C

2

4

3

3

4

2

3.2

0.837

5

7

6

7

6

5

6.2

0.837

10

10

9

11

10

11

10.2

0.837

5.2 Results of the Physical Robot

The AI strategies developed using the simulated robot were used to control the identical physical robot. The experiment environment, the time duration and the number of trials in the physical experiment is identical to the simulated one. The number of victims detected by the physical robot is listed in Table 2. Both the mean and standard deviation were also calculated.

Table 2 Results of the physical robot

AI

Set

Duration

(Min)

No. of Victims detected

1st Trial

2nd Trial

3rd Trial

4th Trial

5th Trial

A

2

8

6

5

7

4

6.0

1.581

5

10

11

8

10

7

9.2

1.643

10

20

16

22

19

17

18.8

2.387

B

2

8

5

6

9

6

6.8

1.643

5

14

9

13

11

11

11.6

1.949

10

20

24

19

26

25

22.8

3.114

C

2

2

5

2

3

5

3.4

1.517

5

6

8

7

5

8

6.8

1.304

10

12

14

9

8

11

10.8

2.387

5.3 Comparison Using Statistical Method

A comparison of the experimental results for both the physical and simulated robots is given in Table 3. From the results of the experiment, no statistically significant difference was found between the behaviors of the physical and simulated robots. However, the performance of both robots is affected by the different AI strategies.

The experimental results show that the longer the duration of the experiment, the bigger the difference between the behaviors of the physical and simulated robots. This could be caused by the errors accumulated during the long duration of the experiment. It also shows that the standard deviation for longer duration of the experiment is also rather high. This indicates that it is more unpredictable when the robots are used for long time period of testing.

From the comparison of the results shown in Table 4, we can conclude that by using simulation to predict the performance of the physical search and rescue robot with regards to using the experiment setup described above, the probability of a successful prediction is in between 89.66% to 97.06% inclusive. Since the probability of failure as shown in Table 4, is in between 2.94% to 10.34% inclusive. Therefore, an accuracy of (93.36 + 3.80) % can be achieved.

Table 3 Comparison of the results for both the physical and simulated robots

AI Set

Duration

(Min)

Physical Robot

Simulated Robot

Comparison

A

2

6.0

1.581

6.4

0.894

0.4

0.687

5

9.2

1.643

8.4

0.894

0.8

0.749

10

18.8

2.387

18.0

2.121

0.8

0.266

B

2

6.8

1.643

6.6

1.140

0.2

0.503

5

11.6

1.949

10.4

1.673

1.2

0.276

10

22.8

3.114

20.6

2.966

2.2

0.148

C

2

3.4

1.517

3.2

0.837

0.2

0.680

5

6.8

1.304

6.2

0.837

0.6

0.467

10

10.8

2.387

10.2

0.837

0.6

1.550

Table 4 Statistical difference between the performance of the physical and simulated robots

AI Set

Duration

(Min)

Percentage Errors / %

A

2

6.67

5

8.70

10

4.26

B

2

2.94

5

10.34

10

9.65

C

2

5.88

5

8.82

10

5.56

6 Conclusion

The objective of this essay is to assess how accurately the simulator (RE-VSS-A01) can predict the behaviors of a physical search and rescue robot.

After several months of research, which includes participating in the RoboCupJunior competitions; both the RoboCup Singapore Open 2009 and RoboCup 2010, I have managed to answer my research question, "What is the probability of a simulation program in accurately predicting the performance of a physical Search and Rescue Robot?"

From the comparison of the experimental results, it was observed that by using the simulator to predict the performance of the physical search and rescue robot, an accuracy of about 90% can be achieved. If the various uncertainties that are beyond our control are taken into account, this can be considered as a rather accurate prediction.

Therefore, we can conclude that there is no statistically significant difference between the behaviors of the physical and simulated robots. Nevertheless, the performance of both robots is affected by the different AI strategies.

Since this experiment has determined that the probability of successful prediction is reasonably high, this in turn brought about another interesting question, "Can we use this simulation platform to determine the best AI strategy for a search and rescue robot through extensive testing?"

Conversely, we can also use the simulator to thoroughly analyze the simulation environment and based on its finding and with the help of reverse engineering, create a better AI program? If the simulator can enable the creation a better AI program through reverse engineering, there would be a much better purpose in using the simulator during the process of Al programming.

The research done in the essay was only on the accuracy on the overall performance in the search and rescue operation of the robots. A more detailed and elaborate examination on the simulation could be conducted on various aspects of the robot like motion accuracy, sensor accuracy and task specific accuracy, etcetera. Research in this direction should also produce some matrices to measure and evaluate the accuracy of a robot simulation program.

Building on the results of this experiment, for future research, I will be looking into the comparison of different modes of behaviors while the robot is performing the same task or even different tasks on a bigger scale. This will allow a more complete and thorough comparison between the simulated and physical robots.

In addition to the above, the AI programs developed from the simulated robots have been successfully used to control my team's rescue robot (as shown in Figure 10), which came in third in the RoboCup Singapore Open 2009 (National Selection) and qualified for RoboCup 2010. This is further evidence that the accuracy of the robot simulator is good enough to predict the success in actual competitions.

Figure 10 The rescue robot developed by my team for the RoboCupJunior competition

Writing Services

Essay Writing
Service

Find out how the very best essay writing service can help you accomplish more and achieve higher marks today.

Assignment Writing Service

From complicated assignments to tricky tasks, our experts can tackle virtually any question thrown at them.

Dissertation Writing Service

A dissertation (also known as a thesis or research project) is probably the most important piece of work for any student! From full dissertations to individual chapters, we’re on hand to support you.

Coursework Writing Service

Our expert qualified writers can help you get your coursework right first time, every time.

Dissertation Proposal Service

The first step to completing a dissertation is to create a proposal that talks about what you wish to do. Our experts can design suitable methodologies - perfect to help you get started with a dissertation.

Report Writing
Service

Reports for any audience. Perfectly structured, professionally written, and tailored to suit your exact requirements.

Essay Skeleton Answer Service

If you’re just looking for some help to get started on an essay, our outline service provides you with a perfect essay plan.

Marking & Proofreading Service

Not sure if your work is hitting the mark? Struggling to get feedback from your lecturer? Our premium marking service was created just for you - get the feedback you deserve now.

Exam Revision
Service

Exams can be one of the most stressful experiences you’ll ever have! Revision is key, and we’re here to help. With custom created revision notes and exam answers, you’ll never feel underprepared again.