資源簡介
該資源是在VS2017上使用C++編寫的可以通過remote API控制V-rep中的機械臂運動位置和姿態(tài),并且可以將視覺傳感器的數(shù)據(jù)讀出來保存成圖片,方便后期處理,VS2017與V-rep通信的配置大家可以看我的博客https://blog.csdn.net/qq_33374294/article/details/99305549
代碼片段和文件信息
#include?
#include?
#include?
#include???
#include?
#include?
#include?
#include?
#include?
#include?
extern?“C“?{
#include?“extApi.h“
}
using?namespace?std;
using?namespace?cv;
int?main()
{
//開始連接
int?clientID?=?simxStart(“127.0.0.1“?3000?true?true?2000?5);
if?(clientID?!=?-1)
{
printf(“V-rep?connect?success\r\n“);
}
else
{
printf(“connect?error\r\n“);
}
//開啟仿真
simxStartSimulation(clientID?simx_opmode_oneshot);
printf(“StartSimulation\r\n“);
int?IRB140;//機械臂句柄
simxInt?camera;//視覺傳感器句柄
float?position[3]?=?{?000?};
float?positionmove[3]?=?{?000?};
float?orientation[3]?=?{?000?};
float?orientationmove[3]?=?{?000?};
simxInt?resolution[2];
simxUChar?*?image?=?0;
simxGetobjectHandle(clientID?“Vision_sensor“?&camera?simx_opmode_blocking);//第二個參數(shù)要與V-rep文件中的命名一直
printf(“simxGetobjectHandle1\r\n“);
simxGetobjectHandle(clientID?“IRB140_manipulationSphere“?&IRB140?simx_opmode_blocking);//使用阻塞模式
printf(“simxGetobjectHandle2\r\n“);
simxGetVisionSensorImage(clientID?camera?resolution?&image?0?simx_opmode_blocking);
for?(int?i?=?0;?i?14;?i++)
{
simxGetVisionSensorImage(clientID?camera?resolution?&image?0?simx_opmode_blocking);
Mat?channel(resolution[0]?resolution[1]?CV_8UC3?image);//chanel里存放了圖片的數(shù)據(jù)
//讀回來的圖像數(shù)據(jù)是垂直翻轉(zhuǎn)的問題應(yīng)該是在cvMat?和?v-rep?垂直坐標(biāo)軸的方向相反flip一下就正常了
flip(channel?channel?0);
//讀回來的圖像數(shù)據(jù)時rgb通道分布的,而cvMat?默認bgr
cvtColor(channel?channel?COLOR_RGB2BGR);
imshow(“opencv?test“?channel);
waitKey(10);
switch?(i)
{
case?0:
imwrite(“test1.jpg“?channel);
break;
case?1:
imwrite(“test2.jpg“?channel);
break;
case?2:
imwrite(“test3.jpg“?channel);
break;
case?3:
imwrite(“test4.jpg“?channel);
break;
case?4:
imwrite(“test5.jpg“?channel);
break;
case?5:
imwrite(“test6.jpg“?channel);
break;
case?6:
imwrite(“test7.jpg“?channel);
break;
case?7:
imwrite(“test8.jpg“?channel);
break;
case?8:
imwrite(“test9.jpg“?channel);
break;
case?9:
imwrite(“test10.jpg“?channel);
break;
case?10:
imwrite(“test11.jpg“?channel);
break;
case?11:
imwrite(“test12.jpg“?channel);
break;
case?12:
imwrite(“test13.jpg“?channel);
break;
case?13:
imwrite(“test14.jpg“?channel);
break;
default:
break;
}
//simxGetobjectPosition(clientID?IRB140?-1?position?simx_opmode_blocking);
//printf(“position?(%f%f%f)\r\n“?position[0]?position[1]?position[2]);
//positionmove[0]?=?position[0];
//positionmove[1]?=?position[1]?;
//positionmove[2]?=?position[2];
////printf(“(%f%f%f)\r\n“?positionmove[0]?positionmove[1]?positionmove[2]);
//simxSetobjectPosition(clientID?IRB140?-1?positionmove?simx_opmode_bloc
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
????..A..H.?????36352??2019-08-14?17:25??VS-Vrep-813Vrep\.vs\VS-Vrep-813Vrep\v15\.suo
?????文件???41775104??2019-08-14?17:25??VS-Vrep-813Vrep\.vs\VS-Vrep-813Vrep\v15\Browse.VC.db
?????文件??117440512??2019-08-14?17:25??VS-Vrep-813Vrep\.vs\VS-Vrep-813Vrep\v15\ipch\AutoPCH\2ee2101f4b63ac6a\源.ipch
?????文件?????272054??2019-08-14?15:06??VS-Vrep-813Vrep\VS-Vrep-813Vrep\test1.jpg
?????文件?????348882??2019-08-14?15:06??VS-Vrep-813Vrep\VS-Vrep-813Vrep\test10.jpg
?????文件?????351240??2019-08-14?15:06??VS-Vrep-813Vrep\VS-Vrep-813Vrep\test11.jpg
?????文件?????352258??2019-08-14?15:06??VS-Vrep-813Vrep\VS-Vrep-813Vrep\test12.jpg
?????文件?????348914??2019-08-14?15:06??VS-Vrep-813Vrep\VS-Vrep-813Vrep\test13.jpg
?????文件?????343959??2019-08-14?15:06??VS-Vrep-813Vrep\VS-Vrep-813Vrep\test14.jpg
?????文件?????288492??2019-08-14?15:06??VS-Vrep-813Vrep\VS-Vrep-813Vrep\test2.jpg
?????文件?????306675??2019-08-14?15:06??VS-Vrep-813Vrep\VS-Vrep-813Vrep\test3.jpg
?????文件?????319185??2019-08-14?15:06??VS-Vrep-813Vrep\VS-Vrep-813Vrep\test4.jpg
?????文件?????327801??2019-08-14?15:06??VS-Vrep-813Vrep\VS-Vrep-813Vrep\test5.jpg
?????文件?????332087??2019-08-14?15:06??VS-Vrep-813Vrep\VS-Vrep-813Vrep\test6.jpg
?????文件?????339031??2019-08-14?15:06??VS-Vrep-813Vrep\VS-Vrep-813Vrep\test7.jpg
?????文件?????342663??2019-08-14?15:06??VS-Vrep-813Vrep\VS-Vrep-813Vrep\test8.jpg
?????文件?????344837??2019-08-14?15:06??VS-Vrep-813Vrep\VS-Vrep-813Vrep\test9.jpg
????.......??????7510??2019-08-13?19:44??VS-Vrep-813Vrep\VS-Vrep-813Vrep\VS-Vrep-813Vrep.vcxproj
????.......???????948??2019-08-12?18:04??VS-Vrep-813Vrep\VS-Vrep-813Vrep\VS-Vrep-813Vrep.vcxproj.filters
?????文件????????165??2019-08-13?19:44??VS-Vrep-813Vrep\VS-Vrep-813Vrep\VS-Vrep-813Vrep.vcxproj.user
?????文件?????445440??2019-08-14?15:06??VS-Vrep-813Vrep\VS-Vrep-813Vrep\x64\Debug\vc141.idb
?????文件?????897024??2019-08-14?15:06??VS-Vrep-813Vrep\VS-Vrep-813Vrep\x64\Debug\vc141.pdb
?????文件????????419??2019-08-14?15:06??VS-Vrep-813Vrep\VS-Vrep-813Vrep\x64\Debug\VS-Vrep-813Vrep.log
?????文件???????1206??2019-08-14?15:06??VS-Vrep-813Vrep\VS-Vrep-813Vrep\x64\Debug\VS-Vrep-813Vrep.tlog\CL.command.1.tlog
?????文件??????44916??2019-08-14?15:06??VS-Vrep-813Vrep\VS-Vrep-813Vrep\x64\Debug\VS-Vrep-813Vrep.tlog\CL.read.1.tlog
?????文件????????544??2019-08-14?15:06??VS-Vrep-813Vrep\VS-Vrep-813Vrep\x64\Debug\VS-Vrep-813Vrep.tlog\CL.write.1.tlog
?????文件???????1352??2019-08-14?15:06??VS-Vrep-813Vrep\VS-Vrep-813Vrep\x64\Debug\VS-Vrep-813Vrep.tlog\li
?????文件???????3194??2019-08-14?15:06??VS-Vrep-813Vrep\VS-Vrep-813Vrep\x64\Debug\VS-Vrep-813Vrep.tlog\li
?????文件????????536??2019-08-14?15:06??VS-Vrep-813Vrep\VS-Vrep-813Vrep\x64\Debug\VS-Vrep-813Vrep.tlog\li
?????文件????????224??2019-08-14?15:06??VS-Vrep-813Vrep\VS-Vrep-813Vrep\x64\Debug\VS-Vrep-813Vrep.tlog\VS-Vrep-813Vrep.lastbuildstate
............此處省略22個文件信息
評論
共有 條評論