问题标签 [pepper]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
pepper - Pepper 的语音识别
我在 Pepper 上添加语音识别时遇到问题:
[错误] behavior.box :_safeCallOfUserMethod:125 _Behavior__lastUploadedChoregrapheBehaviorMasterProgram879924904:/Speech Reco._2: Traceback(最近一次通话最后):文件“/opt/aldebaran/lib/python2.7/site-packages/albehavior.py”,第 115 行, 在 _safeCallOfUserMethod func() File "", line 55, in onInput_onStart RuntimeError: ALSpeechRecognition::setVocabulary NuanceContext::addContext 一个名为“modifiable_grammar”的语法已经存在。
这个错误不断弹出,但我不知道为什么。我在项目的任何地方都找不到“modifiable_grammar”。
python - 机器人在行为期间没有响应
我做了一种行为,其目的是在平板电脑上显示一些 html 页面。但是当我运行此行为时,我的机器人没有响应,我无法与之对话。我完全不知道为什么会这样。该行为是交互式的,它被添加到默认行为中。
编辑添加编舞项目方案
关于在启动时显示主 html 页面的问题。 如何在 Pepper 启动时显示 HTML 页面
python - 如何订阅信号
我正在尝试订阅一个信号,但我不知道它是如何完成的。我已阅读http://doc.aldebaran.com/2-4/dev/libqi/api/python/signal.html但仍不完全理解。这是我试图等待这个信号ALBehaviorManager.behaviorStopped('some_behavior')
然后调用一些回调的代码:
但收到以下错误消息:
已编辑
当我运行它时,它不会等待信号,它只是调用my_callback
编辑第 2 号
根据您在运行此 python 脚本时的响应 (@JLS),它什么也不做。当前在"test_video_player-fdb9c9/behavior_1"
正在运行的机器人上。我认为python脚本不会立即完成,但它会等待接收来自“behaviorStopped”类型的信号,并在收到信号时进行检查if behavior_id == "test_video_player-fdb9c9/behavior_1"
,而不是根据条件执行它应该做的事情。
编辑第 3 号
让我们有这种情况:我有一个名为“listener”的行为,其唯一目的是在任何时候停止其他行为以记录停止行为的名称。一种方法是制作一个事件,将信息发送给这个“听众”。好的。一切正常,但是当内置行为停止时该怎么办,例如“dialog_runner_dev”。我想如果任何时候行为停止,它就会发出一个可以被 this 捕获的信号ALBehaviorManager::behaviorStopped(std::string behaviorName)
。
我的想法是制作一个始终有效的信号监听器。此信号侦听器在行为停止时做出反应,然后继续侦听其他行为。
nao-robot - Pepper 机器人车轮控制
有没有办法像控制 NAO 的腿一样控制 Pepper 的各个轮子?
我们想为机器人的底座使用我们自己的运动控制器,但似乎任何通过 DCM 发送到车轮的命令都会被 ALMotion 自动覆盖。
javascript - Pepper:在 js 中使用记录器类
有什么方法可以在 JavaScript 中使用 Pepper 记录器函数,例如在 Python 中写入 Choregraphe 日志?
从console.log()
JS 不起作用。
pepper - 在电脑上执行 Pepper 网页
因此,我想在我的计算机中使用 Mozilla 的控制台来查看在他的平板电脑中通常由 Pepper 机器人执行的页面有哪些错误,因为 console.log()
没有显示在 Choregraphe 日志中。
我试图qimessaging.js
从计算机调用机器人库,但它会引发错误:
SyntaxError:URI 格式错误。qimessaging.js:12
html在那里:
有没有办法qimessaging.js
在我的计算机上调用没有错误的网络来测试网络?
pepper - Pepper human detection
I want to detect people without relying on face detection. In cases where lighting conditions are poor, or Pepper is facing away, people are not detected. The memory events 'PeoplePerception/JustArrived' and 'EngagementZones/PersonApproached' seem to rely on faces being detectable by the camera. Is there a memory event which is triggered by changes in laser/infrared/sonar distance?
I wonder if there is a better solution than:
python - 如何使用 python 脚本安装软件包
我想用 python 脚本安装一个包。我已阅读有关 PackageManager API 的文档(http://doc.aldebaran.com/2-4/naoqi/core/packagemanager-api.html):
因此,我已将应用程序与 choregraphe 打包在一起,如http://doc.aldebaran.com/2-4/naoqi/core/packagemanager.html中所述,我尝试使用如下所示的 python 脚本安装它:
这是我收到的错误:
我猜这是因为必须将包上传到机器人上,并且包文件路径必须是机器人上的路径。
已编辑
我已将包添加到编排空白项目并在机器人上运行此空白项目。通过这种方式,包被保存到带有路径的机器人中/home/nao/.local/share/PackageManager/apps/.lastUploadedChoregrapheBehavior/test_package_handlers_01-835a92-1.0.0.pkg
,当我更改脚本中的路径("C:\\test_package_handlers_01-835a92-1.0.0.pkg"
with "/home/nao/.local/share/PackageManager/apps/.lastUploadedChoregrapheBehavior/test_package_handlers_01-835a92-1.0.0.pkg"
)时,脚本按预期工作并且包安装在机器人上。
那么有没有办法从我的 PC 安装包而不将它们上传到机器人,因为否则最好使用 Choregraphe 来上传项目。
也许最好对我想要实现的目标进行以下解释:
- 例如,我的 PC 上有一个包含 20 个包的文件夹
- 我想用一个 python 脚本安装所有这 20 个包
- 有一个 python 脚本,当它被这样调用时,它会安装文件夹中的所有包:
python package_installer.py path_to_packages_folder
已编辑_2
这段代码ftp = ftplib.FTP(ROBOT_URL)
抛出以下异常:
此外,当我使用用户名“nao”连接到机器人并按照http://doc.aldebaran.com/2-5/dev/tools/opennao.html中的描述传递“nao”时,然后尝试在/home/nao/.local/share/PackageManager/apps/
其中创建一个文件夹sudo mkdir
它告诉我:Sorry, user nao is not allowed to execute '/bin/mkdir dasdas' as root on Pepper.
。如果我只mkdir
在这里使用它会告诉我:mkdir: cannot create directory 'new_folder': Permission denied
pepper - Pepper 机器人:subscribeCamera 的名称参数
我想从 Pepper 的相机中捕获图像,所以首先我订阅了相机 usingsubscribeCamera
方法。我看过文档。
所以函数需要一些参数:
参数:
- Name – 订阅模块的名称。
- CameraIndex – 视频系统中摄像机的索引(请参阅摄像机索引)。
- 分辨率 - 请求的分辨率(请参阅支持的分辨率)。
- ColorSpace – 请求的颜色空间(请参阅支持的颜色空间)。
- Fps – 向视频源请求的 Fps(每秒帧数)(请参阅支持的帧速率)。
我的问题是关于第一个参数:name,因为文档说:
警告
同一个名字只能使用六次。
为什么名字只能用6次?在六次之后,函数停止返回一个值。所以我必须每6次更改名称?
javascript - Pepper:来自相机的奇怪图像
我想从他的相机中显示 Pepper 平板电脑中的图像。我已经完成了 Javascript 代码来处理并在 web 视图中显示图像。问题是显示的图像很奇怪:
我已经根据这个例子编写了这段代码:
我必须做些什么来解决这个问题?