我正在尝试使用自定义消息构建一个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
.
我不确定发生了什么。我想这和数学作坊的事有关
自定义消息代码生成自定义消息和服务类型可以与ROS Simulink块配合使用,为独立的ROS节点生成C++代码。生成的代码(.tgz存档)将包括定制消息的Simulink定义,但不包括ROS定制消息包。当在目标Linux系统中构建生成的代码时,它希望定制消息包在Catkin工作区或Ros_Package_Path上可用。在构建生成的代码之前,确保将定制消息包安装或复制到您的Linux系统。
有谁知道如何解决这个问题?
当我运行rossrv list时,我能够让消息定义出现,而matlab看到了它们,所以我不知道发生了什么。
2条答案
按热度按时间ux6nzvsh1#
解决方案相当复杂。我添加使用一个拥有我的catkin_ws副本的VM,然后在ROS选项卡中将我的模型设置为编译为该VM。
xghobddn2#
在创建过程中引发错误的消息类型
rbdl_server/RBDLInverseDynamics
不等于:rbdl_server/RBDLInverseDynamicsRequest
或rbdl_server/RBDLInverseDynamicsResponse
也许这会导致您的问题,因为您正在创建的消息类型应该是您定义的请求或响应类型。