一目的
1.自行导入某车型的mesh文件到URDF/Xacro模型(碰撞检测边框长度小数点位数保留三位:最后两位是学号最后两位),四轮驱动;
2.搭建一个具有城市或者越野行驶路面,不少于3处障碍的行驶环境;
3.给无人车装配摄像头、Kinect、激光雷达等传感器。
4.通过键盘控制无人车,采用rqt绘制出无人车的行驶轨迹和纵横向速度、横摆角速度等信息。
5.无人车能够自主巡线返回起点(允许用自定义的图片设计gazebo地板)。
二过程
(一)创建功能包
首先,建立功能包mycar,在mycar里面,建立文件夹config,launch,meshes,urdf,worlds,scripts等。其中config文件夹中保存运动控制器以及rviz的配置的内容。launch文件夹中保存启动文件。meshes文件夹中保存着机器人部件的信息。urdf文件夹里保存着机器人组成以及传感器信息。worlds里保存着gazebo的环境。scripts里保存着python脚本文件。
(二)solidworks转换成urdf
1在网上浏览四轮汽车,在选到一款大小合适的车后,下载相应的solidworks文件。
2接着,下载solidworks_urdf_exporter-1.6.1插件,在solidwork中使用。将汽车分为五部分,设置相对应的旋转轴以及坐标系,以及转动惯量等参数,进行转换。
3设置camera等部件,为之后的gazebo的配置传感器做准备。
4对转换后的urdf文件进行修改。
(三)搭建行驶路面
1根据题目要求需要搭建城市或者越野行驶路面,考虑到下学期的ROS课程的内容,以及搭建教室环境与搭建城市与越野路面并不存在太多差异,于是我就搭建了一个教室的环境,这样便于下学期的课程,进行仿真。
2在主目录的.gazebo文件夹中进行修改,添加所要的图片以及配置相关的参数,其中图片包含相应的运动路线。在主目录的building_editor_models里有墙壁的文件。(my_ground_plane以及各种文件已经放到了worlds文件夹中)(假如打不开,worlds文件夹里有备用的world,以及路径可能需要自己设置。)
(四)配置传感器
1编写各种xacro文件,其中配置了传感器的各种信息以及控制器的信息。
2编写总的xacro文件,其中包含了其他xacro文件。
3在rviz中,添加各种配置,进行传感器信息的显示。
(五)控制运动
1 启动launch文件
2 rosrun teleop_twist_keyboard teleop_twist_keyboard.py。控制小车的运动,观察rviz以及gazebo中小车的运动。
2在urdf中添加插件,可以发送小车运动的位置,速度信息。
3打开rqt_graph,添加各种topic,观察曲线的变换。
/base_pose_ground_truth/twist/twist/linear/x和/y、/z表示小车的线速度。
/base_pose_ground_truth/twist/twist/angular/x和y,z表示小车的角速度。
/base_pose_ground_truth/pose/pose/position/x和y、/z表示小车的位置。
/base_pose_ground_truth/pose/pose/orientation/w和x、y、z表示小车位姿。
(六)运行python脚本文件
1执行python文件,建立follower节点,接受gazebo发布的图像信息,检测黄色线条,经过计算后,发布/cmd_vel的topic,进而控制小车的巡线行驶。
三 遇到错误以及解决办法
1在solidworks转换为urdf过程中,出现了坐标系紊乱,旋转轴错误的一系列问题。改正方法是手动设置坐标系,以及旋转轴,注意,旋转轴的朝向应该统一。
2在添加地板图片时发现,添加地板后,传感器检测到的图像会一闪一闪,经过排查发现,需要删除原有地板,添加新的图片。
3添加camera的传感器后,发现系统会报错,将camera传感器发布的topic修改为cameras后,问题得到解决。
4在打开gazebo时,有时会出现gazebo-2] process has died红色报错,此时需要输入killall gzserver,杀死进程,重新打开。
5在执行python时,发现,小车并不会行驶,经过检测发现。follower节点并没有发布/cmd_vel的topic控制小车运动。重新改正python中publisher的位置,修改相应的代码后,发现有了topic上的交流,小车实现了运动。
四 总结
基本上完成的项目的主要任务,可以控制小车运动,并且还可以巡线行驶,在面对很急的弯路以及连续的弯路,也表现良好,十分稳定。
存在的问题是,小车在启动时可能会出现晃动,以及建模并不是很精良。
百度网盘链接文章来源:https://www.toymoban.com/news/detail-464025.html
链接:https://pan.baidu.com/s/1_ny3jhrbuGDKeUhALxcmdQ
提取码:0ksb文章来源地址https://www.toymoban.com/news/detail-464025.html
到了这里,关于ROS寻迹小车的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!