鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    6.5.2章节controller_manager启动错误

    已定时 已固定 已锁定 已移动
    动手学ROS2
    参数文件节点启动错误 yaml格式错误
    3
    12
    878
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 4
      开心
      最后由 编辑

      错误日志(controller_manager节点未启动):

      tingbo@DESKTOP-NHH5E05:~/chapt6/chapt6_ws$ ros2 launch fishbot_description gazebo_sim.launch.py 
      [INFO] [launch]: All log files can be found below /home/tingbo/.ros/log/2024-04-21-08-51-56-788969-DESKTOP-NHH5E05-53549
      [INFO] [launch]: Default logging verbosity is set to INFO
      /home/tingbo/chapt6/chapt6_ws/install/fishbot_description/share/fishbot_description/urdf/fishbot/fishbot.urdf.xacro
      [INFO] [robot_state_publisher-1]: process started with pid [53559]
      [INFO] [gzserver-2]: process started with pid [53561]
      [INFO] [gzclient-3]: process started with pid [53563]
      [INFO] [spawn_entity.py-4]: process started with pid [53565]
      [robot_state_publisher-1] [INFO] [1713660717.309174822] [robot_state_publisher]: got segment back_caster_link
      [robot_state_publisher-1] [INFO] [1713660717.309279822] [robot_state_publisher]: got segment base_footprint
      [robot_state_publisher-1] [INFO] [1713660717.309287622] [robot_state_publisher]: got segment base_link
      [robot_state_publisher-1] [INFO] [1713660717.309291422] [robot_state_publisher]: got segment camera_link
      [robot_state_publisher-1] [INFO] [1713660717.309294622] [robot_state_publisher]: got segment camera_optical_link
      [robot_state_publisher-1] [INFO] [1713660717.309297822] [robot_state_publisher]: got segment front_caster_link
      [robot_state_publisher-1] [INFO] [1713660717.309300822] [robot_state_publisher]: got segment imu_link
      [robot_state_publisher-1] [INFO] [1713660717.309304122] [robot_state_publisher]: got segment laser_cylinder_link
      [robot_state_publisher-1] [INFO] [1713660717.309307222] [robot_state_publisher]: got segment laser_link
      [robot_state_publisher-1] [INFO] [1713660717.309310322] [robot_state_publisher]: got segment left_wheel_link
      [robot_state_publisher-1] [INFO] [1713660717.309313222] [robot_state_publisher]: got segment right_wheel_link
      [gzclient-3] Gazebo multi-robot simulator, version 11.10.2
      [gzclient-3] Copyright (C) 2012 Open Source Robotics Foundation.
      [gzclient-3] Released under the Apache 2 License.
      [gzclient-3] http://gazebosim.org
      [gzclient-3] 
      [gzserver-2] Gazebo multi-robot simulator, version 11.10.2
      [gzserver-2] Copyright (C) 2012 Open Source Robotics Foundation.
      [gzserver-2] Released under the Apache 2 License.
      [gzserver-2] http://gazebosim.org
      [gzserver-2] 
      [spawn_entity.py-4] [INFO] [1713660717.741308120] [spawn_entity]: Spawn Entity started
      [spawn_entity.py-4] [INFO] [1713660717.741623420] [spawn_entity]: Loading entity published on topic /robot_description
      [spawn_entity.py-4] /opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/qos.py:307: UserWarning: DurabilityPolicy.RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL is deprecated. Use DurabilityPolicy.TRANSIENT_LOCAL instead.
      [spawn_entity.py-4]   warnings.warn(
      [spawn_entity.py-4] [INFO] [1713660717.743272920] [spawn_entity]: Waiting for entity xml on /robot_description
      [spawn_entity.py-4] [INFO] [1713660717.857605420] [spawn_entity]: Waiting for service /spawn_entity, timeout = 30
      [spawn_entity.py-4] [INFO] [1713660717.858030320] [spawn_entity]: Waiting for service /spawn_entity
      [spawn_entity.py-4] [INFO] [1713660719.113670715] [spawn_entity]: Calling service /spawn_entity
      [gzclient-3] [Msg] Waiting for master.
      [gzclient-3] [Msg] Connected to gazebo master @ http://127.0.0.1:11345
      [gzclient-3] [Msg] Publicized address: 172.18.192.236
      [gzclient-3] [Wrn] [GuiIface.cc:120] QStandardPaths: wrong permissions on runtime directory /run/user/1000/, 0755 instead of 0700
      [gzserver-2] [Msg] Waiting for master.
      [gzserver-2] [Msg] Connected to gazebo master @ http://127.0.0.1:11345
      [gzserver-2] [Msg] Publicized address: 172.18.192.236
      [gzserver-2] [Msg] Loading world file [/home/tingbo/chapt6/chapt6_ws/install/fishbot_description/share/fishbot_description/world/custom_room.world]
      [gzserver-2] [Wrn] [Event.cc:61] Warning: Deleting a connection right after creation. Make sure to save the ConnectionPtr from a Connect call
      [gzserver-2] [INFO] [1713660719.924237512] [depth_camera]: Publishing camera info to [/camera_sensor/camera_info]
      [gzserver-2] [INFO] [1713660719.925709812] [depth_camera]: Publishing depth camera info to [/camera_sensor/depth/camera_info]
      [gzserver-2] [INFO] [1713660719.926327212] [depth_camera]: Publishing pointcloud to [/camera_sensor/points]
      [gzclient-3] [Wrn] [Event.cc:61] Warning: Deleting a connection right after creation. Make sure to save the ConnectionPtr from a Connect call
      [gzserver-2] [Err] [Plugin.hh:212] Failed to load plugin libgazebo_ros_ray_sensor.os: libgazebo_ros_ray_sensor.os: cannot open shared object file: No such file or directory
      [spawn_entity.py-4] [INFO] [1713660720.044935411] [spawn_entity]: Spawn status: SpawnEntity: Successfully spawned entity [fishbot]
      [gzserver-2] [INFO] [1713660720.066235711] [gazebo_ros2_control]: Loading gazebo_ros2_control plugin
      [gzserver-2] [INFO] [1713660720.072410111] [gazebo_ros2_control]: Starting gazebo_ros2_control plugin in namespace: /
      [gzserver-2] [INFO] [1713660720.072523911] [gazebo_ros2_control]: Starting gazebo_ros2_control plugin in ros 2 node: gazebo_ros2_control
      [gzserver-2] [INFO] [1713660720.077647911] [gazebo_ros2_control]: connected to service!! robot_state_publisher
      [gzserver-2] [INFO] [1713660720.079397911] [gazebo_ros2_control]: Received urdf from param server, parsing...
      [gzserver-2] [INFO] [1713660720.079481211] [gazebo_ros2_control]: Loading parameter files /home/tingbo/chapt6/chapt6_ws/install/fishbot_description/share/fishbot_description/config/fishbot_ros2_controller.yaml
      [gzserver-2] [ERROR] [1713660720.079710611] [gazebo_ros2_control]: parser error Couldn't parse params file: '--params-file /home/tingbo/chapt6/chapt6_ws/install/fishbot_description/share/fishbot_description/config/fishbot_ros2_controller.yaml'. Error: Cannot have a value before ros__parameters at line 1, at ./src/parse.c:793, at ./src/rcl/arguments.c:406
      [gzserver-2] 
      [INFO] [spawn_entity.py-4]: process has finished cleanly [pid 53565]
      [gzserver-2] [Wrn] [Publisher.cc:135] Queue limit reached for topic /gazebo/default/pose/local/info, deleting message. This warning is printed only once.
      

      fishbot_ros2_controller.yaml代码:

      controller_manager:
      ros_parameters:
        update_rate: 100
        use_sim_time: true
      

      fishbot_ros2_control.xacro代码:

      <?xml version="1.0"?>
      <robot xmlns:xacro="http://www.ros.org/wiki/xacro">
          <xacro:macro name="fishbot_ros2_control">
              <ros2_control name="FishBotGazeboSystem" type="system">
                  <hardware>
                      <plugin>gazebo_ros2_contro/GazeboSystem</plugin>
                  </hardware>
                  <joint name="left_wheel_joint">
                      <command_interface name="velocity">
                          <param name="min">-1</param>
                          <param name="max">1</param>
                      </command_interface>
                      <command_interface name="effort">
                          <param name="min">-0.1</param>
                          <param name="max">0.1</param>
                      </command_interface>
                      <state_interface name="position" />
                      <state_interface name="velocity" />
                      <state_interface name="effort" />
                  </joint>
                  <joint name="right_wheel_joint">
                      <command_interface name="velocity">
                          <param name="min">-1</param>
                          <param name="max">1</param>
                      </command_interface>
                      <command_interface name="effort">
                          <param name="min">-0.1</param>
                          <param name="max">0.1</param>
                      </command_interface>
                      <state_interface name="position" />
                      <state_interface name="velocity" />
                      <state_interface name="effort" />
                  </joint>
              </ros2_control>
              <gazebo>
                  <plugin filename="libgazebo_ros2_control.so" name="gazebo_ros2_control">
                      <parameters>$(find fishbot_description)/config/fishbot_ros2_controller.yaml</parameters>
                  </plugin>
              </gazebo>
          </xacro:macro>
          
      </robot>
      

      fishbot.urdf.xacro代码:

      <?xml version="1.0"?>
      <robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="fishbot">
          <xacro:include filename="$(find fishbot_description)/urdf/fishbot/base.urdf.xacro" />
          <!--传感器组件-->
          <xacro:include filename="$(find fishbot_description)/urdf/fishbot/sensor/imu.urdf.xacro" />
          <xacro:include filename="$(find fishbot_description)/urdf/fishbot/sensor/laser.urdf.xacro" />
          <xacro:include filename="$(find fishbot_description)/urdf/fishbot/sensor/camera.urdf.xacro" />
          <xacro:base_xacro length="0.12" radius="0.1" />
          <!--传感器-->
          <xacro:imu_xacro xyz="0.0 0.0 0.02" />
          <xacro:laser_xacro xyz="0.0 0.0 0.1" />
          <xacro:camera_xacro xyz="0.1 0.0 0.075" />
          <!--执行器组件-->
          <xacro:include filename="$(find fishbot_description)/urdf/fishbot/actuator/wheel.urdf.xacro" />
          <xacro:include filename="$(find fishbot_description)/urdf/fishbot/actuator/caster.urdf.xacro" />
          <!--执行器主动轮+从动轮-->
          <xacro:wheel_xacro wheel_name="left" xyz="0.0 0.1 -0.06" />
          <xacro:wheel_xacro wheel_name="right" xyz="0.0 -0.1 -0.06" />
          <xacro:caster_xacro caster_name="front" xyz="0.08 0.0 -0.076" />
          <xacro:caster_xacro caster_name="back" xyz="-0.08 0.0 -0.076" />
          <!--gazebo插件-->
          <xacro:include filename="$(find fishbot_description)/urdf/fishbot/plugins/gazebo_control_plugin.xacro"/>
          <!--<xacro:gazebo_control_plugin />-->
          <!--激光雷达传感器插件-->
          <xacro:include filename="$(find fishbot_description)/urdf/fishbot/plugins/gazebo_sensor_plugin.xacro"/>
          <xacro:gazebo_sensor_plugin />
          <xacro:include filename="$(find fishbot_description)/urdf/fishbot/fishbot_ros2_control.xacro"/>
          <xacro:fishbot_ros2_control />
          
      </robot>
      

      gazebo_sim.launch.py代码:

      import launch
      import launch_ros
      from ament_index_python.packages import get_package_share_directory
      from launch.launch_description_sources import PythonLaunchDescriptionSource
      import launch_ros.parameter_descriptions
      
      def generate_launch_description():
          robot_name_in_model = "fishbot"
          urdf_tutorial_path = get_package_share_directory('fishbot_description')
          default_model_path = urdf_tutorial_path + '/urdf/fishbot/fishbot.urdf.xacro'
          default_world_path = urdf_tutorial_path + '/world/custom_room.world'
          print(str(default_model_path))
          action_declare_arg_mode_path = launch.actions.DeclareLaunchArgument(
              name='model', default_value=str(default_model_path), description='URDF 的绝对路径')
          robot_description = launch_ros.parameter_descriptions.ParameterValue(
              launch.substitutions.Command(
                  ['xacro ', launch.substitutions.LaunchConfiguration('model')]), value_type=str)
          robot_state_publisher_node = launch_ros.actions.Node(
              package='robot_state_publisher', 
              executable='robot_state_publisher', 
              parameters=[{'robot_description': robot_description}])
          launch_gazebo = launch.actions.IncludeLaunchDescription(
              PythonLaunchDescriptionSource([get_package_share_directory('gazebo_ros'), '/launch', 
                                             '/gazebo.launch.py']),
              launch_arguments=[('world', default_world_path), ('verbose', 'true')])
          spawn_entity_node = launch_ros.actions.Node(
              package='gazebo_ros', 
              executable='spawn_entity.py', 
              arguments=['-topic', '/robot_description', 
                         '-entity', robot_name_in_model, ])
          
          return launch.LaunchDescription([
              action_declare_arg_mode_path, 
              robot_state_publisher_node, 
              launch_gazebo,
              spawn_entity_node
      
          ])
      
      4 1 条回复 最后回复 回复 引用 0
      • 4
        开心 @43996173
        最后由 编辑

        @43996173
        已解决,yaml缩进错误

        4 1 条回复 最后回复 回复 引用 0
        • 4
          开心 @43996173
          最后由 编辑

          @43996173
          出现新问题配置的接口显示不出来

          tingbo@DESKTOP-NHH5E05:~$ ros2 service list | grep /controller_manager
          /controller_manager/configure_controller
          /controller_manager/describe_parameters
          /controller_manager/get_parameter_types
          /controller_manager/get_parameters
          /controller_manager/list_controller_types
          /controller_manager/list_controllers
          /controller_manager/list_hardware_components
          /controller_manager/list_hardware_interfaces
          /controller_manager/list_parameters
          /controller_manager/load_controller
          /controller_manager/reload_controller_libraries
          /controller_manager/set_hardware_component_state
          /controller_manager/set_parameters
          /controller_manager/set_parameters_atomically
          /controller_manager/switch_controller
          /controller_manager/unload_controller
          tingbo@DESKTOP-NHH5E05:~$ ros2 control list_hardware_interfaces
          command interfaces
          state interfaces
          
          小鱼小 1 条回复 最后回复 回复 引用 0
          • 小鱼小
            小鱼 技术大佬 @43996173
            最后由 编辑

            @43996173 前置步骤日志提供一下

            新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

            4 4 条回复 最后回复 回复 引用 0
            • 4
              开心 @小鱼
              最后由 编辑

              @小鱼

              tingbo@DESKTOP-NHH5E05:~/chapt6/chapt6_ws$ colcon build
              Starting >>> fishbot_description
              Finished <<< fishbot_description [0.11s]
              
              Summary: 1 package finished [0.38s]
              tingbo@DESKTOP-NHH5E05:~/chapt6/chapt6_ws$ source install/setup.bash
              tingbo@DESKTOP-NHH5E05:~/chapt6/chapt6_ws$ ros2 launch fishbot_description gazebo_sim.launch.py 
              [INFO] [launch]: All log files can be found below /home/tingbo/.ros/log/2024-04-21-10-55-39-949561-DESKTOP-NHH5E05-106839
              [INFO] [launch]: Default logging verbosity is set to INFO
              /home/tingbo/chapt6/chapt6_ws/install/fishbot_description/share/fishbot_description/urdf/fishbot/fishbot.urdf.xacro
              [INFO] [robot_state_publisher-1]: process started with pid [106844]
              [INFO] [gzserver-2]: process started with pid [106846]
              [INFO] [gzclient-3]: process started with pid [106848]
              [INFO] [spawn_entity.py-4]: process started with pid [106850]
              [robot_state_publisher-1] [INFO] [1713668140.532106642] [robot_state_publisher]: got segment back_caster_link
              [robot_state_publisher-1] [INFO] [1713668140.532299642] [robot_state_publisher]: got segment base_footprint
              [robot_state_publisher-1] [INFO] [1713668140.532313342] [robot_state_publisher]: got segment base_link
              [robot_state_publisher-1] [INFO] [1713668140.532317142] [robot_state_publisher]: got segment camera_link
              [robot_state_publisher-1] [INFO] [1713668140.532321442] [robot_state_publisher]: got segment camera_optical_link
              [robot_state_publisher-1] [INFO] [1713668140.532324742] [robot_state_publisher]: got segment front_caster_link
              [robot_state_publisher-1] [INFO] [1713668140.532327942] [robot_state_publisher]: got segment imu_link
              [robot_state_publisher-1] [INFO] [1713668140.532330942] [robot_state_publisher]: got segment laser_cylinder_link
              [robot_state_publisher-1] [INFO] [1713668140.532334242] [robot_state_publisher]: got segment laser_link
              [robot_state_publisher-1] [INFO] [1713668140.532337642] [robot_state_publisher]: got segment left_wheel_link
              [robot_state_publisher-1] [INFO] [1713668140.532340742] [robot_state_publisher]: got segment right_wheel_link
              [gzclient-3] Gazebo multi-robot simulator, version 11.10.2
              [gzclient-3] Copyright (C) 2012 Open Source Robotics Foundation.
              [gzclient-3] Released under the Apache 2 License.
              [gzclient-3] http://gazebosim.org
              [gzclient-3] 
              [gzserver-2] Gazebo multi-robot simulator, version 11.10.2
              [gzserver-2] Copyright (C) 2012 Open Source Robotics Foundation.
              [gzserver-2] Released under the Apache 2 License.
              [gzserver-2] http://gazebosim.org
              [gzserver-2] 
              [spawn_entity.py-4] [INFO] [1713668140.870628148] [spawn_entity]: Spawn Entity started
              [spawn_entity.py-4] [INFO] [1713668140.870960348] [spawn_entity]: Loading entity published on topic /robot_description
              [spawn_entity.py-4] /opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/qos.py:307: UserWarning: DurabilityPolicy.RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL is deprecated. Use DurabilityPolicy.TRANSIENT_LOCAL instead.
              [spawn_entity.py-4]   warnings.warn(
              [spawn_entity.py-4] [INFO] [1713668140.873582048] [spawn_entity]: Waiting for entity xml on /robot_description
              [spawn_entity.py-4] [INFO] [1713668140.886551848] [spawn_entity]: Waiting for service /spawn_entity, timeout = 30
              [spawn_entity.py-4] [INFO] [1713668140.886855548] [spawn_entity]: Waiting for service /spawn_entity
              [spawn_entity.py-4] [INFO] [1713668142.648822078] [spawn_entity]: Calling service /spawn_entity
              [gzclient-3] [Msg] Waiting for master.
              [gzclient-3] [Msg] Connected to gazebo master @ http://127.0.0.1:11345
              [gzclient-3] [Msg] Publicized address: 172.18.192.236
              [gzclient-3] [Wrn] [GuiIface.cc:120] QStandardPaths: wrong permissions on runtime directory /run/user/1000/, 0755 instead of 0700
              [gzserver-2] [Msg] Waiting for master.
              [gzserver-2] [Msg] Connected to gazebo master @ http://127.0.0.1:11345
              [gzserver-2] [Msg] Publicized address: 172.18.192.236
              [gzserver-2] [Msg] Loading world file [/home/tingbo/chapt6/chapt6_ws/install/fishbot_description/share/fishbot_description/world/custom_room.world]
              [gzserver-2] [Wrn] [Event.cc:61] Warning: Deleting a connection right after creation. Make sure to save the ConnectionPtr from a Connect call
              [gzclient-3] [Wrn] [Event.cc:61] Warning: Deleting a connection right after creation. Make sure to save the ConnectionPtr from a Connect call
              [gzserver-2] [INFO] [1713668143.464895391] [depth_camera]: Publishing camera info to [/camera_sensor/camera_info]
              [gzserver-2] [INFO] [1713668143.465899491] [depth_camera]: Publishing depth camera info to [/camera_sensor/depth/camera_info]
              [gzserver-2] [INFO] [1713668143.466479391] [depth_camera]: Publishing pointcloud to [/camera_sensor/points]
              [gzserver-2] [Err] [Plugin.hh:212] Failed to load plugin libgazebo_ros_ray_sensor.os: libgazebo_ros_ray_sensor.os: cannot open shared object file: No such file or directory
              [spawn_entity.py-4] [INFO] [1713668143.541911792] [spawn_entity]: Spawn status: SpawnEntity: Successfully spawned entity [fishbot]
              [gzserver-2] [INFO] [1713668143.567741092] [gazebo_ros2_control]: Loading gazebo_ros2_control plugin
              [gzserver-2] [INFO] [1713668143.572541292] [gazebo_ros2_control]: Starting gazebo_ros2_control plugin in namespace: /
              [gzserver-2] [INFO] [1713668143.572617692] [gazebo_ros2_control]: Starting gazebo_ros2_control plugin in ros 2 node: gazebo_ros2_control
              [gzserver-2] [INFO] [1713668143.577216292] [gazebo_ros2_control]: connected to service!! robot_state_publisher
              [gzserver-2] [INFO] [1713668143.579580792] [gazebo_ros2_control]: Received urdf from param server, parsing...
              [gzserver-2] [INFO] [1713668143.579744992] [gazebo_ros2_control]: Loading parameter files /home/tingbo/chapt6/chapt6_ws/install/fishbot_description/share/fishbot_description/config/fishbot_ros2_controller.yaml
              [gzserver-2] [ERROR] [1713668143.582587392] [gazebo_ros2_control]: The plugin failed to load for some reason. Error: According to the loaded plugin descriptions the class gazebo_ros2_contro/GazeboSystem with base class type gazebo_ros2_control::GazeboSystemInterface does not exist. Declared types are  gazebo_ros2_control/GazeboSystem
              [gzserver-2] 
              [gzserver-2] [INFO] [1713668143.582760192] [gazebo_ros2_control]: Loading controller_manager
              [gzserver-2] [WARN] [1713668143.603561793] [gazebo_ros2_control]:  Desired controller update period (0.01 s) is slower than the gazebo simulation period (0.001 s).
              [gzserver-2] [INFO] [1713668143.604235093] [gazebo_ros2_control]: Loaded gazebo_ros2_control.
              [INFO] [spawn_entity.py-4]: process has finished cleanly [pid 106850]
              
              1 条回复 最后回复 回复 引用 0
              • 4
                开心 @小鱼
                最后由 编辑

                @小鱼
                gazebo_sensor_plugin.xacro代码:

                <?xml version="1.0"?>
                <robot xmlns:xacro="http://www.ros.org/wiki/xacro">
                    <xacro:macro name="gazebo_sensor_plugin">
                        <gazebo reference="laser_link">
                            <sensor name="laserscan" type="ray">
                                <plugin name="laserscan" filename="libgazebo_ros_ray_sensor.so">
                                    <ros>
                                        <namespace>/</namespace>
                                        <remapping>~/out:=scan</remapping>
                                    </ros>
                                    <output_type>sensor_msgs/LaserScan</output_type>
                                    <frame_name>laser_link</frame_name>
                                </plugin>
                                <always_on>true</always_on>
                                <visualize>true</visualize>
                                <update_rate>5</update_rate>
                                <pose>0 0 0 0 0 0</pose>
                                <!--激光传感配置-->
                                <ray>
                                    <!--设置扫描范围-->
                                    <scan>
                                        <horizontal>
                                            <samples>360</samples>
                                            <resolution>1.000000</resolution>
                                            <min_angle>0.000000</min_angle>
                                            <max_angle>6.280000</max_angle>
                                        </horizontal>
                                    </scan>
                                    <!--设置扫描距离-->
                                    <range>
                                        <min>0.120000</min>
                                        <max>8.0</max>
                                        <resolution>0.015000</resolution>
                                    </range>
                                    <!--设置噪声-->
                                    <noise>
                                        <type>gaussian</type>
                                        <mean>0.0</mean>
                                        <stddev>0.01</stddev>
                                    </noise>
                                </ray>
                            </sensor>
                            
                        </gazebo>
                        <gazebo reference="imu_link">
                            <sensor name="imu_sensor" type="imu">
                                <plugin name="imu_plugin" filename="libgazebo_ros_imu_sensor.so">
                                    <ros>
                                        <namespace>/</namespace>
                                        <remapping>~/out:=imu</remapping>
                                    </ros>
                
                                    <initial_orientation_as_reference>false</initial_orientation_as_reference>
                                </plugin>
                                <update_rate>100</update_rate>
                                <always_on>true</always_on>
                                <!--六轴噪声设置-->
                                <imu>
                                    <angular_velocity>
                                        <x>
                                            <noise type="gaussian">
                                                <mean>0.0</mean>
                                                <stddev>2e-4</stddev>
                                                <base_mean>0.0000075</base_mean>
                                                <base_stddev>0.0000008</base_stddev>
                                            </noise>
                                        </x>
                                        <y>
                                            <noise type="gaussian">
                                                <mean>0.0</mean>
                                                <stddev>2e-4</stddev>
                                                <base_mean>0.0000075</base_mean>
                                                <base_stddev>0.0000008</base_stddev>
                                            </noise>
                                        </y>
                                        <z>
                                            <noise type="gaussian">
                                                <mean>0.0</mean>
                                                <stddev>2e-4</stddev>
                                                <base_mean>0.0000075</base_mean>
                                                <base_stddev>0.0000008</base_stddev>
                                            </noise>
                                        </z>
                                    </angular_velocity>
                                    <linear_acceleration>
                                        <x>
                                            <noise type="gaussian">
                                                <mean>0.0</mean>
                                                <stddev>1.7e-2</stddev>
                                                <base_mean>0.1</base_mean>
                                                <base_stddev>0.001</base_stddev>
                                            </noise>
                                        </x>
                                        <y>
                                            <noise type="gaussian">
                                                <mean>0.0</mean>
                                                <stddev>1.7e-2</stddev>
                                                <base_mean>0.1</base_mean>
                                                <base_stddev>0.001</base_stddev>
                                            </noise>
                                        </y>
                                        <z>
                                            <noise type="gaussian">
                                                <mean>0.0</mean>
                                                <stddev>1.7e-2</stddev>
                                                <base_mean>0.1</base_mean>
                                                <base_stddev>0.001</base_stddev>
                                            </noise>
                                        </z>
                                    </linear_acceleration>
                                </imu>
                            </sensor>
                
                        </gazebo>
                        <gazebo reference="camera_link">
                            <sensor type="depth" name="camera_sensor">
                                <plugin name="depth_camera" filename="libgazebo_ros_camera.so">
                                    <frame_name>camera_optical_link</frame_name>
                                </plugin>
                                <always_on>true</always_on>
                                <update_rate>10</update_rate>
                                <camera name="camera">
                                    <horizontal_fov>1.5009831567</horizontal_fov>
                                    <image>
                                        <width>800</width>
                                        <height>600</height>
                                        <format>R8G8B8</format>
                                    </image>
                                    <distortion>
                                        <k1>0.0</k1>
                                        <k2>0.0</k2>
                                        <k3>0.0</k3>
                                        <p1>0.0</p1>
                                        <p2>0.0</p2>
                                        <center>0.5 0.5</center>
                                    </distortion>
                                </camera>
                            </sensor>
                        </gazebo>
                    </xacro:macro>
                </robot>
                
                1 条回复 最后回复 回复 引用 0
                • 4
                  开心 @小鱼
                  最后由 编辑

                  @小鱼
                  改正so后运行:

                  tingbo@DESKTOP-NHH5E05:~/chapt6/chapt6_ws$ colcon build
                  Starting >>> fishbot_description
                  Finished <<< fishbot_description [0.09s]
                  
                  Summary: 1 package finished [0.31s]
                  tingbo@DESKTOP-NHH5E05:~/chapt6/chapt6_ws$ source install/setup.bash
                  tingbo@DESKTOP-NHH5E05:~/chapt6/chapt6_ws$ ros2 launch fishbot_description gazebo_sim.launch.py 
                  [INFO] [launch]: All log files can be found below /home/tingbo/.ros/log/2024-04-21-11-08-30-453310-DESKTOP-NHH5E05-112821
                  [INFO] [launch]: Default logging verbosity is set to INFO
                  /home/tingbo/chapt6/chapt6_ws/install/fishbot_description/share/fishbot_description/urdf/fishbot/fishbot.urdf.xacro
                  [INFO] [robot_state_publisher-1]: process started with pid [112826]
                  [INFO] [gzserver-2]: process started with pid [112828]
                  [INFO] [gzclient-3]: process started with pid [112830]
                  [INFO] [spawn_entity.py-4]: process started with pid [112832]
                  [robot_state_publisher-1] [INFO] [1713668910.984501120] [robot_state_publisher]: got segment back_caster_link
                  [robot_state_publisher-1] [INFO] [1713668910.984607320] [robot_state_publisher]: got segment base_footprint
                  [robot_state_publisher-1] [INFO] [1713668910.984615320] [robot_state_publisher]: got segment base_link
                  [robot_state_publisher-1] [INFO] [1713668910.984619020] [robot_state_publisher]: got segment camera_link
                  [robot_state_publisher-1] [INFO] [1713668910.984622320] [robot_state_publisher]: got segment camera_optical_link
                  [robot_state_publisher-1] [INFO] [1713668910.984625620] [robot_state_publisher]: got segment front_caster_link
                  [robot_state_publisher-1] [INFO] [1713668910.984628720] [robot_state_publisher]: got segment imu_link
                  [robot_state_publisher-1] [INFO] [1713668910.984631920] [robot_state_publisher]: got segment laser_cylinder_link
                  [robot_state_publisher-1] [INFO] [1713668910.984634920] [robot_state_publisher]: got segment laser_link
                  [robot_state_publisher-1] [INFO] [1713668910.984638020] [robot_state_publisher]: got segment left_wheel_link
                  [robot_state_publisher-1] [INFO] [1713668910.984641020] [robot_state_publisher]: got segment right_wheel_link
                  [gzclient-3] Gazebo multi-robot simulator, version 11.10.2
                  [gzclient-3] Copyright (C) 2012 Open Source Robotics Foundation.
                  [gzclient-3] Released under the Apache 2 License.
                  [gzclient-3] http://gazebosim.org
                  [gzclient-3] 
                  [gzserver-2] Gazebo multi-robot simulator, version 11.10.2
                  [gzserver-2] Copyright (C) 2012 Open Source Robotics Foundation.
                  [gzserver-2] Released under the Apache 2 License.
                  [gzserver-2] http://gazebosim.org
                  [gzserver-2] 
                  [spawn_entity.py-4] [INFO] [1713668911.298643721] [spawn_entity]: Spawn Entity started
                  [spawn_entity.py-4] [INFO] [1713668911.298954721] [spawn_entity]: Loading entity published on topic /robot_description
                  [spawn_entity.py-4] /opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/qos.py:307: UserWarning: DurabilityPolicy.RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL is deprecated. Use DurabilityPolicy.TRANSIENT_LOCAL instead.
                  [spawn_entity.py-4]   warnings.warn(
                  [spawn_entity.py-4] [INFO] [1713668911.300862021] [spawn_entity]: Waiting for entity xml on /robot_description
                  [spawn_entity.py-4] [INFO] [1713668911.312368921] [spawn_entity]: Waiting for service /spawn_entity, timeout = 30
                  [spawn_entity.py-4] [INFO] [1713668911.312655221] [spawn_entity]: Waiting for service /spawn_entity
                  [spawn_entity.py-4] [INFO] [1713668912.818215129] [spawn_entity]: Calling service /spawn_entity
                  [gzserver-2] [Msg] Waiting for master.
                  [gzserver-2] [Msg] Connected to gazebo master @ http://127.0.0.1:11345
                  [gzserver-2] [Msg] Publicized address: 172.18.192.236
                  [gzserver-2] [Msg] Loading world file [/home/tingbo/chapt6/chapt6_ws/install/fishbot_description/share/fishbot_description/world/custom_room.world]
                  [gzserver-2] [Wrn] [Event.cc:61] Warning: Deleting a connection right after creation. Make sure to save the ConnectionPtr from a Connect call
                  [gzclient-3] [Msg] Waiting for master.
                  [gzclient-3] [Msg] Connected to gazebo master @ http://127.0.0.1:11345
                  [gzclient-3] [Msg] Publicized address: 172.18.192.236
                  [gzclient-3] [Wrn] [GuiIface.cc:120] QStandardPaths: wrong permissions on runtime directory /run/user/1000/, 0755 instead of 0700
                  [gzclient-3] [Wrn] [Event.cc:61] Warning: Deleting a connection right after creation. Make sure to save the ConnectionPtr from a Connect call
                  [gzserver-2] [INFO] [1713668913.686980638] [depth_camera]: Publishing camera info to [/camera_sensor/camera_info]
                  [gzserver-2] [INFO] [1713668913.687943438] [depth_camera]: Publishing depth camera info to [/camera_sensor/depth/camera_info]
                  [gzserver-2] [INFO] [1713668913.688370438] [depth_camera]: Publishing pointcloud to [/camera_sensor/points]
                  [spawn_entity.py-4] [INFO] [1713668913.764708139] [spawn_entity]: Spawn status: SpawnEntity: Successfully spawned entity [fishbot]
                  [gzserver-2] [INFO] [1713668913.883463840] [gazebo_ros2_control]: Loading gazebo_ros2_control plugin
                  [gzserver-2] [INFO] [1713668913.888358440] [gazebo_ros2_control]: Starting gazebo_ros2_control plugin in namespace: /
                  [gzserver-2] [INFO] [1713668913.888440140] [gazebo_ros2_control]: Starting gazebo_ros2_control plugin in ros 2 node: gazebo_ros2_control
                  [gzserver-2] [INFO] [1713668913.893493440] [gazebo_ros2_control]: connected to service!! robot_state_publisher
                  [gzserver-2] [INFO] [1713668913.894273140] [gazebo_ros2_control]: Received urdf from param server, parsing...
                  [gzserver-2] [INFO] [1713668913.894352040] [gazebo_ros2_control]: Loading parameter files /home/tingbo/chapt6/chapt6_ws/install/fishbot_description/share/fishbot_description/config/fishbot_ros2_controller.yaml
                  [gzserver-2] [ERROR] [1713668913.895896740] [gazebo_ros2_control]: The plugin failed to load for some reason. Error: According to the loaded plugin descriptions the class gazebo_ros2_contro/GazeboSystem with base class type gazebo_ros2_control::GazeboSystemInterface does not exist. Declared types are  gazebo_ros2_control/GazeboSystem
                  [gzserver-2] 
                  [gzserver-2] [INFO] [1713668913.896017740] [gazebo_ros2_control]: Loading controller_manager
                  [INFO] [spawn_entity.py-4]: process has finished cleanly [pid 112832]
                  [gzserver-2] [WARN] [1713668913.917713741] [gazebo_ros2_control]:  Desired controller update period (0.01 s) is slower than the gazebo simulation period (0.001 s).
                  [gzserver-2] [INFO] [1713668913.917941741] [gazebo_ros2_control]: Loaded gazebo_ros2_control.
                  
                  小鱼小 1 条回复 最后回复 回复 引用 0
                  • 小鱼小
                    小鱼 技术大佬 @43996173
                    最后由 编辑

                    @43996173 The plugin failed to load for some reason. Error: According to the loaded plugin descriptions the class gazebo_ros2_contro/GazeboSystem with base class type gazebo_ros2_control::GazeboSystemInterface does not exist. Declared types are gazebo_ros2_control/GazeboSystem

                    检查下相关的拼写错误或者依赖都装了没

                    新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

                    4 1 条回复 最后回复 回复 引用 0
                    • 4
                      开心 @小鱼
                      最后由 编辑

                      @小鱼 检察到了这里错了:

                      <plugin>gazebo_ros2_contro/GazeboSystem</plugin>
                      
                      1 条回复 最后回复 回复 引用 0
                      • 2
                        2416822676
                        最后由 编辑

                        yaml文件中 如果更新速率update_rate配置的是浮点数也会出现此问题

                        1 条回复 最后回复 回复 引用 0
                        • 4
                          开心 @小鱼
                          最后由 编辑

                          @小鱼 在新装ubuntu主机运行,这里的所有代码都拷贝过来一直报错,启动不了服务,报错日志文件如下:

                          ltb@ltb-B560M-DS3H-AC:~/chapt6/chapt6_ws$ ros2 launch fishbot_description gazebo_sim.launch.py 
                          [INFO] [launch]: All log files can be found below /home/ltb/.ros/log/2024-11-26-20-41-38-194746-ltb-B560M-DS3H-AC-39916
                          [INFO] [launch]: Default logging verbosity is set to INFO
                          /home/ltb/chapt6/chapt6_ws/install/fishbot_description/share/fishbot_description/urdf/fishbot/fishbot.urdf.xacro
                          [INFO] [robot_state_publisher-1]: process started with pid [39934]
                          [INFO] [gzserver-2]: process started with pid [39936]
                          [INFO] [gzclient-3]: process started with pid [39938]
                          [INFO] [spawn_entity.py-4]: process started with pid [39940]
                          [robot_state_publisher-1] [INFO] [1732624898.625434993] [robot_state_publisher]: got segment back_link
                          [robot_state_publisher-1] [INFO] [1732624898.625497315] [robot_state_publisher]: got segment base_footprint
                          [robot_state_publisher-1] [INFO] [1732624898.625503324] [robot_state_publisher]: got segment base_link
                          [robot_state_publisher-1] [INFO] [1732624898.625506275] [robot_state_publisher]: got segment camera_link
                          [robot_state_publisher-1] [INFO] [1732624898.625509244] [robot_state_publisher]: got segment camera_optical_link
                          [robot_state_publisher-1] [INFO] [1732624898.625511974] [robot_state_publisher]: got segment front_link
                          [robot_state_publisher-1] [INFO] [1732624898.625514545] [robot_state_publisher]: got segment imu_link
                          [robot_state_publisher-1] [INFO] [1732624898.625517103] [robot_state_publisher]: got segment laser_cylinder_link
                          [robot_state_publisher-1] [INFO] [1732624898.625519733] [robot_state_publisher]: got segment laser_link
                          [robot_state_publisher-1] [INFO] [1732624898.625522325] [robot_state_publisher]: got segment left_link
                          [robot_state_publisher-1] [INFO] [1732624898.625524804] [robot_state_publisher]: got segment right_link
                          [gzclient-3] Gazebo multi-robot simulator, version 11.10.2
                          [gzclient-3] Copyright (C) 2012 Open Source Robotics Foundation.
                          [gzclient-3] Released under the Apache 2 License.
                          [gzclient-3] http://gazebosim.org
                          [gzclient-3] 
                          [gzserver-2] Gazebo multi-robot simulator, version 11.10.2
                          [gzserver-2] Copyright (C) 2012 Open Source Robotics Foundation.
                          [gzserver-2] Released under the Apache 2 License.
                          [gzserver-2] http://gazebosim.org
                          [gzserver-2] 
                          [spawn_entity.py-4] [INFO] [1732624898.850636671] [spawn_entity]: Spawn Entity started
                          [spawn_entity.py-4] [INFO] [1732624898.850852695] [spawn_entity]: Loading entity published on topic /robot_description
                          [spawn_entity.py-4] /opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/qos.py:307: UserWarning: DurabilityPolicy.RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL is deprecated. Use DurabilityPolicy.TRANSIENT_LOCAL instead.
                          [spawn_entity.py-4]   warnings.warn(
                          [spawn_entity.py-4] [INFO] [1732624898.851883055] [spawn_entity]: Waiting for entity xml on /robot_description
                          [spawn_entity.py-4] [INFO] [1732624898.862965166] [spawn_entity]: Waiting for service /spawn_entity, timeout = 30
                          [spawn_entity.py-4] [INFO] [1732624898.863166542] [spawn_entity]: Waiting for service /spawn_entity
                          [spawn_entity.py-4] [INFO] [1732624899.615745855] [spawn_entity]: Calling service /spawn_entity
                          [spawn_entity.py-4] [INFO] [1732624899.663114649] [spawn_entity]: Spawn status: Entity pushed to spawn queue, but spawn service timed outwaiting for entity to appear in simulation under the name [fishbot]
                          [spawn_entity.py-4] [ERROR] [1732624899.663311734] [spawn_entity]: Spawn service failed. Exiting.
                          [ERROR] [spawn_entity.py-4]: process has died [pid 39940, exit code 1, cmd '/opt/ros/humble/lib/gazebo_ros/spawn_entity.py -topic /robot_description -entity fishbot --ros-args'].
                          [gzserver-2] [Msg] Waiting for master.
                          [gzserver-2] [Msg] Connected to gazebo master @ http://127.0.0.1:11345
                          [gzserver-2] [Msg] Publicized address: 192.168.1.32
                          [gzserver-2] [Msg] Loading world file [/home/ltb/chapt6/chapt6_ws/install/fishbot_description/share/fishbot_description/world/custom_room.world]
                          [gzserver-2] [Wrn] [Event.cc:61] Warning: Deleting a connection right after creation. Make sure to save the ConnectionPtr from a Connect call
                          [gzserver-2] [INFO] [1732624900.329227214] [depth_camera]: Publishing camera info to [/camera_sensor/camera_info]
                          [gzserver-2] [INFO] [1732624900.329631439] [depth_camera]: Publishing depth camera info to [/camera_sensor/depth/camera_info]
                          [gzserver-2] [INFO] [1732624900.329873717] [depth_camera]: Publishing pointcloud to [/camera_sensor/points]
                          [gzserver-2] [INFO] [1732624900.514854370] [gazebo_ros2_control]: Loading gazebo_ros2_control plugin
                          [gzserver-2] [INFO] [1732624900.517055387] [gazebo_ros2_control]: Starting gazebo_ros2_control plugin in namespace: /
                          [gzserver-2] [INFO] [1732624900.517080623] [gazebo_ros2_control]: Starting gazebo_ros2_control plugin in ros 2 node: gazebo_ros2_control
                          [gzserver-2] [INFO] [1732624900.518731257] [gazebo_ros2_control]: connected to service!! robot_state_publisher
                          [gzserver-2] [INFO] [1732624900.519041747] [gazebo_ros2_control]: Received urdf from param server, parsing...
                          [gzserver-2] [INFO] [1732624900.519065075] [gazebo_ros2_control]: Loading parameter files /home/ltb/chapt6/chapt6_ws/install/fishbot_description/share/fishbot_description/config/fishbot_ros2_controller.yaml
                          [gzserver-2] [rcutils|error_handling.c:65] an error string (message, file name, or formatted message) will be truncated
                          **[gzserver-2] [ERROR] [1732624900.519327783] [gazebo_ros2_control]: parser error Couldn't parse parameter override rule: '--param robot_description:=<?xml version="1.0" ?>**
                          [gzserver-2] <!-- =================================================================================== -->
                          [gzserver-2] <!-- |    This document was autogenerated by xacro from /home/ltb/chapt6/chapt6_ws/install/fishbot_description/share/fishbot_description/urdf/fishbot/fishbot.urdf.xacro | -->
                          [gzserver-2] <!-- |    EDITING THIS FILE BY HAND IS NOT RECOMMENDED                                 | -->
                          [gzserver-2] <!-- =================================================================================== -->
                          [gzserver-2] <robot name="fishbot">
                          [gzserver-2]   
                          [gzserver-2]     xacro:
                          [gzserver-2]   
                          [gzserver-2]     xacro:
                          [gzserver-2]   
                          [gzserver-2]     xacro:
                          [gzserver-2]   
                          [gzserver-2]     xacro:
                          [gzserver-2]   <link name="base_footprint"/>
                          [gzserver-2]   <!-- 机器人的身体部分 -->
                          [gzserver-2]   <link name="base_link">
                          [gzserver-2]     <!-- 部件外观描述 -->
                          [gzserver-2]     <visual>
                          [gzserver-2]     , at ./src/rcl/arguments.c:343
                          [gzserver-2] 
                          [gzclient-3] [Msg] Waiting for master.
                          [gzclient-3] [Msg] Connected to gazebo master @ http://127.0.0.1:11345
                          [gzclient-3] [Msg] Publicized address: 192.168.1.32
                          [gzclient-3] [Wrn] [Event.cc:61] Warning: Deleting a connection right after creation. Make sure to save the ConnectionPtr from a Connect call
                          
                          
                          小鱼小 1 条回复 最后回复 回复 引用 0
                          • 小鱼小
                            小鱼 技术大佬 @43996173
                            最后由 编辑

                            @43996173 直接拷贝功能包试试

                            新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

                            1 条回复 最后回复 回复 引用 0
                            • 第一个帖子
                              最后一个帖子
                            皖ICP备16016415号-7
                            Powered by NodeBB | 鱼香ROS