问题标签 [robotics]

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.

0 投票
1 回答
169 浏览

wireless - 是否存在可以通过命令行或 curl 控制或读取的无线机器人甚至机器人传感器?

我看到像 Rovio 这样的机器人,它们声称是“无线”或“wifi”,但似乎他们希望你使用他们附带的软件来控制机器人。有什么方法可以从命令行或 curl 控制现有的商用机器人(或者甚至只是读取可用的无线传感器,例如光或运动)?(例如,点击机器人 ip 和它正在侦听的端口,然后发送 Web 服务、soap、甚至 http 消息或任何东西)。即使只是能够从命令行收听传感器也会有所帮助......

基本上,大多数“可编程”机器人上面都有轻量级的语言,你必须将代码物理存储在它们上面,所以你的能力非常有限。我想要做的(并且肯定存在)是拥有一个完全客户端轻且服务器重的机器人(即所有智能和逻辑都存储在一些可以无线控制机器人的机器上)。这样我就可以用任何语言编码(并且有任意长的代码库),只要我可以向机器人发送愚蠢的无线命令(例如向前移动,给我你的传感器数据等)

这样的事情是否以任何形式存在?

0 投票
2 回答
343 浏览

development-environment - 轻量级、行为驱动的多智能体机器人模拟器?

寻找一个多代理、轻量级、行为驱动和可编写脚本的可视化运行时的机器人模拟器——它也可能是 2D 的。不需要将逻辑输出到现实世界。除了与传感器/电机组合相关的行为之外 - 如果可以对传感器进行编码以响应颜色/大小/速度/等(猎物/捕食者/交配)并产生因接触而发生的事件(死亡/出生/能量增益)。

因此,到目前为止,我已经查看了以下内容,其中没有一个具有半复杂的行为分配、渲染和报告:

BugWorks:多代理、行为驱动、轻量级、可视化运行时——但据我所知不可编写脚本;这意味着您可以使用 GUI 并保存它,但它们没有代码输出可直接编辑。一件好事是有一个重现功能。虽然实现很奇怪,但每次点击会产生一个机器人(它不是基于机器人交互),并且似乎取所有机器人呈现的所有属性的平均值;不过总比没有功能好。更多信息

Guido van Robot:不是多代理,但它为机器人和环境提供了自己的简单脚本语言,并内置了调试器。更多信息

Algodoo:它有 2D Physics,点击式界面,但是显卡很重,所以我测试了很多。更多信息

有什么建议么?

0 投票
4 回答
1116 浏览

python - Python 中处理外部异常的最佳实践(我是否使用 raise?)

我正在用 Python 编写一个程序,它在基本层面上与电机控制器通信。控制器可能会抛出指示发生错误的标志。我试图弄清楚如何最好地处理这些错误。

在下面的示例中,存在三种可能的错误:温度故障、电流限制故障和电压故障。我处理它们的方式不同。有正确的方法还是主观的?

去掉整个似乎要简单得多try:。只需在 while 循环中设置一个标志并中断。循环结束后,查看标志,看看while循环是否成功退出。

但是使用我不太理解的术语似乎是错误的或非pythonic。这真的有什么问题吗?谢谢,请记住,我不是 CS 专业的,自 1982 年以来我没有上过编程课。

0 投票
3 回答
4953 浏览

c++ - 如何执行陀螺仪数据的离散积分?

集成产生角度时测量角度旋转速率的陀螺仪对吗?我的问题是我该怎么做?到目前为止我所做的只是添加我检测到的所有角度,这似乎是非常错误的

非常欢迎提出建议。谢谢

0 投票
4 回答
5803 浏览

lisp - 用 lisp 进行机器人编程?

我正在寻找一些使用 lisp 进行机器人/AI 编程的示例。是否有任何好的在线示例可用(最好不要太学术)?

0 投票
1 回答
313 浏览

event-handling - 我可以在 C 节点中获得 Erlang OTP 行为吗?

例如,现在我有一个 C 节点(称为CN),它连接到一个 erlang 节点(称为EN)并使用 RPC 来使用 OTP 行为。因此,要将事件从CN发送到EN上的事件管理器,我将CN连接到EN并执行

但是,然后,我的 C 节点实际上并没有表现得像一个节点(即,为什么要创建一个只使用远程过程调用的节点?)。

有没有办法在 C 节点中直接使用 OTP 行为?

如果没有,我是否应该深入了解 OTP 使用的消息格式并使用该格式发送消息(即我可以欺骗 OTP 行为吗?)?我不喜欢这个想法,我将不得不注意 OTP 等实施的变化。

我的要求有严格的延迟限制,这对我选择 C ​​进程和 Erlang 之间的通信有何影响(RPC 会不会让我陷入困境?等等)?

0 投票
2 回答
2413 浏览

erlang - Erlang 中的机器人应用程序

我想使用 Erlang 来实现机器人应用程序。大多数当前在 Erlang 中实现的现实世界应用程序都是基于 Web 的。corrado教授实现的机器人并没有利用Erlang的核心Erlang的并发性,而是更多地专注于人工智能(根据我对那个项目的理解)。

我想到的一些想法就像 Soccor Robots,多个机器人打扫房间,但在这样的系统中,机器人可以用 C(或任何其他编程语言)编程,可以使用 MATLAB 进行控制。MATLAB有助于图像处理(视觉系统)和解决复杂的数组计算,那么使用Erlang有什么意义呢?(如果我错了,请纠正我)

有人可以向我推荐一些机器人应用程序,它可以利用 Erlang 的特性,尤其是并发性,并且有人可以说Erlang 最适合这种应用程序而不是其他语言。

一点点详细的答案会对我有很大帮助。

0 投票
2 回答
1193 浏览

c++ - 为什么我在使用 Aria 机器人 API 时会收到 SIGSEGV 信号?

我正在使用移动机器人的 Aria C++ 编程库 (http://robots.mobilerobots.com/wiki/ARIA)。我是这个 API 的新手,所以我想从一个从 ArAction 派生的简单动作类开始。现在我尝试开发一个小型测试程序(ArAction),以便通过 MobileSim 控制模拟的 p3dx 机器人。开发在 Ubuntu 10.10 下使用 gcc 4.4.5 进行。制作(编译)我的代码工作正常,没有错误。例如,我还可以在我的 ArAction 的 fire() 方法中设置所需的速度,并且模拟也可以按需要工作。

但是,不幸的是,我不能使用附加到我要覆盖的 ArAction 的 ArRobot 对象。问题是 ArRobot 对象的所有成员函数似乎都不起作用。例如,调用 getVel() 或 getCompass() 总是返回零值。当我调用 hasFrontBumpers() 方法时,程序甚至崩溃并显示错误消息“Aria: Received signal 'SIGSEGV'. Exiting.”。一旦我删除了这个方法调用并重新编译,错误也再次消失了......

以下是导致崩溃的相关代码:

我在这里缺少的任何想法-是我的编码问题还是模拟环境有问题?在此先感谢您的帮助!

亲切的问候,马蒂亚斯

0 投票
7 回答
4737 浏览

c++ - C or C++ for a Robot?

Greetings,

I am trying to decide between C and C++ for my robot. I am a 5+ year veteran of Visual Basic.NET, however I'm going with Linux (Ubuntu) on this robot, and there is a compatibility problem between Linux and the .NET Framework. I want to stick with whichever language I choose for all of my projects, so I want to make sure that I choose the most appropriate one for the task. For reference, I will describe my current robot in progress and what I am going to do with it. I am in the process of building a full-sized R4 Astromech (yep, I'm one of those guys). I have incorporated a PC motherboard with an Intel Core 2 2.1 GHz processor, 1 GB RAM. I will be using a scratch-built parallel interface card to control the drive motors, head motor, as well as a secondary parallel interface card (going to a second parallel port) which all of the sensors (IR, Ultrasonic Ranging, Visual Recognition via webcam, etc.) will be going to. Commands will be given using speech recognition (currently have a VB.NET scratch-built recognition program that I will be adapting to the new language). Given the specifications and desired goals listed above, would I be better off with C or C++? I greatly appreciate any suggestions that you might have. Thanks! Thaskalas

0 投票
2 回答
2209 浏览

controls - 双pid循环

我正在从事一个机器人项目,其中涉及控制大型机械臂的位置。建议是使用双 PID 循环,我想知道这涉及到什么。

正如向我描述的那样,第一个 PID 回路应该处理手臂的速度(因为它预计很重且很长,因此“更难”控制),然后是第二个控制手臂的位置和进给将其值放入第一个 PID。

我之前使用过 PID,按照维基百科上提供的表格来校准循环。(又名:不要假设我将能够使用复杂的方法来校准环路)

所以我正在寻找一些好的资源来帮助如何校准循环,以及一些关于如何使它工作的信息(伪代码),如果这甚至是一个好主意。