matlab与ros连接中存在报错

在matlab端与ros连接时存在未识别类'robotics.ros.msggen.contorl_msgs.FollowJointTrajectoryActionGoal'的方法,属性或字段'points'

img

img

这个错误是因为你的matlab中没有找到该ROS消息类型的定义。有两种解决方法:

  1. 在MATLAB中重新生成该消息类型的定义。你可以在ROS工作空间中运行:
    bash
    rossrv show control_msgs/FollowJointTrajectoryActionGoal
    这会输出 FollowJointTrajectoryActionGoal 消息的定义,你可以将其复制到 MATLAB 中,声明为 message:
    matlab
    message FollowJointTrajectoryActionGoal
    ... % 拷贝来的消息定义
    end

然后重启MATLAB,它就能识别了。
2. 使用MATLAB工具包来自动生成消息类型定义。你可以安装matlab_ros_bridge包,它能解析你的ROS工程中所有的消息类型,并在MATLAB启动时自动加载。
安装方法:
bash
sudo apt-get install ros-melodic-matlab-ros-bridge # 如果是Melodic
然后在MATLAB中运行:
matlab
rosinit
它会解析你的ROS工程,并在MATLAB中生成所有消息类型的定义。这样MATLAB就能识别你的ROS消息了。
这二种方法选一种即可解决你的问题。希望能帮助到你!