实现Matlab与ROS通过自定义服务消息通讯

前言

由于最近在matlab和pycharm分别写的node节点,期望通过ros实现两者消息的交互,由于要写一个service突然发现matlab预安装的rosjavamessage是设定好的无法满足要求所以需要将自定义的服务导入当中。本人matlab2018b-Linux/ubutnu18.04/ROS melodic

插件下载: ROS Custom Message Support

下载通道是在APP—获取更多APP,之后在搜索中输入关键字即可(注意:由于采用wifi安装会导致有一个第三方包安装出现报错,所以这里一定要选择手机热点方式安装):

构建srv package包

此处为关键步骤:

  1. 构建服务package,其中层级结构如下:
  • assembly
    • assembly_srv
      • srv
        • Anglez.srv
      • package.xml

确保按照以上的格式构建服务文件夹否则在matlab会出现生成服务错误!

生成.jar文件

之后进入已经安装好插件的Matlab中进行生成服务操作。
在maltab运行以下指令:

path='~/assembly'; 输入你所定义的srv的位置
rosgenmsg(path);

之后会出现以下提示

To use the custom messages, follow these steps:
 
1. Edit javaclasspath.txt, add the following file locations as new lines, and save the file:
 
~/assembly/matlab_gen/jar/assembly_srv-0.0.0.jar
 
2. Add the custom message folder to the MATLAB path by executing:
 
addpath('/home/tiboy/桌面/assembly/matlab_gen/msggen')
savepath
 
3. Restart MATLAB and verify that you can use the custom messages. 
   Type "rosmsg list" and ensure that the output contains the generated
   custom message types.

按照上述的提示即可,之后便会在运行rosmsg list便可以看到你自己定义的服务
(注意:它将生成的服务分成了assembly_srv/AnglezRequest assembly_srv/AnglezResponse两部分)

参考如下链接:

1: https://blog.csdn.net/weixin_42268975/article/details/80820763
2: https://blog.csdn.net/qq_39448233/article/details/105268656

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值