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

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

在学习《自动驾驶入门:从建模到跟随》课程时,记录了学习过程中的编程练习,课后作业以及发现的问题,后续会对尚未解决的问题继续分析并更新,纯小白,仅供参考。
本次学习笔记关于课程中的第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

显示结果如下:
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值