作者aris1008 (aris)
看板C_and_CPP
标题[问题] 视觉机器人
时间Sun Oct 29 16:21:10 2017
小弟第一次在版上发文请多多包涵。
目前正在尝试自学实作四足视觉机器人,
因为程式部分用C++实作,所以想来这里请教问题!
机器人目前主要目标是希望能追踪黄色的塑胶彩球。
开发平台(Platform): (Ex: Win10, Linux, ...)
linux debian
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
cmake
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
opencv
问题(Question):
回传目标物重心座标与cam中心差距值後回传给servo执行时,
似乎都会重覆传入差距值,导致镜头跟黄球的角度差距很大。
喂入的资料(Input):
预期的正确结果(Expected Output):
错误结果(Wrong Output):
程式码(Code):(请善用置底文网页, 记得排版)
trackFilteredObject(y,threshold,frame,objectFound);
imshow("frame",frame);
imshow("threshold",threshold);
waitKey(30);
if(objectFound){
int target = pxyToTarget(y); //将pixel y 座标计算差值回传成给servo的databytes
mSetTarget(target); //将target传入给servo做动作
//在里面放cout观察到传入databytes的速度好像跟fps不一致
}
补充说明(Supplement):
花了不少下班後的时间实作这个专案,但感觉只是会一些knowhow,
所以问题若太菜请海涵。
另外请教,若想深入了解,是否有推荐的书籍或课程,或关键字呢?
谢谢各位
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.172.251.204
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1509265273.A.39D.html
1F:→ nh60211as: 没有程式码看不出来,可是你让计算结果先等30ms再回传 10/29 16:43
2F:→ nh60211as: 不知道有没有影响 10/29 16:43
没有程式码是指?
有试过在传给servo 值之前先sleep(1),但似乎没什麽不同
3F:推 Lipraxde: 你可以一个frame一个frame看你镜头转的角度。控制系统对 10/29 16:52
4F:→ Lipraxde: 这种要追东西的应用蛮有帮助的 10/29 16:52
好的 我会再试试看
5F:→ diabloevagto: 平均试试看,把这次的结果与前几次取平均值 10/29 18:15
有试过,观察後发现约cout 6次後镜头才得到下一个frame,把差值的结果除六後仍追不准。
不确定你是否是指这个意思
谢谢各位的回应
※ 编辑: aris1008 (1.172.251.204), 10/29/2017 23:41:41
6F:→ laladeer: 你可以稍微研究一下追踪的方法,记得有好几个不同的设 11/07 10:04
7F:→ laladeer: 定,KCF应该会适合你 11/07 10:04
还在试着了解怎麽应用... 感谢回应 希望以後还有机会请教您
※ 编辑: aris1008 (1.172.227.9), 11/08/2017 00:05:31