问题标签 [mobile-robots]
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.
algorithm - 如何有效地将 2D 图像分割成具有相似值的区域/块?
如何有效地将 2D 图像分割成具有相似值的块?给定的输入是一个整数数组,其中包括非灰色像素的色调和灰色像素的亮度。
我正在使用 Java 编写一个虚拟移动机器人,我正在使用分割来分析地图以及来自相机的图像。这是计算机视觉中的一个众所周知的问题,但是当它在机器人上时,性能确实很重要,所以我想要一些输入。算法才是最重要的,因此您可以使用任何语言发布代码。
- 维基百科文章:分割(图像处理)
- [PPT] Stanford CS-223-B Lecture 11 Segmentation and Grouping(说Mean Shift可能是迄今为止最好的技术)
- Mean Shift Pictures(论文也可从Dorin Comaniciu获得)
robotics - 机器人模拟器
哪个是最好的机器人模拟器?到目前为止,我只是想获得潜在场方法、错误算法、A* 算法等的简单模拟!
已知机器人模拟器的列表是:
- Player Project (2D模拟器-Stage-3D模拟器-Gazebo-和控制界面-开源,ROS项目的一部分)
- MORSE(通用室内/室外 3D 模拟器)
- Microsoft Robotics Studio(模拟器+控制界面)
- KiKS(Matlab 插件,仅适用于 Khepera + 控制界面)
- MobotSim(用于点状机器人,更多算法实现)
- Karel(Pretty Kiddish,我猜是 Pascal/Logo 之类的)
- MRPT(看起来很不错,很快就会尝试)
- Carmen(Robot Vision 等很容易在其中实现(?))
- 网络机器人(开源 - 多平台 - 多语言 [ROS、Python、Matlab 等] - 最先进的外观 - 网络导出)
- Simbad(Java 和 Jython 中的 2D/3D 模拟器)
- Robocode(Java/.NET 套装)
- 罗森的剧场(C/C++ 套装)
- V-REP(3D、可用源代码、Lua 脚本、C/C++ API、Python、Java、Matlab、URBI、2 个物理引擎、完整的运动学求解器等)
一些更通用的平台/中间件也提供模拟工具:
关于机器人模拟器的一些参考资料:
robotics - 势场法:Real Robots
势场法是一种非常流行的机器人导航模拟。但是,有没有人在真正的机器人上实施过势场法?在真实机器人中使用该方法的任何参考或任何声明?
range - LRF(激光测距仪)传感器数据帮助
我是使用传感器和播放器的初学者,我无法理解生成的数据。如果您能帮助我,我将不胜感激。
每次我们运行 player + playerv 程序时都会生成一个 .log 文件。并生成数千行数据。
如果我们在文本编辑器中打开其中一个日志文件,它具有以下标题。
格式:
- 消息以换行符分隔
每条消息的共同标头是:
时间主机机器人接口索引类型子类型
(双) (uint) (uint) (字符串) (uint) (uint) (uint)
其中一行是(这只是一行):
1306011115.200 16777343 6665测距仪00 001 001 0511 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.588 0.562 0.559 0.546 0.540 0.539 0.536 0.532 0.532 0.529 0.529 0.529 0.536 0.536 0.536 0.534 0.534 0.534 0.527 0.526 0.526 0.526 0.526 0.527 0.527 0.535 0.535 0.537 0.537 0.543 0.549 0.576 0.589 0.593 0.598 0.593 0.593 0.592 0.579 0.569 0.565 0.563 0.563 0.558 0.563 0.565 0.566 0.566 0.568 0.594 0.609 0.609 0.617 0.617 0.617 0.625 0.628 0.632 0.638 0.641 0.645 0.652 0.654 0.690 0.697 0.703 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0。000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 1.276 1.260 1.257 1.256 1.251 1.251 1.250 1.250 1.248 1.250 1.250 1.253 1.261 1.263 1.264 1.275 1.280 1.300 1.310 1.330 1.332 1.337 1.352 1.357 1.357 1.352 0.917 0.904 0.904 0.904 0.904 0.880 0.880 0.869 0.853 0.828 0.821 0.812 0.805 0.789 0.780 0.776 0.771 0.764 0.753 0.750 0.747 0.735 0.731 0.724 0.717 0.715 0.715 0.715 0.709 0.709 0.707 0.705 0.705 0.699 0.702 0.702 0.699 0.702 0.706 0.708 0.712 0.720 0.732 0.733 0.735 0.740 0.746 0.000 0.000 0.000 0.775 0.775 0.775 0.796 0.809 0.811 0.820 0.853 0.007 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0。000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.009 0.009 0.009 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.548 0.548 0.548 0.547 0.543 0.551 0.543 0.543 0.543 0.543 0.542 0.542 0.542 0.542 0.544 0.544 0.544 0.548 0.543 0.543 0.540 0.543 0.543 0.548 1.104 1.122 1.129 1.129 1.129 1.129 1.129 1.136 1.135 1.135 1.132 1.132 1.132 1.130 1.128 1.128 1.128 1.125 1.125 1.117 1.117 1.129 1.129 0.000 0.007 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0。000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
你能解释一下这些数据代表什么吗?我的意思是每一行是否对应于特定时刻生成的数据?而且,“0”是否代表没有障碍。
感谢您的时间。我感谢您的帮助
multithreading - 播放器未正确获取多线程应用程序中创建的里程计数据
我在 iRobot Create 上使用 Player(播放器/舞台)。从机器人获取里程数据的接口相当简单:调用 playerc_client_read,然后如果你正确订阅了 playerc_position2d 代理,你应该能够访问代理的成员 px、py、pa 以获取在 x 和 y 中行驶的距离(以米为单位);和旋转(以弧度为单位)。
我对在单线程应用程序中执行此操作没有任何问题——所有里程计数据都在我需要的地方。
但是,当我尝试将机器人控制器移动到它自己的线程(使用 pthreads)时,我遇到了一些问题。问题是似乎只有 px 被更新了。py 和 pa 始终保持为 0。
这是机器人线程的要点
果然,无论机器人如何移动,只有 xPosition 被设置,而 yPosition 和弧度保持为 0。
我在网上找不到其他东西,这是一个已知的错误吗?有没有其他人有这个问题?有人可以提供有关为什么会发生这种情况的见解吗?谢谢你。
全面披露:我是一名研究生,这是一个班级项目。
robotics - Pioneer 3d声纳传感器型号参数
有人在 Pioneer 3dx 机器人中使用过声纳吗?
我想知道声纳传感器模型参数,效果很好。
我搜索并从 ros 获得了激光模型参数,但我没有得到声纳 :(
mobile-robots - 使用粒子滤波器进行局部定位
我正在使用声纳、粒子滤波器进行局部定位(即所有粒子最初都具有机器人姿势)。
我有环境的抓地图。当我在环境中执行算法(门关闭/打开)时,粒子无法跟随机器人。
我没有随机粒子,因为我完全知道机器人的初始位置。
添加随机粒子会改变机器人的姿态(我发现粒子的中位数作为机器人的姿态)。
如何提高本地化的任何想法/方法。
谢谢你。
更新 :
在这里,我使用嘈杂的运动模型,然后使用传感器模型和重新采样以将它们收敛到机器人姿势。我的问题是当地图环境发生变化时如何优化它(主要是房间内的门打开/关闭和杂乱)
robotics - Irobot 在 ROS 中创建编码器
我正在使用 ROS 对我的 iRobot Create 机器人进行编程,但我没有在 ROS 中找到轮式编码器。是否可以在 ROS 中为 iRobot Create 机器人使用编码器?
arduino - iRobot Create 不响应命令
我正在使用 arduino mega 来控制 iRobot Create 我已经成功地通过 OI 命令更改模式和运行 Create 的演示,但我无法让它做任何特定的事情,比如驾驶或播放声音。它根本不响应这些命令。
embedded - I2C 总线与电池供电的 beagleboard
我正在尝试使用 beagleboard-xm 构建移动机器人(六足机器人)。我有一个 Arduino nano 和两个通过 I2C 连接到 BB-xm 的伺服驱动器。Arduino 将传感器值发送到 Beagleboard,伺服驱动器用于运行电机。我试图让整个系统在单个 [6V NiMH 电池](http://www.lynxmotion.com/p-426-60-volt-ni-mh-2800mah-battery-pack.aspx)上运行。
当我试图将传感器值读取到 beagleboard 时,它工作正常,但是一旦我开始运行整个机器人(也打开伺服电机电源),Arduino 通过 I2C 提供的传感器值变得不稳定(变为零)。但是当我为电路板供电时,Arduino 和墙上电源的伺服驱动器一切正常。所以我非常有信心,问题在于电机运行时电池向整个系统提供的电流,但我不确定为什么会发生这种情况。电池最多可以提供 28A 的电流,并且舵机一起使用的电流不超过 20A(18 个舵机)。
所以,我想我的问题是我的理解是否正确,或者还有其他原因吗?