ros2_control 问题汇总 foxy版本
在foxy版本下运行ros2_control遇到的问题,最终没有做成。换humble后可行,建议换版本
文章目录
- ros2_control 问题汇总 foxy版本
-
-
-
- 1. launch.substitutions.substitution_failure.SubstitutionFailure: executable 'spawner' not found on the libexec directory '/opt/ros/foxy/lib/controller_manager'
- 2. 参数加载失败
- 3.缺少描述文件
- 4. 意外遇到的后面没出现了(foxy)
- 5. 未解决(foxy)
- 6. rviz启动报错:create_subscription() ......(humble)
- 7. gazebo服务异常关闭(humble)
- 8. joint_state_broadcaster没有发布joint_state话题
- 9. omnidirectional_controller节点未启动
- 10. 与问题8.9为同一问题
- 调试方法
-
-
1. launch.substitutions.substitution_failure.SubstitutionFailure: executable ‘spawner’ not found on the libexec directory ‘/opt/ros/foxy/lib/controller_manager’
spawner —> spawner.py
joint_state_broadcaster_spawner = Node(
package="controller_manager",
executable="spawner.py",
namespace=robot_name,
arguments=["joint_state_broadcaster", "--controller-manager", "/controller_manager"],
)
2. 参数加载失败
[ros2_control_node-7] [ERROR] [1713539936.796875546] [rcl]: Failed to parse global arguments
[ros2_control_node-7] terminate called after throwing an instance of 'rclcpp::exceptions::RCLInvalidROSArgsError'
[ros2_control_node-7] what(): failed to initialize rcl: Couldn't parse params file: '--params-file /home/xianzhou/DRLN_ws/install/models/share/models/config/omni_robot.yaml'.
Error: No value at line 6, at /tmp/binarydeb/ros-foxy-rcl-yaml-param-parser-1.1.14/src/parse.c:204, at /tmp/binarydeb/ros-f oxy-rcl-1.1.14/src/rcl/arguments.c:388
yaml文件第x行缺少东西,或者缩进格式有问题
3.缺少描述文件
[ros2_control_node-7] terminate called after throwing an instance of 'std::runtime_error'
[ros2_control_node-7] what(): Unable to initialize resource manager, no robot description found.
launch_description.append(
Node(
package="controller_manager",
executable="ros2_control_node",
namespace=robot_name,
parameters=[
{'robot_description': robot_description_config.toxml()},#添加描述文件