The following document contains the results of PMD's CPD 4.2.5.
File | Line |
---|---|
cz\cuni\amis\pogamut\usar2004\samples\P2DX.java | 156 |
cz\cuni\amis\pogamut\usar2004\samples\P2DXLogicController.java | 120 |
if(step > 10) { right = -3; left = -3; } else { right = -3; left = 3; } step--; if(step == 0) { step = 20; reversActive = false; } } private int step = 20; boolean reversActive = false; /** * Devides ranges into thirds and decides which way to set motor speeds. * * @param Ranges list of ranges from Range scanner. */ public void RangesReady(ArrayList<Double> Ranges) { int third = Ranges.size() / 3; double mleft = 0, mright = 0, mstraight = 0; for(int i = 0; i < Ranges.size(); i++) { if(i < third) { mright += Ranges.get(i); } else if(i < 2 * third) { mstraight += Ranges.get(i); } else { mleft += Ranges.get(i); } } if(reversActive || mleft + mstraight < 200 || mright + mstraight < 200) { reversActive = true; driveBackwards(); } else { if(Math.max(mleft, mright) == mleft) { if(Math.max(mleft, mstraight) == mleft) { driveLeft(); } else { driveStraight(); } } else { if(Math.max(mright, mstraight) == mright) { driveRight(); } else { driveStraight(); } } } } public static void main(String[] args) { new USAR2004BotRunner(P2DXLogicController.class, "PogamutBotBot", "127.0.0.1", 3000).setMain(true).setLogLevel(Level.WARNING).startAgent(); |
File | Line |
---|---|
cz\cuni\amis\pogamut\usar2004\samples\P2DX.java | 122 |
cz\cuni\amis\pogamut\usar2004\samples\USAR2004TestBot.java | 125 |
private void driveLeft(){ System.out.println("left"); right=15; left=5; } private void driveRight(){ System.out.println("right"); right=4; left=15; } private void driveStraight(){ System.out.println("straight"); right=15; left=15; } private void driveBackwards(){ System.out.println("back"); if(step>10) { right=-3; left=-3; } else{ right=-3; left=3; } step--; if(step==0){ step=20; reversActive=false; } } private int step=20; boolean reversActive=false; public void RangesReady(ArrayList<Double> Ranges) { int third = Ranges.size()/3; double mleft=0, mright=0,mstraight=0; for (int i = 0; i < Ranges.size(); i++) { if(i<third){ mright+= Ranges.get(i); } else if(i<2*third){ mstraight+= Ranges.get(i); } else { mleft+= Ranges.get(i); } } |
File | Line |
---|---|
cz\cuni\amis\pogamut\usar2004\agent\module\master\SensorMasterModule.java | 112 |
cz\cuni\amis\pogamut\usar2004\agent\module\master\SensorMasterModuleQueued.java | 115 |
} /** * Adds every object that can be casted to initial class to the output list. * Note that if You feed this method with SuperClass it will return all * available submodules. * * @param c Class representing the type of which the return list should be * @return Returns a list of eligible objects, that can be casted to Class c */ public List<SuperSensor> getSensorsByClass(Class c) { return sensorModules.getSensorsByClass(c); } /** * Gets sensor message representatives from local hashmap specified by type * and by name. Returns null if none matches or this hash map is empty or * either type or name is null. * * @param type String representing the type of sensor to return. * @param name String representing the name of sensor to return. * @return Returns List of specified type of Sensor module. */ public SuperSensor getSensorByTypeName(String type, String name) { if(type == null || name == null) { return null; } return (SuperSensor) sensorModules.getSensorByTypeName(type.toLowerCase(), name.toLowerCase()); } /** * For each type of sensor it adds all individuals to the returnee List as a * couple (Type, Name) * * @return returns Map of couples (Type/Name) of non empty sensor * representatives. */ public List<MessageDescriptor> getNonEmptyDescripton() { return sensorModules.getNonEmptyDescription(); } /** * Asks SensorType enum if it knows SensorType represented by string * <B>type</B>. If it does, it also contains Class reference. This reference * is then instantiated and returned. If it does not, it returns instance of * base class SuperSensor which is represented by SensorType.UNKNOWN_SENSOR. * * @param type String representing possible valid SensorType. * @return Returns Class instance relevant to input String. */ protected SuperSensor createNewSensor(SensorMessage message) { return ModuleInstanceProvider.getSensorInstanceByType(message.getType()); } /** * Returns a flag that indicates if sensorUpdate was successful. * * @param message new SensorMessage object. * @return Return false if this message type with this name does not exist * yet. */ protected boolean updateSensorCollection(SensorMessage message) { if(!sensorModules.containsKey(message.getType().toLowerCase())) { return false; } if(sensorModules.get(message.getType().toLowerCase()).isEmpty()) { return false; } if(!sensorModules.get(message.getType().toLowerCase()).containsKey(message.getName().toLowerCase())) { return false; } |
File | Line |
---|---|
cz\cuni\amis\pogamut\usar2004\samples\LeggedLogicSampleRobot.java | 45 |
cz\cuni\amis\pogamut\usar2004\samples\Submarine.java | 42 |
getAct().act(new Initialize("USARBot.Submarine", "P2DX sample robot", new Location(229.31, -651.48, 12.42), null)); System.out.println(logicModule.isRunning()); } @Override public void initializeController(USAR2004Bot bot) { super.initializeController(bot); //startPoses = new NfoStartPoses(bot); //begin = new NfoBeginMapInfo(bot); } private final double descendingLatch = 0.05f;//how fast should it drop the level while descending private final double descendingRate = 0.5f;//how much severly should it correct the level by steering the sternPlane private final double steerRate = 0.4f;//how much should it steer private final int submarineLevel = 4;//how far from the bottom of the sea should it try to keep the sub. //properties needed for logic run: private boolean parametersObtained = false; private double maxRudderAngle = 0; private double maxSternPlaneAngle = 0; private double maxPropellerSpeed = 0; private double cameraMaxFov = 0; private double cameraMinFov = 0; private double cameraActFov = 0; private double cameraInc = 0.01f; private String cameraName = ""; private String cameraType = ""; private double laserRange = 0; private double laserTime = 0; private double previousLaserRange = 0; private double previousLaserTime = 0; private double cameraRotationSpeed = 0; private double cameraTilt = 0; private double cameraTiltInc = cameraInc; private double cameraMaxTilt = 0; private double cameraMinTilt = 0; private String mispkgName = ""; private double time = 0; //works till the battery is dead /** * this method is triggered by receipt of STA message. This is where all behaviour is controlled * @throws PogamutException */ @Override public void logic() throws PogamutException { super.logic(); |
File | Line |
---|---|
cz\cuni\amis\pogamut\usar2004\samples\LeggedLogicSampleRobot.java | 265 |
cz\cuni\amis\pogamut\usar2004\samples\LeggedLogicSampleRobot.java | 342 |
"-0.4", "0.2", "-0.3", "0.1", "0.1", "0.5", "-0.1" }; break; case 4: case 3: names = new String[] { "LRA", "LRB", "LRC", "RFA", "RFB", "RFC", "LFA", "LFB", "LFC" }; values = new String[] { "-0.2", "0.3", "-0.6", "0.1", "0.1", "0.4", "0", "0", "0" }; break; case 8: case 7: names = new String[] { "LFA", "LFB", "LFC", "RRA", "RRB", "RRC", "RFA", "RFB", "RFC" }; values = new String[] { "0.1", "0.1", "0.4", "-0.2", "0.3", "-0.6", "0", "0", "0" }; break; default: names = new String[] { "LFA" }; values = new String[] { "0" }; break; } bot.getAct().act(new Multidrive(names, values)); if(walkCount > 7) |
File | Line |
---|---|
cz\cuni\amis\pogamut\usar2004\samples\P2DXLogicController.java | 120 |
cz\cuni\amis\pogamut\usar2004\samples\USAR2004TestBot.java | 144 |
if(step>10) { right=-3; left=-3; } else{ right=-3; left=3; } step--; if(step==0){ step=20; reversActive=false; } } private int step=20; boolean reversActive=false; public void RangesReady(ArrayList<Double> Ranges) { int third = Ranges.size()/3; double mleft=0, mright=0,mstraight=0; for (int i = 0; i < Ranges.size(); i++) { if(i<third){ mright+= Ranges.get(i); } else if(i<2*third){ mstraight+= Ranges.get(i); } else { mleft+= Ranges.get(i); } } |
File | Line |
---|---|
cz\cuni\amis\pogamut\usar2004\communication\messages\usarinfomessages\Yylex.java | 1632 |
cz\cuni\amis\pogamut\usar2004\communication\messages\usarinfomessages\Yylex.java | 1917 |
protected double[] getTriple( String txt ) { StringTokenizer st = new StringTokenizer(txt, DELIMITERS_EXTENDED); int num = 1; while (num-- > 0 && st.hasMoreTokens()) { st.nextToken(); } // now we should have an token with integer try { double t1,t2,t3; t1 = new Double(st.nextToken()).doubleValue(); t2 = new Double(st.nextToken()).doubleValue(); t3 = new Double(st.nextToken()).doubleValue(); return new double[]{t1,t2,t3}; } catch (NumberFormatException e) { exceptionOccured(e, "Wrong double number format in '"+txt+"."); return null; } catch (Exception e) { exceptionOccured(e, "Can't get triple from text '"+txt+"'."); return null; } } /** * Return a Location instance starting from num token(tokens are separated by space) in txt * * @param txt text of parameter * @return Location from given token. */ protected Location locationDoubleValue(String txt) { |
File | Line |
---|---|
cz\cuni\amis\pogamut\usar2004\agent\module\datatypes\GeometryContainer.java | 102 |
cz\cuni\amis\pogamut\usar2004\agent\module\datatypes\SensorsContainer.java | 106 |
public SuperSensor getSensorByTypeName(String type, String name) { if(this.isEmpty()) { return null; } if(this.containsKey(type) && !this.get(type).isEmpty()) { return this.get(type).get(name); } return null; } /** * For each type of sensor it adds all individuals to the returnee List as a * couple (Type, Name) * * @return returns Map of couples (Type/Name) of non empty sensor * representatives. */ public List<MessageDescriptor> getNonEmptyDescription() { if(this.isEmpty()) { return null; } List<MessageDescriptor> list = new ArrayList<MessageDescriptor>(); for(String type : this.keySet()) { for(String name : this.get(type).keySet()) { list.add(new MessageDescriptor(type, name)); } } return list; } } |
File | Line |
---|---|
cz\cuni\amis\pogamut\usar2004\samples\LeggedLogicSampleRobot.java | 383 |
cz\cuni\amis\pogamut\usar2004\samples\Submarine.java | 145 |
} } /** * Sets constant speed of camera roatation and repeatedly tilts the camera * from min angle to max. */ private void rotateCamera() { if(cameraTilt >= cameraMaxTilt || cameraTilt <= cameraMinTilt) { cameraTiltInc *= -1; } cameraTilt += cameraTiltInc; //{Order int} ‘int’ is optional (0 by default) and indicates the control mode. ‘0’ means angle control, ‘1’ means speed control, and ‘2’ means torque control. int[] links = new int[] { 1, 2 }; double[] values = new double[] { cameraRotationSpeed, cameraTilt }; int[] orders = new int[] { 1, 0 }; bot.getAct().act(new MissionPackage(mispkgName, links, values, orders)); } /** * Repeatedly sets the FOV of the camera from one extreme to another. */ private void zoomCamera() { if(cameraActFov >= cameraMaxFov || cameraActFov <= cameraMinFov) { cameraInc *= -1; } cameraActFov += cameraInc; bot.getAct().act(new SetCamera(cameraType, cameraName, cameraActFov)); } |
File | Line |
---|---|
cz\cuni\amis\pogamut\usar2004\samples\AerialVehicle.java | 746 |
cz\cuni\amis\pogamut\usar2004\samples\AirScanner\ToolBox.java | 74 |
public static double getAngle(double sx, double cx) { if(sx > 0 && cx > 0) { return Math.acos(Math.abs(cx)) * 180 / Math.PI; } else if(sx > 0 && cx <= 0) { return 180 - Math.acos(Math.abs(cx)) * 180 / Math.PI; } else if(sx <= 0 && cx <= 0) { return 180 + Math.acos(Math.abs(cx)) * 180 / Math.PI; } else { return 360 - Math.acos(Math.abs(cx)) * 180 / Math.PI; } } |
File | Line |
---|---|
cz\cuni\amis\pogamut\usar2004\communication\messages\usarinfomessages\Yylex.java | 88 |
cz\cuni\amis\pogamut\usar2004\communication\messages\usarinfomessages\Yylex.java | 92 |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 |
File | Line |
---|---|
cz\cuni\amis\pogamut\usar2004\communication\messages\usarinfomessages\ConfigurationMessage.java | 438 |
cz\cuni\amis\pogamut\usar2004\communication\messages\usarinfomessages\StateMessage.java | 235 |
Iterator it = PartsValues.entrySet().iterator(); while(it.hasNext()) { Map.Entry en = (Map.Entry) it.next(); buf.append(" ").append(en.getKey()).append(" ").append(en.getValue()).append(","); } buf.append(" | "); } return buf.toString(); } /** * Gets all properties and values to create a HTML formated string; * * @return Returns all properties in HTML format */ public String toHtmlString() { StringBuilder buf = new StringBuilder(); buf.append(super.toString() + "<b>Type</b> : " + String.valueOf(Type) + " <br/> " + "<b>Time</b> : " |