我正在研究一种检测图像中地板的方法。我试图通过将图像缩小到彩色区域然后假设最大的区域是地板来实现这一点。(我们可以对机器人将在其中运行的环境做出一些相当广泛的假设)
我正在寻找的是有关适合此问题的算法的一些建议。任何帮助将不胜感激。
编辑:具体来说,我正在寻找一种可以可靠地提取一个区域的图像分割算法。我尝试过的一切(主要是PyrSegmentation)似乎都可以通过将图像减少到 N 种颜色来工作。当相机正在查看空白区域时,这会导致误报。
假设我有一个机器人,带有树莓派或jetson,运行 ROS。我想在我的笔记本电脑上查看传感器读数或 RVIZ 上的某些内容。或者也许可以使用连接到我的笔记本电脑的有线 Xbox 控制器来控制机器人...我是否可以在我的笔记本电脑上编写一个节点,该节点可以通过 LAN 网络或 Zigbee 连接到机器人的 roscore (rpi/jetson)模块什么的?
或者我是否必须在我的笔记本电脑上创建另一个 roscore 实例,并让它们通过 zigbee 模块/lan 相互通信?那会非常乏味......请不要告诉我这是唯一的选择。
编辑:关于使用 LAN 连接机器人和计算机的部分已经解释了...如果有人现在可以告诉我如何使用 RF 模块将其连接到机器人的 roscore,我将非常感激
所以我想用C语言中的2D数组表示一个长度为5x4(行x列)的矩形迷宫.但是,我无法确定实际需要放入2D阵列的内容.
int a[5][4] = {
{},
{},
{},
{},
{},
};
Run Code Online (Sandbox Code Playgroud)
这是2D数组的骨架,每行中将有4个值,我假设这些值中的每一个都是一个整数,它告诉我们迷宫中单元格的属性.我的问题是,这真的够了吗?单个值如何告诉机器人天气有3面墙,2面墙等
有人请赐教D:
我看到SLAM文献中经常使用因子图优化。而在Structure from Motion文献中,通常使用束调整。这两种方法有什么区别?
此外,我们可以使用另一种方法的库来实现一种方法吗?例如,使用 g2o 实施捆绑调整,或使用 ceres 求解器实施因子图优化?
提前致谢!
robotics computer-vision 3d-reconstruction structure-from-motion slam
我有一个表示二进制图像的矩阵(每个单元格1代表"黑色"像素,0代表"白色"像素).黑色像素表示图像的图形(形状和填充),白色表示背景.我想要做的是检测矩阵中表示的数字的角.
2个例子:

对此有何想法或算法?
提前致谢.
这是我的第一篇文章.我是FIRST机器人团队的首席程序员,今年的比赛是关于投掷飞盘.我想知道是否存在某种考虑空气阻力,初始速度,初始高度,初始角度等的轨迹的"大统一方程".基本上,我想从超声波测距仪获取数据,编码器确定我们的电机速度,发射器的角度,旋转力(应该是相当恒定的.我们将自己确定)和引力常数,并将它实时插入方程式中,因为我们'重新排队以确认/猜测我们是否会接近.如果有人听说过这样的事情,或者知道在哪里找到它,我会非常感激!(仅供参考,我已经做过一些研究,而我所能找到的只是每个方面的一些小方程,例如旋转和诸如此类的方法.它最终将用C++编程).谢谢!
下面的代码工作正常没有函数spinLeft()(我从goForward复制并修改).当我尝试添加该功能(稍后使用)时,我得到了上面的错误.但我无法看到我做了什么没有做过的事情.如何添加另一个函数生成此错误?
其余的错误消息说:
Roomba4operants.ino: In function 'void spinLeft()':
Roomba4operants:57: error: call of overloaded 'write(int)' is ambiguous
/Users/royclymer/Desktop/Arduino.app/Contents/Resources/Java/libraries/SoftwareSerial/SoftwareSerial.h:92: note: candidates are: virtual size_t SoftwareSerial::write(uint8_t)
/Users/royclymer/Desktop/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/Print.h:49: note: size_t Print::write(const char*)
Run Code Online (Sandbox Code Playgroud)
码:
#include <SoftwareSerial.h>
int rxPin = 3;
int txPin = 6;
int ledPin = 13;
SoftwareSerial Roomba(rxPin,txPin);
void setup() {
pinMode(ledPin, OUTPUT); // sets the pins as output
Serial.begin(115200);
Roomba.begin(115200);
digitalWrite(ledPin, HIGH); // say we're alive
Serial.println ("Sending start command...");
delay (1000);
// set up ROI to receive commands
Roomba.write(128); // START
delay(150); …Run Code Online (Sandbox Code Playgroud) 我正在使用 arduino 和 6 个伺服电机构建一个具有 6 DOF 的机械臂。
我使用串行通信为自己制作了一个 Python 接口,以便我可以编写:move_motor(angle1=45, angle2=37)伺服电机将相应地移动。
现在我要进入 IK 部分,我正在寻找一个好的包,你可以在其中设置臂长,然后你可以给它(x,y,z,theta),它会返回每个电机的角度。
有没有好的包可用?或者至少是我可以根据自己的需要玩的东西?
我正在开发一个项目,我应该使用Parrot AR Drone 2.0的相机实现对象跟踪技术.所以主要的想法是,无人机应该能够识别指定的颜色,然后通过保持一定距离来跟随它.
我正在使用opencv API与无人机建立通信.此API提供的功能:
ARDrone::move3D(double vx, double vy, double vz, double vr)
Run Code Online (Sandbox Code Playgroud)
它将AR.Drone移动到3D空间和哪里
我编写了一个应用程序,它使用OpenCV对从无人机的摄像机获得的图像进行简单的图像处理,并找到要跟踪的对象的所需轮廓.请参阅以下示例:

现在,我正在努力的部分是找到使用哪种技术,我应该找到发送到move3D函数的速度.我已经读过,控制的常用方法是使用PID控制.但是,我已经读过这个,并且无法了解它是如何与这个问题相关的.
总而言之,我的问题是如何将机器人移向相机中检测到的物体?如何从相机中找到某些物体的坐标?