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

    求助啊大佬们

    已定时 已固定 已锁定 已移动
    ROS 2相关问题
    ros2 launch uedf
    3
    5
    720
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 35684851433
      一二一三八
      最后由 编辑

      在用launch方法生成gazebo启动项和导入urdf文件时出现以下错误:
      spawn_entity.py-2] [INFO] [spawn_entity]: Spawn Entity started
      [spawn_entity.py-2] [INFO] [spawn_entity]: Loading entity XML from file /home/outerman1/fishbot_ws/install/fishbot_description/share/fishbot_description/urdf/fishbot_gazebo.urdf
      [spawn_entity.py-2] Traceback (most recent call last):
      [spawn_entity.py-2] File "/opt/ros/eloquent/lib/gazebo_ros/spawn_entity.py", line 362, in <module>
      [spawn_entity.py-2] main()
      [spawn_entity.py-2] File "/opt/ros/eloquent/lib/gazebo_ros/spawn_entity.py", line 357, in main
      [spawn_entity.py-2] exit_code = spawn_entity_node.run()
      [spawn_entity.py-2] File "/opt/ros/eloquent/lib/gazebo_ros/spawn_entity.py", line 140, in run
      [spawn_entity.py-2] self.get_logger().error('Error: specified file %s does not exist', self.args.file)
      [spawn_entity.py-2] TypeError: error() takes 2 positional arguments but 3 were given
      [ERROR] [spawn_entity.py-2]: process has died [pid 40742, exit code 1, cmd '/opt/ros/eloquent/lib/gazebo_ros/spawn_entity.py -entity fishbot -file /home/outerman1/fishbot_ws/install/fishbot_description/share/fishbot_description/urdf/fishbot_gazebo.urdf --ros-args'].
      launch文件如下:
      import os
      from launch import LaunchDescription
      from launch.actions import ExecuteProcess
      from launch_ros.actions import Node
      from launch_ros.substitutions import FindPackageShare

      def generate_launch_description():
      robot_name_in_model = 'fishbot'
      package_name = 'fishbot_description'
      urdf_name = "fishbot_gazebo.urdf"

      ld = LaunchDescription()
      pkg_share = FindPackageShare(package=package_name).find(package_name) 
      urdf_model_path = os.path.join(pkg_share, f'urdf/{urdf_name}')
      
      # Start Gazebo server
      start_gazebo_cmd =  ExecuteProcess(
          cmd=['gazebo', '--verbose','-s', 'libgazebo_ros_init.so', '-s', 'libgazebo_ros_factory.so'],
          output='screen')
      
      # Launch the robot
      spawn_entity_cmd = Node(
          package='gazebo_ros', 
          node_executable='spawn_entity.py',
          arguments=['-entity',robot_name_in_model,'-file',urdf_model_path],
          output='screen')
      ld.add_action(start_gazebo_cmd)
      ld.add_action(spawn_entity_cmd)
      return ld
      

      结果是:gazebo启动成功,但是未导入文件

      1 条回复 最后回复 回复 引用 0
      • 35684851433
        一二一三八
        最后由 编辑

        已解决,urdf的名称写错了

        11654208751 1 条回复 最后回复 回复 引用 0
        • 11654208751
          . @3568485143
          最后由 编辑

          @3568485143 请问应该如何修改呀

          35684851433 1 条回复 最后回复 回复 引用 0
          • 35684851433
            一二一三八 @1165420875
            最后由 编辑

            @1165420875
            gazebo.launch.py文件中那个urdf_name中的gazebo_base.urdf改成fishbot_base.urdf就可以了,我是这样的

            3596479103 1 条回复 最后回复 回复 引用 0
            • 3596479103
              向上 @3568485143
              最后由 编辑

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