历经千辛万苦的Ubuntu20.04与Geomagic Haptic相联(成功一半)
Background :由于学习项目的需要,为了使得能用3D System公司的Haptic 控制UR5(优傲5)机械臂,在尝试CoppeliaSim(旧称V-REP)使用插件CHAI3D未果后,转向了Ubuntu使用ROS仿真Haptic和UR5的慢慢道路
在6次尝试Ubuntu16.04和1次18.04都因为各种原因(16.04因为Qt不兼容,18.04因为NVIDIA显卡驱动使得虚拟机在登录界面无限循环)不能安装Haptic驱动,因此转向了Ubuntu20.04,本人装双系统的能力也因此突飞猛进(狗头)
Haptic在Ubuntu20.04上与ROS联动
自从上一篇搞定Ubuntu20.04的Haptic驱动后,搜寻各路教程,发现博主Petori的教程很贴合实际,并且上github找了bharamtm11的驱动发现能用。
- 下载bharamtm11 的驱动,然后解压
- 按照bharamtm11 上的指示安装依赖
# 依赖代码
sudo apt-get install --no-install-recommends freeglut3-dev g++ libdrm-dev libexpat1-dev libglw1-mesa libglw1-mesa-dev libmotif-dev libncurses5-dev libraw1394-dev libx11-dev libxdamage-dev libxext-dev libxt-dev libxxf86vm-dev tcsh unzip x11proto-dri2-dev x11proto-gl-dev x11proto-print-dev
> PS:
1.可能会有个别包不能下载,百度一下或者单独拉出来下载就好
2.Step 2-4 上一篇文章已经做过了
3. 【很重要】要引用解压后的bharamtm11包
cd ~
mkdir /ROS_Haptic
wstool init src #如果没有wstool包直接百度安装就好,使用该命令后会创建一个/src文件夹
catkin_init_workspace #该命令用来初始化工作环境
cd src/
wstool merge /<解压位置>/Geomagic_Touch_ROS_Drivers-hydro-devel/phantom_omni.rosinstall
#wstool merge 用来关联rosintall文件,相当于包管理
wstool up
cd ..
catkin_make #ROS经典编译 有可能会出现
# [WARN]The specified base path " /home/xxx/xxx " contains a CMakeLists.txt but "catkin_make" must be invoked in the root of workspace
#这时候把文件夹里面的CMakeLists.txt删掉即可再次编译
#编译完成后开启omni_common
cd devel/
source setup.bash
roslaunch omni_common omni_state.launch
#可能会提示 缺少"libncurses.so.5"
#安装libncurses.so.5
sudo apt install apt-file
sudo apt-file update
sudo apt-file update
sudo apt-file find libncurses5
#再次尝试
cd ROS_Haptic/
cd devel/
source setup.bash
roslaunch omni_common omni_state.launch
#开启成功!
#打开另外一个terminal 查看话题/就是看haptic 数据链接是否正确
rostopic echo /phantom/pose
至此我们成功的开启了haptic 下一步就是利用ROS获取Haptic位置并且驱动模拟的UR5.