《自动驾驶入门:从建模到跟随》学习笔记小车建模及话题控制

Posted Sakurazzy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《自动驾驶入门:从建模到跟随》学习笔记小车建模及话题控制相关的知识,希望对你有一定的参考价值。

《自动驾驶入门:从建模到跟随》学习笔记(一)小车建模及话题控制

在学习《自动驾驶入门:从建模到跟随》课程时,记录了学习过程中的编程练习,课后作业以及发现的问题,后续会对尚未解决的问题继续分析并更新,纯小白,仅供参考。
本次学习笔记关于课程中的第1-7讲 。主要对小车的xacro建模以及topic通信进行学习实践。


1.小车Xacro建模

代码均来自课程代码包,不再贴出。
通过以下代码在Gazebo环境下加载模型:

$ roslaunch gazebo_ros empty_world.launch
$ roslaunch joint_rostopic spawn_car.launch 

2.Topic通信

首先在小车的xacro模型中完善传动装置,加入以下gazebo插件,以添加相应的话题。

  <gazebo>
    <plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so">
      <robotNamespace>/$(arg roboname)</robotNamespace>
      <robotParam>robot_description</robotParam>
      <robotSimType>gazebo_ros_control/DefaultRobotHWSim</robotSimType>
    </plugin>
  </gazebo>

  <gazebo>
    <plugin name="joint_state_publisher" filename="libgazebo_ros_joint_state_publisher.so">
      <jointName>rear_left_wheel_joint, rear_right_wheel_joint, front_left_steering_joint, front_right_steering_joint, front_right_wheel_joint, front_left_wheel_joint</jointName>
      <updateRate>50.0</updateRate>
      <robotNamespace>/$(arg roboname)</robotNamespace>
      <alwaysOn>true</alwaysOn>
    </plugin>
  </gazebo>

然后在命令行中输入:

$ rostopic list

发现话题列表中并没有我们所添加的自定义话题,在提示信息中有如下的警告:

[WARN] Controller Spawner couldn't find the expected controller_manager ROS interface

说明我们的gazebo没有安装control包,通过以下命令进行安装(注意可能需要下载3个包,melodic对应自己的ros版本)

$ sudo apt-get install ros-melodic-ros-controllers
$ sudo apt-get install ros-melodic-gazebo-ros-control
$ sudo apt-get install ros-melodic-ros-control

安装完毕后再次查看话题列表,显示的话题已经完整,如下所示:

使用命令行发布话题消息来控制前轮转向:

$ rostopic pub /smart/front_right_steering_positiocontroller/command std_msgs/Float64 "data: 1.0"

仿真结果如下图所示:
最后使用echo命令可以监听话题信息:

 $ rostopic echo /smart/front_left_steering_position_controller/state

显示结果如下:

以上是关于《自动驾驶入门:从建模到跟随》学习笔记小车建模及话题控制的主要内容,如果未能解决你的问题,请参考以下文章

自动驾驶仿真开发工具PreScan快速入门系列-第一期-Prescan架构及基础场景建模

智能小车29:自动驾驶与机器学习

Blender自动化建模入门

Blender自动化建模入门

2021年MathorCup数学建模A题自动驾驶中的车辆调头问题全过程解题论文及程序

无人驾驶技术揭秘从机器学习角度揭秘学习型避障小车的设计思路