在JAVA中使用键盘控制机器人

时间:2016-04-08 11:19:57

标签: java nao-robot

我开始在IntelliJ IDEA中编写一个 NAO 机器人,我是两个新手,我创建了一些功能,让 NAO 移动或说话,每次都是看看发生了什么我必须运行项目。现在我想在KeyPress上执行一些功能。你能举个例子吗?

如何更改此代码,以允许 NAO 站立,蹲伏或坐在某些KeyPress上(例如:q-&gt; Stand,w-&gt; Crouch,e-&gt; Sit)< / p>

 package test;

 import com.aldebaran.qi.Application;
 import com.aldebaran.qi.helper.proxies.ALMotion;
 import com.aldebaran.qi.helper.proxies.ALRobotPosture;
 import com.aldebaran.qi.helper.proxies.ALTextToSpeech;

 public class StandNao {

     private static ALMotion motion;

     public static void main(String[] args) throws Exception {
         Application application = new NaoSettings().NaoConnect(args);



         application.start();
         motion = new ALMotion(application.session());
         // Create an ALTextToSpeech object and link it to your current session
         ALTextToSpeech tts = new ALTextToSpeech(application.session());
         // Make your robot say something
         tts.say("MAC Start Stand");
         motion.killAll();
         ALRobotPosture posture = new ALRobotPosture(application.session());
         posture.getPostureList();
         posture.goToPosture("Stand", 1.0f);

                 Thread.sleep(10000);

         posture.goToPosture("Crouch", 1.0f);

                 Thread.sleep(10000);

         posture.goToPosture("Sit", 1.0f);
     }
 }

1 个答案:

答案 0 :(得分:2)

我没有描述所有可能性,但为了给你一个方法,你可以检查许多Java库,它们将让你管理民意调查或事件驱动的键盘输入。

然后你可以在一个无限循环中听你的键盘活动,并根据击中的键做出反应。

它几乎看起来像那样:

Keyboard.poll();
while(Keyboard.next())  {

      if(Keyboard.getEventKey() == Keyboard.KEY_LEFT && !Keyboard.getEventKeyState()) {
             // do something if the letter left arrow key is released
      }

}

还要考虑尝试制作有趣的东西,如果你想学习Java和Web方面,比如使用REST控制器的Web应用程序,当你按下网页按钮时,你的机器人会相应地移动。

可以使用Java Spring Boot快速实现。