我开始编写一个NAO机器人的IntelliJ想法,我在这两个方面都是新的,我创建了一些功能,使NAO移动或说话,每次看到我必须运行的项目。现在我想在KeyPress上执行一些函数。你能给我举个例子吗?
如何更改此代码,以允许NAO站立、蹲下或坐在某些KeyPress上(例如: q-> KeyPress,w-> Crouch,e-> Sit)
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);
}
}发布于 2016-04-08 13:14:41
我不会描述所有的可能性,但是为了给您提供一条道路,您可以检查许多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快速实现。
https://stackoverflow.com/questions/36498316
复制相似问题