标签: robotics

将s/w编程与h/w编程相关联

我已经在s/w编程多年了.多年来我也对h/w编程(电路+机器人+等)感兴趣.

请从哪里开始h/w编程的建议.我的目标是将s/w和h/w结合起来.

hardware robotics

5
推荐指数
1
解决办法
181
查看次数

如何在机器人之外使用CCR,DSS,VPL(又名微软机器人开发工作室)?

如何在机器人之外使用CCR,DSS,VPL(又名微软机器人开发工作室)?

我正在寻找这个领域的指导.我已经尝试了所有的例子,并找到了有趣的框架.

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

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

robotics robotics-studio ccr

5
推荐指数
1
解决办法
1130
查看次数

确定卡尔曼滤波器矩阵的协方差

我开始在我的机器人应用程序中探索使用概率.我的目标是进入完整的SLAM,但我开始使用更简单的卡尔曼滤波器来完成我的工作.

我正在使用扩展卡尔曼滤波器,状态为[X,Y,Theta].我使用控制输入[Distance,Vector],我有一个76个激光范围的数组[Distance,Theta]作为我的测量输入.

我无法知道如何决定在高斯函数中使用的协方差.因为我的测量结果是不确定的(激光在<1米时准确度约为1cm,但在更高的范围内精确度可达5cm)我不知道如何创建"函数"来估计这种情况的概率.我知道这个函数应该用'线性化'来使用,但我不知道该怎么做.

我有理由相信如何决定我的状态Gaussian的函数,我很高兴在这个上使用普通的旧均值= 0,方差= 1.这应该不起作用?我很感激人们理解卡尔曼滤波器的一些帮助,因为我想我可能会遗漏一些东西.

math robotics probability

5
推荐指数
1
解决办法
437
查看次数

在机器人上使用2个固定摄像头避障

我将开始研究一个机器人项目,该项目涉及一个移动机器人,它安装了2个相机(1.3 MP),固定在0.5米之间.我也有一些超声波传感器,但它们只有10个范围,我的环境是相当大的(作为一个例子,以一个大型仓库有许多柱子,箱子,墙壁.etc).我的主要任务是识别障碍,也找到了一个大致的"最佳"路线,机器人必须采取以导航在"粗糙"的环境中(底层根本不光滑).所有图像处理都不是在机器人上进行的,而是在装有NVIDIA GT425 2Gb Ram的计算机上进行的.

我的问题是:

  1. 我应该将相机安装在旋转支架上,以便他们以更广的角度拍摄照片吗?

  2. 只有两个视图在这么小的距离之间创建一个合理的3D重建是可能的吗?如果是这样,我可以在多大程度上将其用于避障和最佳路线建设?

  3. 如果可以对环境进行大致准确的3D表示,那么如何将其用作创建环境地图?(考虑下面的例子:机器人必须扫过一个相当大的区域,如果它不会经过两次相同的地方(或路线),它将是节能的;但是当从一个方向进行3D重建时,它怎么能分辨出来?如果它来自那里,如果来自相反的方向)

我在类似的问题上找到了这个回答,但我仍然关注3D重建的准确性(例如考虑到相机之间的小分辨率和距离,位于100米处的几个盒子).

我刚开始收集这个项目的信息,所以如果你已经开始研究类似的东西,请给我一些指导(和一些链接:D)我应该如何处理这个特定的任务.

在此先感谢Tamash

graphics robotics opencv computer-vision

5
推荐指数
1
解决办法
1621
查看次数

C++反向运动学算法/库,包括当链中的几个节点的位置已知时的IK方法

我正在寻找一个理想的c ++库/代码(但如果不是至少一个算法),它解决了给定n个节点链的IK问题,其中估计链中k个节点(其中k <n)的位置众所周知.

任何帮助非常感谢.

c++ graphics robotics computational-geometry inverse-kinematics

5
推荐指数
1
解决办法
1481
查看次数

计算在2D中将四边形变换为另一个四边形的矩阵

在下图中,目标是计算单应矩阵H,其将点a1 a2 a3 a4变换为它们的对应点b1 b2 b3 b4.那是:

[b1 b2 b3 b4] = H * [a1 a2 a3 a4]
Run Code Online (Sandbox Code Playgroud)

您建议采用什么方式成为计算H(3x3)的最佳方法.a1 ... b4是2D中的点,它们在齐次坐标系中表示(即[a1_x a1_y 1]',...). 编辑:对于这些类型的问题我们使用SVD,所以我想看看如何在Matlab中简单地完成.

编辑:

以下是我最初尝试使用Maltlab中的svd(H = Q/P)来解决它的方法.Cosider给出了给定示例的以下代码

px=[0 1 1 0];  % a square
py=[1 1 0 0];

qx=[18 18 80 80];    % a random quadrangle
qy=[-20 20 60 -60];
if (DEBUG)
  fill(px,py,'r');
  fill(qx,qy,'r');
end

Q=[qx;qy;ones(size(qx))];
P=[px;py;ones(size(px))];
H=Q/P;
H*P-Q
answer:
   -0.0000         0         0         0         0
  -20.0000   20.0000  -20.0000   20.0000    0.0000
   -0.0000         0         0         0   -0.0000 …
Run Code Online (Sandbox Code Playgroud)

matlab robotics computer-vision numerical-methods projective-geometry

5
推荐指数
1
解决办法
4857
查看次数

与传送器的寻路

我正在开发一个带有虚拟机器人的项目(计算机工艺模块中的Turtles for Minecraft),机器人将处于迷宫般的隧道中并且必须在其中导航.世界很方便地已经分为瓦片(它们的2D笛卡尔图,每个都有一个布尔可通过/不可通过的值),构建隧道的机器人将在他去的时候映射它们.

此外,在机器人需要快速进入的区域内散布着传送器"快捷方式".

问题是:让机器人找到目的地的最佳途径是什么?系统如何识别需要传送器的区域?A*是最着名的算法,但还有其他更适合应用程序的算法吗?请记住,我对寻路算法的经验很少,因此您可能需要将其分解为基本术语,以便我理解.有什么建议?

algorithm robotics path-finding cartesian

5
推荐指数
1
解决办法
1373
查看次数

试图从加速度计和陀螺仪中滤除(吨)噪声

我的项目:

我正在开发一款带3轴加速度计和陀螺仪的老虎车,试图估计汽车姿态(x,y,z,偏航,俯仰),但我的振动噪音有很大问题(当汽车正在运行时,例如,对于加速度计,噪声取值在±4 [g](其中g = 9.81 [m/s ^ 2])之间,因此齿轮引起振动并且轨道也变得更糟.

我知道(因为我观察它),噪音与我的所有传感器相关

在我的第一次尝试中,我试图用卡尔曼滤波器来解决它,但它没有用,因为我的状态向量的值有很大的噪音.

编辑2:在我的第二次尝试中,我在卡尔曼滤波器之前尝试了低通滤波器,但它只是减慢了我的系统并且没有滤除噪声的低分量.在这一点上,我意识到这种噪音可能由低频和高频组成.

我正在学习自适应滤波器(LMS和RLS),但我意识到我没有噪声信号,如果我使用一个加速度计信号来过滤其他轴的加速度计,我没有得到绝对值,所以它不起作用.

编辑:我在尝试寻找自适应滤波器的示例代码时遇到问题.如果有人知道类似的事情,我会非常感激.

这是我的问题:

有没有人知道过滤器或有任何想法如何我可以修复它并正确过滤我的信号?

非常感谢你提前,

XNOR

PD:我为我可能遇到的任何错误道歉,英语不是我的母语

robotics filtering noise sensor-fusion kalman-filter

5
推荐指数
1
解决办法
3378
查看次数

Tapster机器人与Appium的集成不适用于iOS应用程序

  • 我试图将Tapster Robot与appium集成以自动化iOS应用程序.
  • 我已经按照这个链接整合了tapster Hugs TapsterRobots
  • 我已经成功完成了app的校准,但之后如果通过在设置中启用机器人选项来执行appium测试脚本,我将无法执行脚本.并得到以下例外org.openqa.selenium.WebDriverException: undefined status object

java robotics ios appium appium-ios

5
推荐指数
0
解决办法
105
查看次数

如何防止懒惰的卷积神经网络?

如何防止懒惰的卷积神经网络?在用KERAS训练之后,我以'懒惰的CNN'结束.无论输入是什么,输出都是恒定的.您认为问题是什么?

我尽量重复NVIDIA的最终的实验结束学习的自动驾驶汽车的纸.当然,我没有真正的汽车,而是Udacity的模拟器.模拟器生成有关汽车前景的数据.

在此输入图像描述

CNN接收该图,并给出转向角以使汽车保持在轨道中.游戏规则是让模拟赛车安全地在赛道上运行.这不是很困难.

奇怪的是,有时候我会用KERAS训练懒惰的CNN结束,这会给出恒定的转向角度.模拟汽车将脱离技巧,但CNN的输出没有变化.特别是层变深,例如纸张中的CNN .

如果我使用这样的CNN,我可以在训练后得到一个有用的模型.

model = Sequential()
model.add(Lambda(lambda x: x/255.0 - 0.5, input_shape = (160,320,3)))
model.add(Cropping2D(cropping=((70,25),(0,0))))
model.add(Conv2D(24, 5, strides=(2, 2)))
model.add(Activation('relu'))
model.add(Conv2D(36, 5, strides=(2, 2)))
model.add(Activation('relu'))
model.add(Conv2D(48, 5, strides=(2, 2)))
model.add(Activation('relu'))
model.add(Flatten())
model.add(Dense(50))
model.add(Activation('sigmoid'))
model.add(Dense(10))
model.add(Activation('sigmoid'))
model.add(Dense(1))
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用更深的CNN,我有更多机会接收懒惰的CNN.具体来说,如果我使用喜欢NVIDIA的CNN,我每次训练后都会收到懒惰的CNN.

model = Sequential()
model.add(Lambda(lambda x: x/255.0 - 0.5, input_shape = (160,320,3)))
model.add(Cropping2D(cropping=((70,25),(0,0))))
model.add(Conv2D(24, 5, strides=(2, 2)))
model.add(Activation('relu'))
model.add(Conv2D(36, 5, strides=(2, 2)))
model.add(Activation('relu'))
model.add(Conv2D(48, 5, strides=(2, 2)))
model.add(Activation('relu'))
model.add(Conv2D(64, 3, strides=(1, 1)))
model.add(Activation('relu'))
model.add(Conv2D(64, 3, …
Run Code Online (Sandbox Code Playgroud)

robotics machine-learning computer-vision conv-neural-network keras

5
推荐指数
1
解决办法
213
查看次数