1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- package robots;
- import lejos.robotics.mapping.LineMap;
- import lejos.robotics.navigation.Pose;
- public class VirtualRobot implements Robot {
- private Pose pose;
- private Simulate simthread;
- private RobotReturn rr;
-
- private class Simulate extends Thread {
- public boolean run = true;
- public void run() {
- int ang = 0;
- int add = 5;
- while(run) {
- System.out.println(ang);
- DataPose data = new DataPose();
- data.setDistance(100);
- data.setPose(pose);
- data.setSensorAngle(ang);
-
- rr.robotData(data);
-
- ang += add;
- if (ang == -90 || ang == 90) add *= -1;
-
- try {
- Thread.sleep(100);
- } catch (InterruptedException e) {
- }
- }
- }
-
- }
- public VirtualRobot(LineMap map) {
- simthread = new Simulate();
- pose = new Pose();
- }
- @Override
- public void moveForward() {
- // TODO Auto-generated method stub
-
- }
- @Override
- public void moveLeft() {
- // TODO Auto-generated method stub
-
- }
- @Override
- public void moveRight() {
- // TODO Auto-generated method stub
-
- }
- @Override
- public void moveBackward() {
- // TODO Auto-generated method stub
-
- }
- @Override
- public boolean connect(RobotReturn r) {
- rr = r;
- simthread.start();
- return true;
- }
- @Override
- public void stop() {
- }
- @Override
- public void exit() {
- simthread.run = false;
- try {
- simthread.join();
- } catch (InterruptedException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
-
- }
- }
|