前言

 

上一节:北邮智能车仿真培训(七)—— 使用c++编写程序

 

这一节实现两轮平衡车的仿真,工程还是在之前的基础上搭建的。

 

模型包含:
两个驱动轮、摄像头、陀螺仪、车身

 

搭建模型

 

一会将SmartCar2.urdffindline.cppsmartcar_display_gazebo2.launch文件上传到群文件中。

 

群文件中的smartcar2.7z

 

百度云:链接:https://pan.baidu.com/s/1a4T6O8FjR0fl1dUhhzx9DQ

提取码:ka3m

 

复制这段内容后打开百度网盘手机App,操作更方便哦

 

第一步:将SmartCar2.urdf文件放到你之前工程的urdf文件夹,路径是:~/smartcar_ws/src/smartcar_description/urdf

 

如图:

 

 

第二步:将findline.cpp文件替换你原来的,路径是:~/smartcar_ws/src/buptsmartcar_cpp/src

 

如图:

 

 

第三步:将smartcar_display_gazebo2.launch放到launch文件夹下,路径是:~/smartcar_ws/src/smartcar_description/launch

 

如图:

 

 

加载模型

 

roslaunch smartcar_description smartcar_display_gazebo2.launch

 

 

蓝色的是摄像头部分,黄色的是陀螺仪,红色的是驱动轮,黑色的是车身。

 

执行脚本

 

cd ~/smartcar_ws
catkin_make
source ./devel/setup.bash
rosrun buptsmartcar_cpp findLine

 

这里还是一样,代码里我就写了个原地转圈圈哈!

 

 

可以看到在刚才执行命令的终端打印出了陀螺仪的偏航角,横滚角,俯仰角的信息。

 

绘制波形

 

代码里面已经写好了发布pitch角的数据了:

 

 

然后根据我们前面几节所学的内容,我们用ros的数据可视化功能画一下俯仰角的波形:

 

rqt_plot /pitch/data

 

 

这里大家打开的时候y轴应该是很大的数不像我这里的范围是-0.4 - 0.6,这里是用zoom rect工具来框选我们想要的范围,如下图:

 

 

总结

 

这里已经在代码里面得到了所有的欧拉角以及三轴线速度和三轴角速度,大家可以根据自己的需要来设计平衡车,并通过摄像头寻迹!