基于gazebo的ROS小车实训项目
文章平均质量分 90
依托于Gazebo仿真平台,搭建ROS小车技能实训项目,从基础知识到综合应用,全面掌握必备技能,低成本快速打通小车竞赛全过程。
小猫咪朴素的生存智慧
这个作者很懒,什么都没留下…
展开
-
4.3-基于KCF的人脸跟踪
将初始目标检测框提取的特征进行循环移位操作,得到初始的样本训练集,并通过高斯函数为这些样本根据样本中心距目标的远近标记权值,通过样本与权重标签来训练相关滤波器,用于在后续的目标搜索过程中评估周围测试样本的目标响应程度,选择出响应较高的候选框,并使用最新的跟踪结果更新训练集,进一步更新相关滤波器,从而达成对目标的持续跟踪。经过目标跟踪算法的处理,最终实现对人脸的持续跟踪。然而,小车的速度并没有如基类代码中写的那样,根据目标的远近调整速度的大小,而是一直维持前进的速度,直到撞击墙壁,检测不到人脸后才停止。原创 2023-07-24 14:53:45 · 529 阅读 · 0 评论 -
4.2-基于opencv的人脸检测与重识别
级联分类器是通过不同的特征进行一步步筛选,得出这些特征组合所属的最终分类,它将一个复杂的分类问题(如人脸检测)拆解为一个个简单的分类问题(如眼睛、鼻子、嘴巴等的检测),再通过级联条件的判断得出复杂问题的分类结果,有助于提升分类的速度。,这个函数将一帧图像中的全部人脸提取出来,将这些人脸在当前帧图像中的位置组成的列表放入返回值faces中。其元素为(x,y,w,h),分别代表人脸框的左上角点的x、y坐标,人脸框的宽度w和长度h。代码在第一节人脸检测的基础上,增加了对检测到的人脸图像进行识别的功能。原创 2023-07-24 14:48:32 · 212 阅读 · 0 评论 -
4.1-基于opencv的形状与颜色识别
由于继承了父类的rgb_image_callback回调函数,因此进入该回调函数,并调用子类重写的图像处理方法process_image。这里我们实现了一个扩展类,继承了ros_opencv.py,在这个扩展类中,我们通过一系列函数变换,能够提取出摄像头视野中的黄色圆形。主函数中通过rospy.spin()不断触发所有回调函数,当回调函数对应的消息队列中存在消息时,进入回调函数。rospy.spin()不断触发所有回调函数,当回调函数对应的消息队列中存在消息时,进入回调函数。执行完毕后返回主函数。原创 2023-07-24 14:32:11 · 1019 阅读 · 0 评论 -
3.2-建图与导航
actionlib是ROS中一个很重要的功能包集合,尽管在ROS中已经提供了service机制来满足请求—响应式的使用场景,但是假如某个请求执行时间很长,在此期间用户想查看执行的进度或者取消这个请求的话,service机制就不能满足了,此时使用actionlib更为合适。通过goal的消息定义,可以看到goal消息包含一个PoseStamped类型的对象target_pose,表示带有时间戳和参考系的位姿,其中我们需要配置的数据是目标点的x坐标,y坐标以及航向角yaw。原创 2023-07-24 14:23:26 · 644 阅读 · 0 评论 -
3.1-里程计
TF是一个让用户实时跟踪多个坐标系的功能包,它使用树形数据结构,实时维护多个坐标系之间的坐标变换关系,我们需要监听TF变换来获取机器人相对起始位置的位置与姿态关系,即载体坐标系与里程计坐标系之间的旋转与平移关系。我们仿真机器人的载体坐标系名称为/base_footprint,里程计坐标系名称为/odom,因此我们需要监听的是/base_footprint到/odom之间的TF变换。可以看到脚本将获取到的里程计信息打包成(x,y,yaw)的数组形式打印出来,如下图。原创 2023-07-24 14:11:55 · 380 阅读 · 0 评论 -
2.1-小车循迹
基于OpenCV使智行mini机器人在gazebo仿真环境实现循迹移动,了解循迹仿真环境的搭建,使用Python编写脚本,实现基于OpenCV的地面线条识别及线条跟踪。在/launch文件夹下新建follower_color_filter.launch文件,填写如下内容,从而从launch文件启动颜色过滤脚本及RViz显示功能。在HSV图像上,我们可以对接近黄色的色调应用阈值判断,文件移动到上节所述目录,在/launch文件夹下新建机器人循线脚本启动文件follower_line.launch。原创 2023-07-24 14:00:26 · 1001 阅读 · 0 评论