1.UR RTDE 依赖boost与pybind
分别可以用sudo apt-get install 与pip 安装。
2. 目前1.5.0版本及之后的版本出现了很大问题,强烈不推荐安装。因此,以下命令请拉黑。
sudo add-apt-repository ppa:sdurobotics/ur-rtde sudo apt-get update sudo apt install librtde librtde-dev
采用源代码安装
具体方式如下
在官网上下载1.4X版本并解压(里面可能没有boost,但是可以通过git clone复制粘贴进即可即可)
mkdir buid
cd build
cmake ..
make -j32
sudo make install即可
完成安装后,请不要忘了将电脑的IP 设置成与UR5相同的频段 (如192.168.3.110 与192.168.3.111)
完成后,可以测试以下代码
#include <ur_rtde/rtde_control_interface.h> #include <ur_rtde/rtde_receive_interface.h> #include <chrono> #include <thread> using namespace ur_rtde; using namespace std::chrono; int main(int argc, char* argv[]) { RTDEControlInterface rtde_control("192.168.3.110"); RTDEReceiveInterface rtde_receive("192.168.3.110"); std::vector<double> init_q = rtde_receive.getActualQ(); std::vector<double> init_pose = rtde_receive.getActualTCPPose(); // Target in the robot base rtde_control.moveL(rtde_receive.getActualQ(), 0.1, 0.1); std::vector<double> new_q = init_q; new_q[0] += 0.1; for(int i=1;i<2;i++){ std::vector<double> init_q = rtde_receive.getActualQ(); // std::cout<<init_q[0]<<std::endl; for (int j=0;j<6;j++){ std::cout<<"pos"<<j<<"="<<init_pose[j]<<std::endl; } std::this_thread::sleep_for(std::chrono::milliseconds(2)); } return 0; } 返回TCP 位置即为所求。