-
Notifications
You must be signed in to change notification settings - Fork 0
/
RobotMission.java
94 lines (92 loc) · 3.86 KB
/
RobotMission.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
/* File: RobotMission.java
* Date: June 2015
* King's College London -- Dept. of Informatics -- MSc in Robotics
* Author: Claudio S. De Mutiis (claudio.de_mutiis@kcl.ac.uk)
* Purpose: Plan a mission for the MIRTO robot, developed by a team led
* by Dr Franco Raimondi (F.Raimondi@mdx.ac.uk) at Middlesex University
* London.
*
* IMPORTANT NOTES:
*
* 1) WHERE FILES/FOLDERS SHOULD BE PLACED IN ORDER TO MAKE
* EVERYTHING COMPILE AND WORK CORRECTLY (on MIRTO's SD
* CARD):
* (i) MobileRobot.java in /csd2222
* (ii) RobotMission.java in /csd2222
* (iii) RobotTesting.java in /csd2222
* (iv) The following files and folders should also be placed
* in /csd2222: java-asip.jar, jssc, libs, META-INF and
* uk.
* (v) The modified version of the file JMirtoRobot.java (see
* below) should be placed in
* /csd2222/uk/ac/mdx/cs/asip
*
* Source: https://github.com/fraimondi/java-asip
*
* 2) The code in JMirtoRobot.java has been modified by Claudio S.
* De Mutiis (claudio.de_mutiis@kcl.ac.uk) in August 2015.
* Claudio S. De Mutiis added the method public void resetCount(),
* which resets both of the encoders' counts.
*
* public void resetCount() {
* e0.resetCount();
* e1.resetCount();
* }
*
* TRYING TO COMPILE THE CLASSES MobileRobot.java, RobotMission.java
* and RobotTesting.java WITH THE OLD VERSION OF JMirtoRobot.java
* WILL RESULT IN A COMPILATION ERROR !!!
*
* The modified version of JMirtoRobot.java is needed to make
* everything compile and run correctly !!
*
* ADDITIONAL CREDITS:
* - The class JMirtoRobot.java was developed by a team led by Dr
* Franco Raimondi (F.Raimondi@mdx.ac.uk) at Middlesex University
* London.
* - In order to be able to work, the class RobotMission.java makes
* use of methods and classes developed by a team led by Dr
* Franco Raimondi at Middlesex University (see the folders lib
* and src and the files build.xml, README.md located in the
* folder java-asip-master).
* Source: https://github.com/fraimondi/java-asip
*/
/* Useful Math Functions:
* 1) Math.toDegrees(...) --> converts an angle from rad to deg
* 2) Math.toRadians(...) --> converts an angle from deg to rad
*/
/********************************************************************
/* VERY USEFUL FUNCTIONS OF MobileRobot.java (see the comments
* of MobileRobot.java file to learn about other available functions)
* ******************************************************************
* public void translate(double dist) --> Make the mobile robot
* translate by "dist" cm
* public void rotate(double change) --> Make the mobile robot rotate
* by "change" degrees
* public void stop() --> Make the mobile robot stop
* public void reset(Point goal_new) --> Reset the goal point in cm
* public void reset(Point goal_new, double start_orientation_new)
* --> Reset the goal point in cm and orientation
* in degrees
* public void goToGoal() --> Make the mobile robot move to its goal
* point
* public void goToGoal(Point goal_new) --> Make the mobile robot move
* to the new goal point
* *******************************************************************
*
*/
public class RobotMission {
public static void main(String[] args) {
// create a start point at the origin (0,0) --> current
// location of the robot
Point start = new Point();
// create a goal point at (0, 150)
Point goal = new Point(0,150);
// specify the current orientation of the robot
double orientation = 180;
// create the robot object
MobileRobot robot = new MobileRobot(start, goal, orientation);
// send the robot to its goal location
robot.goToGoal();
}
}