蓝桥ROS课程版本不匹配和功能包缺失报错解决

Posted zhangrelay

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了蓝桥ROS课程版本不匹配和功能包缺失报错解决相关的知识,希望对你有一定的参考价值。

课程授课是发现不同版本ROS功能包会有一些小bug:

比如

报错信息类似:

 课程中已经详细讲解,需要配置,成功后如下:


关于功能包缺失,使用更新方式无法成功,毕竟云系统为了安全性锁定的hosts。

 

 

 

这时候需要手动编译功能包:

  • controller_manager

 

放入到缺失文件的功能包工作空间中,然后进行编译。

 

首先确保有这些文件。

使用unzip解压。

由于功能包存在相互依赖关系,src需要文件如下:

 

 

使用control

 

出现:

 

修改urdf_tutorial为urdf_sim_tutorial。

<launch>

  <arg name="model" default="$(find urdf_tutorial)/urdf/r2d2.xacro"/>
  <arg name="rvizconfig" default="$(find urdf_tutorial)/urdf.rviz" />

  <include file="$(find urdf_sim_tutorial)/launch/gazebo.launch">
    <arg name="model" value="$(arg model)" />
  </include>

  <node name="rviz" pkg="rviz" type="rviz" args="-d $(arg rvizconfig)" />

  <!-- This param file is where any environment-agnostic (live or simulation)
  configuration should be loaded, including controllers -->
  <rosparam command="load" file="$(find urdf_sim_tutorial)/config/control.yaml" />

  <!-- This node loads the two controllers into a controller manager (real or simulated). The
  controllers are defined in config/control.yaml -->
  <node name="r2d2_controller_spawner" pkg="controller_manager" type="spawner"
    args="r2d2_joint_state_controller
          r2d2_diff_drive_controller
          r2d2_head_controller
          r2d2_gripper_controller
          --shutdown-timeout 3"/>

  <node name="rqt_robot_steering" pkg="rqt_robot_steering" type="rqt_robot_steering">

    <param name="default_topic" value="/r2d2_diff_drive_controller/cmd_vel"/>
  </node>

</launch>

 

 

报错消失,机器人能否动起来。

 

 并没有动起来。

多了一个WARN。

果然很麻烦啊。

接着修改:

最终还是不行。

留作后续修订。

只解决了[ERROR],但是机器人还是不能动。

 

 

以上是关于蓝桥ROS课程版本不匹配和功能包缺失报错解决的主要内容,如果未能解决你的问题,请参考以下文章

蓝桥云课ROS机器人发布5年啦(原实验楼ROS机器人在线云实践课程)

蓝桥ROS机器人课程和需求

蓝桥ROS机器人课程总结2022

蓝桥ROS机器人之第一个功能包helloros

蓝桥ROS机器人之现代C++学习笔记之路径规划

蓝桥ROS之f1tenth案例学习与调试(成功)