ROS kinetic VREP3.6.2 配合使用在Unbuntu 16.04中

安装VERP

在官网下载对应自己系统的版本。解压放在Home目录下即可。
http://www.coppeliarobotics.com/previousVersions

编译vrep_ros_bridge

最麻烦的就是编译这个bridge了,有很多坑:

  1. 进入官网https://github.com/lagadic/vrep_ros_bridge#installation-v-rep;的说明。checkout 代码到/home/username/catkin_ws/src,下
  2. 根据官网步骤设置全局路径。export VREP_ROOT_DIR=/ChangeWithyourPathToVrep/ 我设置后没有起作用,不知道什么原因。
  3. 最重要的编译来了。catkin_make。根据情况有各种错误提示。
  • 首先会提示路径下的readme.txt无法读取,这个问题通过设置绝对地址也没有好使,只能把对应的数据手动设置,注释原有语句如下:
#file(STRINGS ${VREP_ROOT_DIR}/readme.txt README_TXT LIMIT_COUNT 1)
#string(REGEX MATCHALL "V([^\" ]+|\"[^\"]+\")" README_TXT "${README_TXT}")
#string(REGEX MATCHALL "[0-9]" README_TXT "${README_TXT}")
#list(GET README_TXT 0 VREP_VERSION_MAJOR)
#list(GET README_TXT 1 VREP_VERSION_MINOR)
#list(GET README_TXT 2 VREP_VERSION_PATCH)
set(VREP_VERSION_MAJOR 3)
set(VREP_VERSION_MINOR 6)
set(VREP_VERSION_PATCH 2)
  • 可能会遇到 qu…tk…的一个包中的错误,直接cd进到这个项目的目录里 touch CATKIN_IGNORE即可,我尝试下载对应的package后还是提示这个错误,所以果断使用touch才是硬道理
  • 可能会遇到提示找不到某些.h文件,本来通过设置VERP_ROOT_DIR好使的,但是没有起作用,所以只能到对应的项目文件夹里修改CMakelist.txt增加include。
include_directories(
include
${catkin_INCLUDE_DIRS}
${VREP_ROOT_DIR}/programming/include/
  /home/username/V-REP_PRO_EDU_V3_6_2_Ubuntu16_04/programming/include
)
  • 可能还会遇到nullptr不识别的编译错误,增加add_compile_options(-std=c++11)就可以了,以及会提示找不到头文件都在这个make文件中增加引用
include_directories(${PROJECT_SOURCE_DIR}/include) 
include_directories(/home/username/catkin_ws/src/vrep_ros_bridge/vrep_ros_plugin/include/vrep_ros_plugin) 
include_directories( /home/username/V-REP_PRO_EDU_V3_6_2_Ubuntu16_04/programming/include)

set(SRCS
v_repExtRosBridge.cpp
porting.cpp
access.cpp
GenericObjectContainer.cpp
GenericObjectHandler.cpp
ConsoleHandler.cpp
/home/username/V-REP_PRO_EDU_V3_6_2_Ubuntu16_04/programming/common/v_repLib.cpp
 )
 
add_compile_options(-std=c++11)
add_library(v_repExtRosBridge SHARED ${SRCS})
target_link_libraries(v_repExtRosBridge ${catkin_LIBRARIES})
SET_TARGET_PROPERTIES(v_repExtRosBridge PROPERTIES COMPILE_FLAGS "-fopenmp")

#install(TARGETS v_repExtRosBridge
#ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
#LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
#RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
#)

#install(TARGETS v_repExtRosBridge LIBRARY DESTINATION ${VREP_ROOT_DIR})
#install(TARGETS v_repExtTeleKyb LIBRARY DESTINATION "./" PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)

通过以上步骤,应该可以保证catkin_make通过。
后面的步骤按照官网的说法,可以成功。就是需要把编译出来libv_repExtRosBridge.so文件拷贝到Vrep的安装目录下。我的目录是/home/username/V-REP_PRO_EDU_V3_6_2_Ubuntu16_04/。
最后通过Terminal启动vrep。会看到如下提示信息表示已经成功加载。

Plugin 'RosBridge': loading...
-------------------------------------------------------------------
Available ObjectHandlers: 
CameraHandler
ContactHandler
DrawLineHandler
DrawMeshHandler
Force_sensorHandler
GetPoseHandler
GetTwistHandler
ImuHandler
ManipulatorHandler
QuadrotorHandler
SetTwistHandler
Plugin 'RosBridge': load succeeded.
发布了56 篇原创文章 · 获赞 23 · 访问量 49万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览