Gazebo环境下基于ROS和OpenCV的阿克曼小车多车跟随的实验报告




笔记来源于:实验
Gazebo环境下基于ROS和OpenCV的阿克曼小车多车跟随
实现四辆车的多车跟随
Gazebo环境下基于ROS和OpenCV的阿克曼小车多车跟随
王宠迪 520021910668 周四班级(1503-21)
1.
实验目的:实现Gazebo环境下基于ROS和OpenCV的多辆阿克曼小车互相自动跟随
2.
实验原理:
(1)跟车的实现:与之前的实验不同,采用了raceworld-master/launch文件夹中的multicars.launch对应的环境。该launch文件定义了deepracer1~deepracer4四个组,分别对应四辆阿克曼小车,每辆车对应的组下分别加载六个控制四轮速度、转角的控制器,定义及消息发布、订阅原理与之前实验完全相同。跟车程序由multi_follow1.launch实现,其中调用的main_master.cpp文件定义了主题为/status的发布者,发布头车和跟随车的名字;lane_master.py文件定义了lane节点,并订阅头车左摄像头图像信息,经处理后控制头车巡线,原理同之前的巡线实验;pure_master.cpp订阅了四辆车的ground_truth信息,获取其速度和转角,并订阅头车、跟随车名字信息,从而实现后车跟随。
(2)图像处理:由lane_master.py文件中的cv2相关图像处理函数实现
3.
实验步骤及结果:
(1)打开虚拟环境,进入aliyun_demo工作空间,终端启动roscore和multicars场景,可见与之前使用的raceworld场景不同,该场景中出现了四辆相同的阿克曼小车;

we_ui_refresh
(2)在侧面菜单的Scene一栏中关闭场景阴影,便于后车图像处理;

we_ui_refresh
(3)新建终端,输入roslaunch raceworld_master multi_follow1.launch命令(注意此处实验手册的命令有误,第二个参数是raceworld_master而非raceworld,对应不同的工作环境),即可在Gazebo中看到多车跟随、头车左摄像头和图像处理后的结果。

we_ui_refresh

we_ui_refresh

we_ui_refresh
上一篇
实验名称:Gazebo环境下基于ROS和OpenCV的阿克曼小车多车跟随
实验目的:尝试实现Gazebo环境下基于ROS和OpenCV的阿克曼小车多车跟随,并理解其原理。
实验原理:
跟车程序使用的是multicars场景,由multicars.launch文件启动。找到/root/aliyun_demo/src/raceworld-master/launch文件夹中的multicars.launch文件并打开。
<node name="controller_manager" pkg="controller_manager" type="spawner" respawn="false" output="screen" args="left_rear_wheel_velocity_controller right_rear_wheel_velocity_controller
left_front_wheel_velocity_controller right_front_wheel_velocity_controller
left_steering_hinge_position_controller right_steering_hinge_position_controller
joint_state_controller" />
在launch文件内加载了deepracer1到deepracer4四个组,每个组加载多个控制器,其中各个组中的left_rear_wheel_velocity_controller,right_rear_wheel_velocity_controller,left_front_wheel_velocity_controller, right_front_wheel_velocity_controller,left_steering_hinge_position_controller和right_steering_hinge_position_controller接收ROS消息,分别控制了左右后轮速度,左右前轮速度和转向角度。
在加载控制器代码的下面,还加载了一个名为ser...
下一篇
周四班级 1503-21 黄子易 520021910158
启动终端,打开multicars场景,场景状态如下:
关闭场景阴影,启动多车跟随程序,四辆车开始跟随运动,运行情况如下:
由头车camera得到的原始图像如下:
该图像经过高斯滤波,HSV图像转换,腐蚀,二值图转换,视角转换,灰度值处理等一系列操作后,绘制出的目标点,车道线,滑动窗口图如下:
评论