【未完成】通过ur_rtde工具包使用C++和python控制UR机器人和Robotiq执行末端记录

通过ur_rtde工具包使用C++和python控制UR机器人和Robotiq执行末端

安装

link

  • 仅使用python安装
pip install --user ur_rtde
  • 我使用的是源码安装,同时要使用python 2.7
# python 2.7
pip install --user pybind11
# python 3.6
pip3 install --user pybind11

# 源码安装ur_rtde
git clone https://gitlab.com/sdurobotics/ur_rtde.git
cd ur_rtde
mkdir build
cd build

# 默认安装 python3
cmake ..
# 使用python 2.7
cmake -DPYBIND11_PYTHON_VERSION=2.7 ..
# 不使用python
cmake -DPYTHON_BINDINGS:BOOL=OFF ..

make
sudo make install

此时得到报错如下:

Scanning dependencies of target rtde
[  1%] Building CXX object CMakeFiles/rtde.dir/src/robot_state.cpp.o
[  3%] Building CXX object CMakeFiles/rtde.dir/src/rtde.cpp.o
[  4%] Building CXX object CMakeFiles/rtde.dir/src/dashboard_client.cpp.o
[  6%] Building CXX object CMakeFiles/rtde.dir/src/dashboard_enums.cpp.o
[  7%] Building CXX object CMakeFiles/rtde.dir/src/script_client.cpp.o
[  9%] Building CXX object CMakeFiles/rtde.dir/src/rtde_control_interface.cpp.o
[ 10%] Building CXX object CMakeFiles/rtde.dir/src/rtde_receive_interface.cpp.o
[ 12%] Building CXX object CMakeFiles/rtde.dir/src/rtde_io_interface.cpp.o
[ 13%] Linking CXX shared library librtde.so
[ 13%] Built target rtde
Scanning dependencies of target rtde_io_client
[ 15%] Building CXX object CMakeFiles/rtde_io_client.dir/src/rtde_io_client.cpp.o
[ 16%] Linking CXX executable rtde_io_client
[ 16%] Built target rtde_io_client
Scanning dependencies of target rtde_receive_client
[ 18%] Building CXX object CMakeFiles/rtde_receive_client.dir/src/rtde_receive_client.cpp.o
[ 20%] Linking CXX executable rtde_receive_client
[ 20%] Built target rtde_receive_client
Scanning dependencies of target rtde_control
[ 21%] Building CXX object CMakeFiles/rtde_control.dir/src/robot_state.cpp.o
[ 23%] Building CXX object CMakeFiles/rtde_control.dir/src/rtde.cpp.o
[ 24%] Building CXX object CMakeFiles/rtde_control.dir/src/dashboard_client.cpp.o
[ 26%] Building CXX object CMakeFiles/rtde_control.dir/src/dashboard_enums.cpp.o
[ 27%] Building CXX object CMakeFiles/rtde_control.dir/src/script_client.cpp.o
[ 29%] Building CXX object CMakeFiles/rtde_control.dir/src/rtde_control_interface.cpp.o
[ 30%] Building CXX object CMakeFiles/rtde_control.dir/src/rtde_receive_interface.cpp.o
[ 32%] Building CXX object CMakeFiles/rtde_control.dir/src/rtde_io_interface.cpp.o
[ 33%] Building CXX object CMakeFiles/rtde_control.dir/src/rtde_python_bindings.cpp.o
/data/hdd1/kb/agile/aoc_grasp01/ur_rtde/src/rtde_python_bindings.cpp:18:16: error: expected constructor, destructor, or type conversion before ‘(’ token
 PYBIND11_MODULE(rtde_control, m)
                ^
/data/hdd1/kb/agile/aoc_grasp01/ur_rtde/src/rtde_python_bindings.cpp:110:16: error: expected constructor, destructor, or type conversion before ‘(’ token
 PYBIND11_MODULE(rtde_receive, m)
                ^
/data/hdd1/kb/agile/aoc_grasp01/ur_rtde/src/rtde_python_bindings.cpp:173:16: error: expected constructor, destructor, or type conversion before ‘(’ token
 PYBIND11_MODULE(rtde_io, m)
                ^
/data/hdd1/kb/agile/aoc_grasp01/ur_rtde/src/rtde_python_bindings.cpp:190:16: error: expected constructor, destructor, or type conversion before ‘(’ token
 PYBIND11_MODULE(script_client, m)
                ^
/data/hdd1/kb/agile/aoc_grasp01/ur_rtde/src/rtde_python_bindings.cpp:209:16: error: expected constructor, destructor, or type conversion before ‘(’ token
 PYBIND11_MODULE(dashboard_client, m)
                ^
CMakeFiles/rtde_control.dir/build.make:254: recipe for target 'CMakeFiles/rtde_control.dir/src/rtde_python_bindings.cpp.o' failed
make[2]: *** [CMakeFiles/rtde_control.dir/src/rtde_python_bindings.cpp.o] Error 1
CMakeFiles/Makefile2:141: recipe for target 'CMakeFiles/rtde_control.dir/all' failed
make[1]: *** [CMakeFiles/rtde_control.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

报错原因是由于pybind11

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要使加载的3D模型可以和机械手进行同步运动,您可以使用Pythonur_rtde库,这是一个用于与Universal Robots机器人通信的库。以下是一些步骤: 1. 首先,您需要创建一个Python脚本,导入ur_rtde库以及其他必要的库。 ```python import ur_rtde.rtde as rtde import ur_rtde.rtde_config as rtde_config import numpy as np import trimesh ``` 2. 接下来,您需要使用rtde_config库来配置机器人的连接信息,以及要使用UR机器人版本和配置文件。这可以通过以下代码完成: ```python ROBOT_HOST = '192.168.1.100' config_filename = 'path/to/your/robot_config_file.xml' conf = rtde_config.ConfigFile(config_filename) state_names, state_types = conf.get_recipe('state') setp_names, setp_types = conf.get_recipe('setp') rtde_c = rtde.RTDE(ROBOT_HOST) rtde_c.connect() state_callback = rtde.RTDECallback() rtde_c.send_output(setp_names, setp_types) rtde_c.receive_input(state_names, state_callback) ``` 3. 然后,您需要加载您的3D模型,并将其与机器人的位置和姿态同步。这可以通过以下代码完成: ```python mesh = trimesh.load('path/to/your/3D/model.obj') robot_state = state_callback.get() robot_pose = np.array(robot_state.actual_TCP_pose) mesh.apply_transform(robot_pose) ``` 4. 最后,您可以将机器人的运动发送到UR机器人,以使3D模型与机器人同步运动。这可以通过以下代码完成: ```python new_pose = # calculate new pose based on robot movement rtde_c.send(setp_names, [new_pose]) ``` 这些步骤将使您能够使用Pythonur_rtde库将3D模型与机器人同步运动。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值