V-rep與VS2017 C++通信環境配置,遠程操控機械臂

在環境配置的過程中參考了以下博主的博客,在此表示感謝

1、V-REP通過C++程序控制仿真 :https://blog.csdn.net/iamqianrenzhan/article/details/88777469

2、v-rep 入門-VS2015 c++ 控制小車:https://blog.csdn.net/qq_25379821/article/details/81698529

爲了方便大家學習,我把建立的工程也上傳了,工程裏可以控制機械臂的位姿,並且將視覺傳感器的數據保存成圖片,方便後期處理,鏈接:https://download.csdn.net/download/qq_33374294/11547643

首先介紹VS2017的環境配置

一、運行C:\Program Files\V-REP3\V-REP_PRO_EDU\programming\remoteApiBindings\lib目錄下的remoteApiSharedLib-64.vcxproj

編譯之後生成文件夾X64,在裏面有文件remoteApi.dll和remoteApiSharedLib-64.lib,之後會用到

二、將remoteApi.dll所在目錄添加環境變量Path

在系統屬性裏點擊環境變量

然後在系統變量中找到Path

雙擊Path後,點擊新建,將remoteAPI.dll文件的目錄粘貼就行

三、VS2017環境配置

新建一個工程,然後打開屬性頁,在VC++目錄的庫目錄中添加remoteApiSharedLib-64.lib文件所在的目錄

然後在C/C++ 常規 附加包含目錄中添加三個目錄

之後在預處理器的預處理器定義中添加以下內容

再將輸出文件的對象文件名改爲$(IntDir)%(RelativeDir)

之後在鏈接器裏的輸入 附加依賴項中添加remoteApiSharedLib-64.lib

完成以上操作後,VS2017的環境便配置好了

三、VS2017 C++控制 V-REP機械臂

C++代碼

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
extern "C" {
#include "extApi.h"
}

int main()
{
	int Port = 3000;
	int PositionControlHandle;
	//simxChar* Adresse = "127.0.0.1";
	float position[3];
	float positionmove[3];
	//智能製造單元控制系統 Intelligent manufacturing unit control system
	//imucs
	int clientID = simxStart("127.0.0.1", Port, true, true, 2000, 5);

	if (clientID != -1)
	{
		printf("V-rep connected.");
		int count = 0;
		//extApi_sleepMs(300);
		while (simxGetConnectionId(clientID) != -1)
		{
			count++;
			simxGetObjectHandle(clientID, "IRB140_manipulationSphere", &PositionControlHandle, simx_opmode_oneshot);
			simxGetObjectPosition(clientID, PositionControlHandle, -1, position, simx_opmode_oneshot);
			positionmove[0] = position[0];
			positionmove[1] = position[1] + 0.01* sin(count / 10.0);
			positionmove[2] = position[2];
			simxSetObjectPosition(clientID, PositionControlHandle, -1, positionmove, simx_opmode_oneshot);
			printf("(%f,%f,%f)\r\n", position[0], position[1], position[2]);
		}

		simxFinish(clientID);
	}
	else {
		printf("V-rep can't be connected.");
		//extApi_sleepMs(300);
	}

	return 0;
}

在V-rep的scene裏添加ABB的IRB140機械臂,然後雙擊它的腳本,打開後在第一行添加simExtRemoteApiStart(3000)

然後先運行V-rep仿真,再編譯VS2017,即可看到VREP裏的機械臂運動

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章