⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 remotclient3.java

📁 Pioneer2机器人远程控制程序
💻 JAVA
字号:
package abrobot.abmobilerobot.clinet;

/**
 * <p>Title: GOPDR</p>
 * <p>Description: General Open Platform for Distributed Robot</p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Company: SJTU</p>
 * @author Hou Xueqiao
 * @version 1.01
 */
import abrobot.*;
import abrobot.abmobilerobot.*;
import java.rmi.RMISecurityManager;
import net.jini.discovery.LookupDiscovery;
import net.jini.discovery.DiscoveryListener;
import net.jini.discovery.DiscoveryEvent;
import net.jini.core.lookup.ServiceRegistrar;
import net.jini.core.lookup.ServiceTemplate;
import net.jini.core.discovery.LookupLocator;
import net.jini.core.lookup.ServiceRegistrar;

public class RemotClient3 {

  public RemotClient3() {
    LookupLocator lookup = null;
         ServiceRegistrar registrar = null;

         System.setSecurityManager(new RMISecurityManager());

         try {
             lookup = new LookupLocator("jini://202.120.8.136");
         } catch(java.net.MalformedURLException e) {
             System.err.println("Lookup failed: " + e.toString());
             System.exit(1);
         }

         try {
             registrar = lookup.getRegistrar();
             //System.out.println(registrar.getLocator().g);




         } catch (Exception e) {
             e.printStackTrace();
         }
         System.out.println("Registrar found");

         try{
           Class [] classes = new Class[] {AbRobotInterface.class};
           AbRobotInterface Robot = null;
           ServiceTemplate template = new ServiceTemplate(null, classes,
                                                       null);
           try {
                Robot = (AbRobotInterface) registrar.lookup(template);
            } catch(java.rmi.RemoteException e) {
                e.printStackTrace();

            }
            if (Robot == null) {
                System.out.println("Robot null");
            }
            else{
              System.out.println(Robot.Properties().getProperty("Type"));
              RobotRun(Robot);
            }


         }catch(Exception e){
           e.printStackTrace();
         }

         // the code takes separate routes from here for client or service
    }
    public void RobotRun(AbRobotInterface Robot){
      try{



      ActionGoClass ActionGo=new ActionGoClass();
      ActionAvoidFrontClass ActionAvoid=new ActionAvoidFrontClass();
      ActionAvoid.Distance=50;
      ActionAvoid.setPriority(AbActionClass.ACTION_PRIORITY_MAX);
      ActionAvoid.activate();

      ActionGo.setPriority(50);
      ActionGo.set(10,0.5,0.2,0.5);
      ActionGo.activate();
      Robot.addAction(ActionGo);
      Robot.addAction(ActionAvoid);
      Robot.start();


    }catch(Exception e){e.printStackTrace();}
    }

  public static void main(String[] args) {
    RemotClient3 remotClient31 = new RemotClient3();
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -