无法识别的消息类型 simulink ros 消息

unreconized message type simulink ros message

我正在尝试使用自定义消息构建 ROS 控制器。我可以毫无问题地 运行 模型。然而,当我尝试构建和 运行 模型时,它会抛出一个错误。

Top model targets built:

Model                Action  Rebuild Reason                                    
===============================================================================
sliding_controller2  Failed  Code generation information file does not exist.  

0 of 1 models built (0 models already up to date)
Build duration: 0h 0m 26.061s
Unrecognized message type rbdl_server/RBDLInverseDynamics. Use rosmsg list to see available types.

当我运行rosmsg list

我得到以下内容

.
rbdl_server/RBDLInverseDynamicsRequest                         
rbdl_server/RBDLInverseDynamicsResponse
.

我不确定发生了什么。我认为这与 mathworks

有关

使用自定义消息生成代码 自定义消息和服务类型可以与 ROS Simulink 模块一起使用,为独立的 ROS 节点生成 C++ 代码。生成的代码(.tgz 存档)将包含自定义消息的 Simulink 定义,但不包含 ROS 自定义消息包。当生成的代码在目标 Linux 系统中构建时,它期望自定义消息包在 catkin 工作区或 ROS_PACKAGE_PATH 上可用。确保在构建生成的代码之前将自定义消息包安装或复制到 Linux 系统。

有人知道如何解决这个问题吗?

当我 运行 rossrv 列表和 matlab 看到它们时,我能够让消息定义出现,所以我不知道发生了什么。

解决方案相当复杂。我添加以使用具有我的 catkin_ws 副本的 VM,然后将我的模型设置为编译到 ROS 选项卡中的 VM。