ROS和SIMULINK的通信
- 最近在做一篇工作,其中需要用到ROS和SIMULINK的通信,于是接着之前的一些尝试,花了一下午的时间踩了一些坑。
因为之前使用的版本过于老旧,MATLAB 2017b的,于是对他进行了升级,升级完后问题多多,其中的问题咱们先按下不表,从解决了问题之后的通信先介绍。
参照 https://blog.youkuaiyun.com/qq_44905590/article/details/104002673#commentBox 这篇文章里面的工作,可以很轻松完成自定义的数据结构和SIMULINK之间的通信
在这里插入一张我的结果图,跟上述这篇文章不同的是,此处我并没有进行 javaclasspath的设置,而是直接参照MATLAB的提示完成的。其中有点尤为重要,那就是 rosgenmsg()
的时候,会出现路径出错的情况,结合网上的一些资料以及我自己的理解,大致解决方案可以分成以下几点:
- 路径中包含有中文或者其他文字;
- 需要单独把
msg
放入到一个rospackage
中,具体创建方法可以简单归纳为:创建工作区后,通过catkin_creat_package
创建,然后编译通过后需要保证目录下存在.msg
和package.xml
,而rosgenmsg()
的执行路径需要为存在.xml
的上一层路径,如图下图所示。