前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ROS_Kinetic_18 使用V-Rep3.3.1和Matlab2015b(vrep_ros_bridge)续

ROS_Kinetic_18 使用V-Rep3.3.1和Matlab2015b(vrep_ros_bridge)续

作者头像
zhangrelay
发布2019-01-23 10:52:12
6330
发布2019-01-23 10:52:12
举报

ROS_Kinetic_18 使用V-Rep3.3.1和Matlab2015b(vrep_ros_bridge)续

上一节配置的v-rep在ros kinetic中是可以看图像,并订阅主题的,但是无法发送消息让机器人动起来,

在Top启发下,研究了一下,终于解决了,官方提供的正对3.3.1版本的vrep需要额外的步骤。

ln -s compiledRosPlugins/libv_repExtRos.so 

配置后在kinetic中是会报错的,这时候需要重新编译生成该文件。

1 编译生成

这里,需要注意catkin_make和catkin build的区别,并灵活使用。

复制在v-rep安装目录ros_packages到catkin_relay/src中:

/home/relaybot/Rob_Soft/V-REP_PRO_EDU_V3_3_1_64_Linux/programming/externalIkDemo1/ros_packages

需要修改,其中CMakeLists.txt,加入:

link_directories("/opt/ros/kinetic/lib")

使其可以用于kinetic,需要修改多处。然后编译,这里推荐用catkin build:

~$ cd catkin_relay/
~/catkin_relay$ catkin build

完成后,就可以在devel/lib下看到新的.so。

~/Rob_Soft/V-REP_PRO_EDU_V3_3_1_64_Linux$ ln /home/relaybot/catkin_relay/devel/lib/libv_repExtRosBridge.so
~/Rob_Soft/V-REP_PRO_EDU_V3_3_1_64_Linux$ ln /home/relaybot/catkin_relay/devel/lib/libv_repExtRos.so

这时,启动./vrep.sh,就不会出错了。

2 图像识别

分别启动roscore和v-rep。

打开Pioneer_p3dx_traj_DEMO.ttt场景并运行。

新打开一个终端,运行:

~$ roslaunch demo_pioneer demo-visual-servo-pioneer-simulation.launch 

图像被标记出。这里需要用到visp,demo_pioneer等。

3 控制机器人

~$ rosrun rqt_publisher rqt_publisher 

4 Matlab

Matlab2015b之后版本可以直接使用ROS,测试过indigo和kinetic都没有问题。也可以用matlab直接和vrep调试。

最后补一组图,ros和vrep控制空中机器人也很方便的。

-End-

补充 API接口

Matlab

Remote API

The remote API is part of the V-REP API framework.

V-REP offers a remote API allowing to control a simulation (or the simulator itself) from an external application or a remote hardware (e.g. real robot, remote computer, etc.). The V-REP remote API is composed by approximately one hundred specific functions and one generic function, that can be called from a C/C++ application, a Python script, a Java application, a Matlab/Octave program, an Urbi script, or a Lua script. The remote API functions are interacting with V-REP via socket communication in a way that reduces lag and network load to a great extent. All this happens in a hidden fashion to the user. The remote API can let one or several external applications interact with V-REP in a synchronous* or asynchronous* way (asynchronous by default), and even remote control of the simulator is supported (e.g. remotely loading a scene, starting, pausing or stopping a simulation for instance).

The word Synchronous is used in the sense that each simulation pass runs synchronously with the remote API application (i.e. the simulator will wait for a trigger signal from a client to start next simulation pass at a time t+dt). This is different from synchronous/asynchronous in the sense of blocking/non-blocking operation. The remote API also supports blocking and non-blocking operations.

Make sure you understand how the remote API is operating by reading this section. Also have a look at the external controller tutorial.

The remote API functionality comes in 2 separate entities, that are interacting via socket communication:

the client side (i.e. your application): the remote API on the client side is available for many different programming languages. Currently following languages are supported: C/C++, Python, Java, Matlab, Octave, Urbi and Lua. Bindings for other languages can easily be created by yourself. Instructions on how to enable the remote API on the client side are given here.the server side (i.e. V-REP): the remote API on the server side is implemented via a V-REP plugin that should be loaded by V-REP by default: v_repExtRemoteApi.dll, libv_repExtRemoteApi.dylib or libv_repExtRemoteApi.so. The plugin project files are located in V-REP's installation directory, in the "programming" folder. Instructions on how to enabled the remote API on the server side are given here.Recommended topicsEnabling the Remote API - client sideEnabling the Remote API - server sideRemote API modus operandiAlphabetical remote API function listRemote API function list by categoryRemote API constants

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年06月16日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ROS_Kinetic_18 使用V-Rep3.3.1和Matlab2015b(vrep_ros_bridge)续
    • 1 编译生成
      • 2 图像识别
        • 3 控制机器人
          • 4 Matlab
          • Remote API
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档