标签: robotics

Roomba使用什么平台/语言?

出于好奇,有没有人知道用于编程Roomba的平台和编程语言?我不是在谈论售后市场工具包,而是用于在工厂实施算法的内容?

robotics

7
推荐指数
1
解决办法
5666
查看次数

机器人与计算机视觉

几个朋友和我将建立简单的机器人跟踪黑色表面上的白线,我们以前从未做过这种事情,我有非常高水平的攻击计划,

获得满足所有计算需求的迷你atx板,跟踪道路的网络摄像头和2个用于推进方向的电动马达.

我主要担心的是,有没有更好的方法来追踪这条路?或者网络摄像头是否适合这项工作?

编辑:

跟着使用Photoresistor的答案似乎是要走的路,我还有一个问题就是有信号,在轨道的右边告诉机器人转向哪个方向.再次白色黑色.比如我必须在丁字路口左转.有没有办法在没有相机的情况下处理这个问题?

robotics computer-vision

7
推荐指数
2
解决办法
777
查看次数

C#机器人平台(即"人体大小的机器人")

编辑:提名重新开放,因为这最终属于常见问题解答部分" 编程专业独有的事项 ".

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

使用将是一个业余爱好项目,我编程机器人在我家里开车并进行维护(比如给我一杯水).我想把我的努力放在物体识别和控制运动(驾驶,武器等)上.我不想花时间建造一个机器人.从这个意义上说,这不是一个机器人项目,它是一个软件项目.

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

它不需要是完全成人的大小,只要它可以到达桌子和类似的东西.它也不必看起来像人类.

c# robotics

7
推荐指数
1
解决办法
2145
查看次数

Baxter的正向运动学

我根据其硬件规格和以下关节轴将Baxter臂机器人的正向运动学功能放在一起:百特零配置 以下正向运动学的关节位置与相应的笛卡尔坐标不匹配,我在这里做错了什么?

def FK_function_2(joints):
    def yaw(theta): #(rotation around z)
        y = np.array([[np.cos(theta), -np.sin(theta), 0],
                      [np.sin(theta), np.cos(theta), 0],
                      [0, 0, 1] ])
        return y

    R01 = yaw(joints[0]).dot(np.array([[-1,     0,   0],
                                       [0,      0,   1],
                                       [0,      1,   0]]))
    R12 = yaw(joints[1]).dot(np.array([[0,      0,   -1],
                                       [-1,     0,   0],
                                       [0,      1,   0]]))
    R23 = yaw(joints[2]).dot(np.array([[-1,     0,   0],
                                       [0,      0,   1],
                                       [0,      1,   0]]))
    R34 = yaw(joints[3]).dot(np.array([[-1,     0,   0],
                                       [0,      0,   1],
                                       [0,      1,   0]]))
    R45 = yaw(joints[4]).dot(np.array([[-1,     0,   0],
                                       [0,      0,   1],
                                       [0,      1,   0]])) …
Run Code Online (Sandbox Code Playgroud)

python robotics kinematics

7
推荐指数
1
解决办法
939
查看次数

如何在Microsoft Robotics Studio 2.0中创建新类型的实体?

我正在尝试用MRS来教自己一些基本的AI; 我想要做的是制造一个火箭实体,包括矢量排气和分段.任何人都知道如何制作一个可以飞行的实体?或者我只需要不断向上施力?

robotics artificial-intelligence robotics-studio

6
推荐指数
1
解决办法
452
查看次数

单元测试具有不可预测的外部依赖性的代码

我参与了一个项目,除其他外,必须控制各种实验室仪器(机器人,读者等......)

大多数这些仪器都是通过基于DCOM的驱动程序,串行端口或通过启动具有各种参数的专有程序来控制的.其中一些程序或驱动程序包括模拟模式,有些则不包括.显然,我的开发计算机无法连接到所有仪器,虽然我可以为驱动程序包含模拟模式的仪器启动虚拟机,但如果没有实际仪器,则无法测试某些内容.

现在,我自己的代码主要不是关于仪器的实际操作,而是关于启动操作,确保一切正常,并在它们之间进行同步.它是用Java编写的,使用各种库与仪器及其驱动程序进行交互.

我想为各种仪器控制模块编写单元测试.但是,因为仪器可以在很多方面失败(其中一些是记录的,其中一些不是),因为代码依赖于这些部分随机输出,我对于如何为这些部分编写单元测试有点迷失.我的代码.我考虑过以下解决方案:

  • 只测试连接的实际仪器,可能是最准确的方法,但它根本不实用(在读卡器中插入板,运行单元测试,移除板,运行单元测试等......),更不用说有潜在危险了,
  • 使用模拟对象来模拟与事物实际通信的部分; 虽然这个肯定更容易实现(和运行),但它可能无法再现所有潜在的失败(如上所述,很多都是无证的,有时会导致不良意外)

虽然我目前正在考虑与后者合作,但我错过了一些东西吗?有一个更好的方法吗?

java junit robotics

6
推荐指数
1
解决办法
331
查看次数

如何正确计算三角洲机器人的直接运动学?

我正在尝试为三角洲机器人组合一个简单的模拟,我想使​​用正向运动学(直接运动学)通过传递3个角度来计算末端执行器在空间中的位置.

我开始使用Trossen机器人论坛Delta机器人教程,我可以理解大部分数学,但不是全部.当我试图计算3个球体相交的点时,我在前向运动学的最后部分迷路了.我一般都看过球面坐标,但无法找出用于找到旋转的两个角度(到E(x,y,z)).我看到他们正在解决球体的方程式,但这就是我迷失的地方.

三角机器人直接运动学

三角机器人直接运动学

三角机器人直接运动学

三角洲机器人是并联机器人(意味着基座和末端执行器(头部)始终保持平行).基部和末端执行器是等边三角形,腿(通常)放置在三角形边的中间.

Delta机器人底座的侧面有标记f.三角机器人的效应器的一侧被标记e.腿的上部标记rf,下侧re.

原点(O)位于基本三角形的中心.伺服电机位于基本三角形的中间(F1,F2,F3).关节标记为J1,J2,J3.小腿在点E1,E2,E3处连接末端执行器,并且E是末端执行器三角形的中心.

我可以轻松计算点F1,F2,F3和J1,J2,J3.这是E1,E2,E3我遇到了问题.根据解释,我理解J1点向内翻转一点(末端效应器的中位数的一半)到J1',它成为半径re(小腿长度)的球体的中心.对所有关节执行此操作将导致3个球体在相同位置相交:E(x,y,z).通过求解球面方程,我们找到E(x,y,z).

还有一个公式解释:

dk等式1

dk等式2 但这就是我迷路的地方.我的数学技能不是很好.有人可以用更简单的方式解释这些,因为我们对数学的了解较少吗?

我还使用了提供的示例代码(如果您有支持WebGL的浏览器),您可以在这里运行.单击并拖动以旋转场景.为了控制三个角度,使用q/Q,w/W,e/E来减小/增加角度.

完整代码清单:

//Rhino measurements in cm
final float e = 21;//end effector side
final float f = 60.33;//base side
final float rf = 67.5;//upper leg length - radius of upper sphere
final float re = 95;//lower leg length - redius of lower sphere (with offset will join in E(x,y,z))

final float sqrt3 = sqrt(3.0);
final float sin120 = …
Run Code Online (Sandbox Code Playgroud)

java math robotics kinematics computational-geometry

6
推荐指数
1
解决办法
1万
查看次数

无人机的虚拟测试环境

有没有人知道机器人开发者环境非常适合测试无人机的AI程序(例如,四轴飞机,飞机,直升机等)?我想像微软机器人开发者工作室这样的东西,包括虚拟环境(如带有重力,风等的室外环境)来测试飞行动力学.我想选择向虚拟无人机添加传感器,例如gps,高度计,陀螺仪等,然后AI程序可以使用它来操纵无人机.

robotics artificial-intelligence machine-learning robotics-studio ar.drone

6
推荐指数
1
解决办法
845
查看次数

根据旋转角度计算新的点偏移量?

我正在处理一个过去几周的申请,涉及一些三角学,目前我被困住了.如下图所示,我有一个圆形项目(位置#1的绿色圆圈),我知道中心点(让我们称之为X1,Y1).圆圈有另一个点(橙色圆圈)偏离中心位置 - 在另外两个标记(蓝色圆圈)之间.这些标记可以四处移动.计算橙色点的坐标(我们称之为X2,Y2),并计算蓝色线相对于圆的水平线的角度(称之为角度).

图

我可以通过以下方式计算圆心和点之间的差异:

deltaX = X2-X1

deltaY = Y2-Y1

我需要移动并旋转绿色圆圈(CW或CCW - 以较短者为准)从它的起始位置(位置1)到位置2.这意味着角度可以是负的或正的.蓝线必须以垂直方向结束,橙色点位于位置2的中心(红色方块).我知道位置2中心的坐标(让我们称之为X3,Y3).位置#1和位置#2彼此正好相差90度.

我以为我可以使用一些计算点的旋转的trig标识公式,如下所示:

offsetX = deltaX*cos(90-Angle) - deltaY*sin(90-Angle)

offsetY = deltaX*sin(90-Angle)+ deltaY*cos(90-Angle)

当我移动/旋转到位置2时,我希望这些偏移是我需要将圆圈调整到它的新中心.

X3 = X3 + offsetX

Y3 = Y3 + offsetY

但是,当我尝试使用这个数学时,它不会将圆圈的橙色标记放在方形的中心.不确定我的方程和计算是否正确,基于旋转角度(正或负,CW或CCW)或我是否正确使用角度(我从90度减去已知角度).如何正确计算最终点/位置?任何帮助和示例将不胜感激!

非常感谢您的宝贵时间!

.net c# math robotics trigonometry

6
推荐指数
1
解决办法
4484
查看次数

理解逆运动学 pybullet

我正在尝试使用pybullet中的模拟 PR2 机器人进行笛卡尔控制。在 pybullet 中,函数calculateInverseKinematics(...)可以选择采用关节下限、上限、关节范围和静止姿势来进行零空间控制。

首先,使用零空间控制而不是“常规”逆运动学可以获得什么实际好处?

其次,为什么要指定关节范围,这不完全是由上下限决定的吗?连续关节的范围是多少?

休息姿势到底是什么?这只是机器人开始执行任务之前的初始姿势吗?

robotics inverse-kinematics bulletphysics

6
推荐指数
1
解决办法
6499
查看次数