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

    机械臂moveit+gazebo 联合仿真报错

    已定时 已固定 已锁定 已移动
    机械臂运动规划
    moveit gazebo
    5
    9
    1.3k
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • AquiverA
      Aquiver
      最后由 编辑

      我按照古月居moveit视频里的操作进行配置,只是机器人描述文件换成了aubo_i5的,在运行时报如下错误:
      2022-10-07 15-13-12 的屏幕截图.png
      目前能在gazebo和rviz中显示模型,但是点击execution,gazebo不会跟着运动。
      由moveit配置助手生成的文件基本没有改动,只有改动了moveit_rviz.launch(也是因为一个报错,在网上找的解决办法),还有就是aubo_i5_moveit_controller_manager.launch.xml文件,如下:

      <launch>
       <!-- Set the param that trajectory_execution_manager needs to find the controller plugin -->
       <arg name="moveit_controller_manager" default="moveit_simple_controller_manager/MoveItSimpleControllerManager" />
        <param name="moveit_controller_manager" value="$(arg moveit_controller_manager)"/>
       <!-- load controller_list -->
       <rosparam file="$(find aubo_i5_moveit_config)/config/controllers_gazebo.yaml"/>
      </launch>
      

      controllers_gazebo.yaml文件如下:

      controller_manager_ns: controller_manager
      controller_list:
        - name: aubo_i5_controller
          action_ns: follow_joint_trajectory
          default: True
          type: FollowJointTrajectory
          joints:
            - shoulder_joint
            - upperArm_joint
            - foreArm_joint
            - wrist1_joint
            - wrist2_joint
            - wrist3_joint
      

      如下是moveit功能包李集成launch文件,moveit_planning_execution.launch

      <launch>
       # The planning and execution components of MoveIt! configured to 
       # publish the current configuration of the robot (simulated or real)
       # and the current state of the world as seen by the planner
       <include file="$(find aubo_i5_moveit_config)/launch/move_group.launch">
        <arg name="publish_monitored_planning_scene" value="true" />
       </include>
      
       # The visualization component of MoveIt!
       <include file="$(find aubo_i5_moveit_config)/launch/moveit_rviz.launch">
        <arg name="config" value="true" />
       </include>
      
        <!-- We do not have a robot connected, so publish fake joint states -->
        <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher">
          <param name="/use_gui" value="false"/> 
          <rosparam param="/source_list">[/aubo_i5/joint_states]</rosparam>
        </node>
      
      </launch>
      

      move_group.launch文件如下

      <launch>
      
        <!-- GDB Debug Option -->
        <arg name="debug" default="false" />
        <arg unless="$(arg debug)" name="launch_prefix" value="" />
        <arg     if="$(arg debug)" name="launch_prefix"
                 value="gdb -x $(find aubo_i5_moveit_config)/launch/gdb_settings.gdb --ex run --args" />
      
        <!-- Verbose Mode Option -->
        <arg name="info" default="$(arg debug)" />
        <arg unless="$(arg info)" name="command_args" value="" />
        <arg     if="$(arg info)" name="command_args" value="--debug" />
      
        <!-- move_group settings -->
        <arg name="pipeline" default="ompl" />
        <arg name="allow_trajectory_execution" default="true"/>
        <arg name="fake_execution" default="false"/>
        <arg name="fake_execution_type" default="interpolate" />
        <arg name="max_safe_path_cost" default="1"/>
        <arg name="jiggle_fraction" default="0.05" />
        <arg name="publish_monitored_planning_scene" default="true"/>
      
        <arg name="capabilities" default=""/>
        <arg name="disable_capabilities" default=""/>
        <!-- load these non-default MoveGroup capabilities (space seperated) -->
        <!--
        <arg name="capabilities" value="
                      a_package/AwsomeMotionPlanningCapability
                      another_package/GraspPlanningPipeline
                      " />
        -->
      
        <!-- inhibit these default MoveGroup capabilities (space seperated) -->
        <!--
        <arg name="disable_capabilities" value="
                      move_group/MoveGroupKinematicsService
                      move_group/ClearOctomapService
                      " />
        -->
      
        <arg name="load_robot_description" default="true" />
        <!-- load URDF, SRDF and joint_limits configuration -->
        <include file="$(find aubo_i5_moveit_config)/launch/planning_context.launch">
          <arg name="load_robot_description" value="$(arg load_robot_description)" />
        </include>
      
        <!-- Planning Functionality -->
        <include ns="move_group" file="$(find aubo_i5_moveit_config)/launch/planning_pipeline.launch.xml">
          <arg name="pipeline" value="$(arg pipeline)" />
          <arg name="capabilities" value="$(arg capabilities)"/>
          <arg name="disable_capabilities" value="$(arg disable_capabilities)"/>
        </include>
      
        <!-- Trajectory Execution Functionality -->
        <include ns="move_group" file="$(find aubo_i5_moveit_config)/launch/trajectory_execution.launch.xml" if="$(arg allow_trajectory_execution)">
          <arg name="moveit_manage_controllers" value="true" />
          <arg name="moveit_controller_manager" value="aubo_i5" unless="$(arg fake_execution)"/>
          <arg name="moveit_controller_manager" value="fake" if="$(arg fake_execution)"/>
          <arg name="fake_execution_type" value="$(arg fake_execution_type)" />
        </include>
      
        <!-- Sensors Functionality -->
        <include ns="move_group" file="$(find aubo_i5_moveit_config)/launch/sensor_manager.launch.xml" if="$(arg allow_trajectory_execution)">
          <arg name="moveit_sensor_manager" value="aubo_i5" />
        </include>
      
        <!-- Start the actual move_group node/action server -->
        <node name="move_group" launch-prefix="$(arg launch_prefix)" pkg="moveit_ros_move_group" type="move_group" respawn="false" output="screen" args="$(arg command_args)">
          <!-- Set the display variable, in case OpenGL code is used internally -->
          <env name="DISPLAY" value="$(optenv DISPLAY :0)" />
      
          <param name="allow_trajectory_execution" value="$(arg allow_trajectory_execution)"/>
          <param name="max_safe_path_cost" value="$(arg max_safe_path_cost)"/>
          <param name="jiggle_fraction" value="$(arg jiggle_fraction)" />
      
      
          <!-- Publish the planning scene of the physical robot so that rviz plugin can know actual robot -->
          <param name="planning_scene_monitor/publish_planning_scene" value="$(arg publish_monitored_planning_scene)" />
          <param name="planning_scene_monitor/publish_geometry_updates" value="$(arg publish_monitored_planning_scene)" />
          <param name="planning_scene_monitor/publish_state_updates" value="$(arg publish_monitored_planning_scene)" />
          <param name="planning_scene_monitor/publish_transforms_updates" value="$(arg publish_monitored_planning_scene)" />
        </node>
      
      </launch>
      
      小鱼小 1 条回复 最后回复 回复 引用 0
      • 小鱼小
        小鱼 技术大佬 @Aquiver
        最后由 编辑

        @Aquiver 看起来是执行器的原因,可以检查一下action相关的服务是否存在,以及名称。

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

        AquiverA 2 条回复 最后回复 回复 引用 0
        • AquiverA
          Aquiver @小鱼
          最后由 编辑

          @小鱼 我刚接触到这 命令是像查话题列表那样吗
          这里是话题列表
          2022-10-09 18-13-49 的屏幕截图.png
          2022-10-09 18-14-00 的屏幕截图.png
          2022-10-09 18-14-12 的屏幕截图.png

          我试着在rviz中拖动执行,终端会报这个错
          2022-10-09 18-20-21 的屏幕截图.png

          1 条回复 最后回复 回复 引用 0
          • AquiverA
            Aquiver @小鱼
            最后由 编辑

            @小鱼 解决了 谢谢小鱼

            小鱼小 1 条回复 最后回复 回复 引用 0
            • 小鱼小
              小鱼 技术大佬 @Aquiver
              最后由 编辑

              @Aquiver 咋解决的,好奇

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

              AquiverA 1 条回复 最后回复 回复 引用 0
              • AquiverA
                Aquiver @小鱼
                最后由 编辑

                @小鱼 是我的controllers_gazebo.yaml文件里面name那一行不对 😂

                17695640381 24038496382 2 条回复 最后回复 回复 引用 1
                • 17695640381
                  布鲁斯杰 @Aquiver
                  最后由 编辑

                  @Aquiver 大哥,我也是首先用古月居的anno跑了一遍,能在gazebo里面动起来。现在换成自己DIY的机械臂就报错了。
                  报错内容:

                  [ERROR] [1669167751.277877941, 37.752000000]: Unable to identify any set of controllers that can actuate the specified joints: [ joint_1 joint_2 joint_3 joint_4 ]
                  [ERROR] [1669167751.277897873, 37.752000000]: Known controllers and their joints:
                  
                  [ERROR] [1669167751.277925647, 37.752000000]: Apparently trajectory initialization failed
                  

                  大哥知道怎么解决么,我名字都对上了。具体的我在社区提问了,大哥,帮忙看看怎么回事嘛,感激不尽。

                  26368146052 1 条回复 最后回复 回复 引用 0
                  • 24038496382
                    扶苏 @Aquiver
                    最后由 编辑

                    @Aquiver 请问name那一行正确的应该是什么

                    1 条回复 最后回复 回复 引用 0
                    • 26368146052
                      一斤幼稚. @1769564038
                      最后由 编辑

                      @1769564038 哥们这个问题解决了吗 我用自己机械臂配置rivz和gazebo联动 报错

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