问题标签 [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 投票
2 回答
1869 浏览

c++ - 二值图像角点检测

我有一个表示二进制图像的矩阵(每个单元格代表“黑色”像素,0 代表“白色”像素)。黑色像素代表图像的图形(形状和填充),白色像素代表背景。我想要做的是检测矩阵中表示的图形的角。

2个例子:


在此处输入图像描述


有什么想法或算法吗?

提前致谢。

0 投票
1 回答
179 浏览

c# - 全内存屏障和 ExclusiveReceiverGroup

使用以下代码:

我是否需要围绕 totalSum += computeResult.Result 生成一个完整的内存屏障?ExclusiveReceiverGroup的Receiver注册中的handler会被线程池调用,因为dispatcherQueue不使用Dispatcher。我读过线程池为它调用的回调生成了一个内存屏障,但这是否只是保证回调引用本身的新鲜度?

ExclusiveReceiverGroup 不会与任何其他代码同时运行,因此通过computationResult.Result 递增totalSum 不必是原子的。我知道 Interlocked.Add 隐式生成一个完整的栅栏,但我只是想看看我是否可以不使用它而逃脱。

这是一个理论问题。我实际上没有像上面的示例代码那样的任何代码,也没有此类代码的任何用例。所以,我想避免“使用 Interlocked.Add 以防万一”的答案。这更像是一个“让我们学习新东西”的问题。

0 投票
3 回答
2884 浏览

python - 在 3D 中建模机械臂运动,想法?

我希望你不介意我就机器人系统建模寻求一些建议。我最近对使用逆运动学 (IK) 来控制 5 自由度机器人机械手产生了浓厚的兴趣。我在 IK 方面有扎实的基础,但我遇到的问题是一种可视化操纵器相对于关节角度如何移动的方法。

我已经研究过使用 3D 工具包(例如 Blender、Panda3D、vPython)来创建手臂的 3d 模型,但我不确定我是否应该寻找具有物理支持的东西。我也不确定用这些包模拟运动的效果如何。有人有什么建议吗?我不想要的是一个完整的机器人模拟器,比如微软的 Robotic Studio,我想从基础开始,先了解一切是如何工作的,即在 Python 中编写 IK,然后在 3D 中可视化运动。我对 Python 非常熟悉,因此最好使用与 Python 接口的东西。

谢谢!

0 投票
8 回答
8675 浏览

algorithm - 机器人探索算法

我正在尝试为机器人设计一种算法,该算法试图找到位于包含障碍物的世界中的标志(位于未知位置)。机器人的任务是夺取旗帜并将其带到他的基地(代表他的起始位置)。机器人在每一步只能看到一个有限的邻域(他事先并不知道世界的样子),但他有无限的记忆来存储已经访问过的单元格。

我正在寻找有关如何以有效方式执行此操作的任何建议。尤其是第一部分;即登上国旗。

在此处输入图像描述

0 投票
1 回答
425 浏览

math - 比例积分导数中的 I

PID(比例积分微分)中的 I 是最后几个先前误差的总和,仅由它的增益加权。

使用 error(-1) 表示先前的错误,使用 error(-2) 表示之前的错误等...“I”可以描述为:

I = (error(-1) + error(-2) + error(-3) + error(-4) 等等...) * I_gain

为什么在设计 PID 时“我”没有设计为将重要性倾斜到过去,例如:

I = (error(-1) + (error(-2) * 0.9) + (error(-3) * 0.81) + (error(-4) * 0.729) + etc...) * I_gain

编辑:改写

0 投票
1 回答
2647 浏览

c++ - Qt 调试错误:“解析目标库列表时:格式不正确(无效令牌)”

我正在使用 QtCreator 调试在 Qt/C++ 中开发的应用程序。我的应用程序使用 QextSerialPort 从串行端口读取数据,其中串行端口连接到 Rhino Mark IV 控制器。

我遇到了麻烦,因为我尝试读取一些 ASCII 数据,但是我进入缓冲区的是一些奇怪的字符。例如,数字零 ('0') 的 ASCII 代码被调试器显示并打印qDebug为 '°' 的另一个代码替换。

此外,我在“应用程序输出”选项卡中收到以下消息:while parsing target library list: not well-formed (invalid token).

我想知道为什么我没有使用 QextSerialPort 获得适当的 ASCII 代码。是 QextSerialPort 还是 Rhino Mark IV 控制器的问题?我正在通过两个显示器上的串行端口查看流量,并且 ASCII 字符在显示器上正确显示。因此,我得出结论,这不是控制器或通信渠道的问题。

while parsing target library list: not well-formed (invalid token)消息是什么意思,为什么会出现?

0 投票
3 回答
2207 浏览

c# - C#机器人平台(即“人类大小的机器人”)

编辑:提名重新开放,因为这绝对属于常见问题解答部分“编程行业独有的事项”。

我想用 C# 编写机器人程序。这个问题是关于这样做的现有套件/组件。我欢迎任何关于从哪里开始的指示。例如:Robotics Studio 是这个项目的好平台吗?

该用途将是一个爱好项目,我对机器人进行编程,使其在我家中四处行驶并进行维护(比如给我一杯水)。我想把我的精力放在物体识别和控制运动(驾驶、手臂等)上。我不想花时间建造机器人。从这个意义上说,这不是一个机器人项目,而是一个软件项目。

是否有任何带有 .Net SDK(或我可以 P/Invoke 的东西)的人类大小的机器人?

只要它可以够到桌子和类似物品上的东西,它就不需要完全是成年人的大小。它也不必看起来像一个人。

0 投票
2 回答
2970 浏览

python - 模拟机器人运动的最佳 3D 库

不久,我询问了有关为机器人运动建模(使用 Python 中的逆运动学)选择兼容 Python 的 3D 图形库的建议。在做了一些研究并重新定义了我的目标之后,我希望我能再次寻求一些帮助。

当时我认为 Blender 是最好的选择 - 但现在我有疑问了。我的一个关键目标是能够将模型集成到自定义 GUI (wxPython) 中。似乎这可能相当困难(而且我不确定性能要求)。

我想我现在更倾向于 OpenGL (PyOpenGL + wxglcanvas),但我仍在努力确定它是否适合这项工作。我更像是一个 CAD 人,所以我很难想象如何在 API 中绘制复杂的对象并创建运动。我读到我可以在 Blender 中设计对象,然后以某种方式将其导入 OpenGL,但我不确定这个过程?操纵物体的运动有多难?例如,如果我在两个链接之间创建一个关节,并且我移动一个链接,另一个链接是否会根据第一个链接动态移动,或者我是否需要独立编程每个链接的移动?

我错过了任何明显的工具吗?我不是在寻找完整的机器人建模包,我想从头开始,以便将其合并到我自己的程序中。因为学习比什么都重要。到目前为止,我已经研究了 vPython、Pyglet、Panda3D、Ogre 和几个专业的 CAD 软件包。

谢谢

0 投票
2 回答
1506 浏览

java - 在 Roomba 上获取 Java(机器人)

问题是如何使用 Java 使用 Roomba?

0 投票
2 回答
217 浏览

android - 基于 Tegra 的机器人平台

我正在研究开发运行 Android 的基于 Tegra 的机器人平台的可能性。为此,我需要能够进行串行、I2C 和可能的 PWM 通信,Tegra 平台是否允许这样做?Android 是否支持访问这种硬件级别的通信?