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

java - 仅使用距离和方位查找位置?

三角测量通过检查您与三个已知目标的角度来工作。

“我知道那是亚历山大灯塔,它位于地图上 (X,Y) 的位置,它就在我的右边,呈 90 度角。” 针对不同的目标和角度再重复 2 次。

三边测量通过检查您与三个已知目标的距离来工作。

“我知道那是亚历山大灯塔,它位于地图上 (X,Y) 的位置,而我距离那里 100 米。” 针对不同的目标和范围再重复 2 次。

但是这两种方法都依赖于知道你在看什么。

假设您在森林中,您无法区分树木,但您知道关键树在哪里。这些树被手工采摘为“地标”。

你有一个机器人慢慢地穿过那片森林。

您是否知道任何仅基于角度和范围来确定位置的方法,利用地标之间的几何形状?请注意,您也会看到其他树,因此您不会知道哪些树是关键树。忽略目标可能被遮挡的事实。我们的预算法会处理这个问题。

1)如果存在,它叫什么?我什么也找不到。

2) 你认为有两个相同位置“命中”的几率是多少?我想这是相当罕见的。

3)如果有两个相同的位置“命中”,我如何确定下一次移动机器人后的确切位置。(我假设在我重新定位机器人之后,连续出现 2 次精确角度的可能性在统计上是不可能的,除非像玉米一样成排生长的森林)。我会重新计算位置并希望最好吗?或者我会以某种方式将我之前的位置估计纳入我的下一个猜测中?

如果存在,我想阅读它,如果没有,将其作为一个副项目开发。我只是现在没有时间重新发明轮子,也没有时间从头开始实施。因此,如果它不存在,我将不得不找出另一种方法来定位机器人,因为这不是本研究的目的,如果存在,希望它是半简单的。

0 投票
4 回答
3139 浏览

robotics - 引导机器人通过路径

我有一个充满障碍物的领域,我知道它们的位置,并且我知道机器人的位置。使用寻路算法,我计算出机器人要遵循的路径。

现在我的问题是,我正在引导机器人从一个网格到另一个网格,但这会产生不太平滑的运动。我从 A 开始,将鼻子转到 B 点,笔直移动直到到达 B 点,冲洗并重复直到到达最后一点。

所以我的问题是:在这样的环境中使用什么样的技术来导航,以便我获得平稳的运动?

该机器人有两个轮子和两个电机。我通过反转电机来改变电机的方向。

编辑:我可以改变电机的速度,基本上机器人是一个 arduino 加 ardumoto,我可以为任一方向的电机提供 0-255 之间的值。

0 投票
5 回答
5104 浏览

c - How to make my robot move in a rectangular path along the black tape?

I am working on a robot, it's part of the summer robotics workshop in our college. We are using C-STAMP micro controllers by A-WIT. I was able to make it move, turn left, turn right, move backward. I have even managed to make it go along the black tape using a contrast sensor.

I send the robot at 30-45 degrees toward the black tape on the table and it aligns itself and starts to move along the black tape. It jerks a little, probably due to my programming logic below, it's running a while-loop and constantly checking if-statements, so it ends up trying to turn left and right every few milliseconds, which explains the jerking part. But it's okay, it works, not as smooth as I want it to work but it works! Problem is that I can't make my robot go into a rectangular path of the black tape. As soon as it reaches the corner of the black tape it just keeps going straight instead of making left or right turn.

My 2 sensors are located right underneath the robot, next to the front wheel, almost at the floor level. It has "index" value ranging from 0 to 8. Eight being the brightest contrast and zero being the darkest contrast. So when the robot moves into the black-tape-zone, the index value drops, and based on that, I have an if-statement telling my robot to either turn left or right.

Here's my attempt. To avoid confusion I didn't post the entire source code, but only the logical part responsible for the movement of my robot along the black tape.

I've spent the entire day trying to figure it out. I've pretty much exhausted all avenues. Asking for the solution on stackoverflow is my very last option now.

Thanks in advance! If you have any questions about the code, let me know, but comments should be self-explanatory.

This is my goForward function in case anyone wonders:

UPDATE: Here's what I've come up with so far. I've erased all my if-statements that I've posted earlier and decided to write the logic from scratch:

0 投票
3 回答
1231 浏览

erlang - 如何运行基于 Erlang 的机器人?是否可以将其转换为 .hex 并在微控制器上运行?

我正在从事 Erlang 机器人项目。我做了一个wallfollower机器人程序,它有两个文件1.一个与硬件通信的C程序(我认为我们不能直接使用Erlang)和2.调用这些函数的Erlang程序。我想知道我可以在哪里(平台)运行这个机器人。

是否可以在基于微控制器(8051 或 ARM7)的硬件上运行这个机器人?

是否可以将 Erlang 程序转换为 C 代码或直接转换为 .hex 文件?

0 投票
4 回答
1152 浏览

robotics - 如何在机器人之外使用 CCR、DSS、VPL(又名 Microsoft Robotics Development Studio)?

如何在机器人之外使用 CCR、DSS、VPL(又名 Microsoft Robotics Development Studio)?

我正在寻找该领域的指导。我已经尝试了所有的例子,发现这个框架很有趣。

任何人都可以发布机器人以外的其他用途和示例吗?

PS。我正在找人向我解释一些更复杂的东西。我对不同的实现有疑问。如果有人感兴趣,我愿意为高级主题的一对一谈话(咨询)付费。您可以通过电子邮件与我联系,与此处同名。

0 投票
5 回答
676 浏览

language-agnostic - 双足机器人的软件驱动运动有哪些技术?

我正在编写一个软件代理来控制模拟足球比赛中的机器人球员。最终我希望能参加 RoboCup 比赛。

在创建这样一个代理所涉及的各种挑战中,它的身体运动是我首先面临的挑战之一。我的目标模拟使用带有 22 个铰链的 Nao 机器人主体进行控制。每条腿六个,每条手臂四个,脖子两个:


(来源:sourceforge.net

我对机器学习很感兴趣,相信一定有一些技术可以控制这个人。

在任何时间点,都知道:

  • 所有 22 个铰链的角度
  • 位于机器人胸部的加速度计的 X、Y、Z 输出
  • 位于机器人胸部的陀螺仪的 X、Y、Z 输出
  • 通过机器人头部的摄像头定位某些地标(角落、目标)
  • 施加到每只脚底部的力的向量,以及给出力在脚底上的位置的向量

我想完成的任务类型是:

  • 以尽可能快的速度直线奔跑
  • 以定义的速度移动(即,一个根据附加输入处理快走和慢走的函数)
  • 倒着走
  • 现场转身
  • 沿着简单的曲线运行
  • 横着走
  • 尽可能高地跳跃并着陆而不会摔倒
  • 踢一个在你脚前的球
  • 在受到意想不到的力量(被球或其他球员击中)时做出“潜意识”的稳定动作,理想情况下与上述之一同时进行

对于这些任务中的每一个,我相信我可以提出一个合适的适应度函数,但不是一组具有预期输出的训练输入。也就是说,任何机器学习方法都需要提供无监督学习

我在开源项目中看到了一些示例,将圆函数(正弦波)以不同的幅度和相位连接到每个铰链的角度。这些似乎可以直线行走,但它们看起来都有些笨拙。不过,这并不是一种适用于我上面提到的所有任务的方法。

一些团队显然使用逆运动学,尽管我对此知之甚少。

那么,机器人双足运动/行走有哪些方法?


顺便说一句,我编写并发布了一个名为 TinMan 的 .NET 库,它提供与足球模拟服务器的基本交互。它为机器人的 22 个铰链的传感器和执行器提供了一个简单的编程模型。

您可以阅读更多关于 RoboCup 的 3D 模拟足球联赛的信息:

0 投票
4 回答
3236 浏览

localization - Finding distance travelled by robot using Optical Flow

I'm working on a project right now in which we are developing an autonomous robot. I have to basically find out the distance travelled by the robot between any 2 intervals. I'm using OpenCV, and using the Optical Flow functions of OpenCV, I'm able to find out the velocity/distance of each pixel in 2 different images. Using this information, I want to be able to find out the distance travelled by the robot in the interval between those 2 images.

I thought of a way in which we could develop an input output mapping between the distance travelled by pixels and the distance travelled by the bot (using some tests). In this way, using neural networks, we would be able to find the relationship. However, the optical flow would depend on the distance of the camera from the pixel, which would cause problems.

Is there any way to solve this problem?

0 投票
5 回答
539 浏览

artificial-intelligence - 人工智能行为决策

我正在运行物理模拟并将一组运动指令应用于模拟骨架。我有多组关于骨骼的说明,包括对腿、手臂、躯干等施加的力以及施加在它们各自骨骼上的力的持续时间。每组指令(行为)都是通过测试其执行所需行为的有效性来开发的,然后使用具有其他类似行为的遗传算法修改该行为,并再次对其进行测试。骨架将在其设置列表中有一个数组行为。

我有健身功能,可以测试稳定性、速度、熵最小化和关节力。问题是任何给定的行为都适用于特定的上下文。一种行为适用于平坦的地面,另一种行为适用于右脚前方有凸起,另一种行为适用于左脚前方,依此类推。因此,每种行为的适应度会根据上下文而有所不同。仅根据其先前的适应度水平选择行为是行不通的,因为该适应度分数不适用于此上下文。

我的问题是,我如何编程让骨架为上下文选择最佳行为?例如为随机的颠簸地形选择最佳步行行为。

0 投票
5 回答
706 浏览

robotics - 机器人、立体视觉、四处行驶和 AForge

我正在考虑建造一个小型机器人,它可以四处行驶,判断与物体的距离并避开障碍物(希望它会)——没什么复杂的,只是一个家庭有趣的项目。

我计划使用两个网络摄像头来确定距离和跟踪对象,并使用 AForge.Net 作为框架。我从来没有做过任何与人工智能和机器人相关的事情,所以我不知道从哪里开始。

我需要什么样的组件(车轮和发动机等,可以通过编程方式操作,某种可编程控制器?)我从哪里得到所有这些东西?

总体而言,我从哪里开始以实现它?我正在寻找一套可以解决基本问题并让我专注于机器人编程的工具。

0 投票
2 回答
523 浏览

localization - 使用光流的机器人行进距离

有没有办法使用光流找出机器人行进的距离?例如,使用 OpenCV,我能够找出相机拍摄的 2 张图像之间每个像素的速度。但是,我不知道该去哪里找出机器人行进的相应距离。你能建议一种方法吗?

我的主要目标是对机器人进行定位,为此我需要它在 2 个实例之间经过的距离。