Python和Pygame绘制自动驾驶和移动机器本地规划器算法

这篇具有很好参考价值的文章主要介绍了Python和Pygame绘制自动驾驶和移动机器本地规划器算法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

可视化自动驾驶车辆路径规划和移动机器人中使用的众多不同的本地规划器算法。 该应用程序提供可定制的参数,以更好地了解每种算法的内部工作原理并探索它们的优点和缺点。 它是用 Python 编写的,并使用 Pygame 来渲染可视化。

基类

import sys
import threading

import pygame, random, pygame_gui
from pygame.locals import *
from planners.planners import ProbabilisticRoadmap, Color, RRT, PotentialField, CircularObstacle
from search.search import Dijkstra, AStar, GreedyBFS


class State:
    PRM = 0
    RRT = 1
    PF = 2

def sample_envir(map_pos, map_dim, obs_dim):
    sx = map_pos[0]
    sy = map_pos[1]
    ex = sx + map_dim[0] - obs_dim[0]
    ey = sy + map_dim[1] - obs_dim[1]
    x = int(random.uniform(sx, ex))
    y = int(random.uniform(sy, ey))

    return (x, y)

def localize(map, pos):
    return pos[0] - map[0], pos[1] - map[1]

def generate_obs(num_obstacles, map_pos, map_dim, obs_dim):
    obs = []
    for i in range(num_obstacles):
        rect = None
        collision = True
        while collision:
            pos = sample_envir(map_pos, map_dim, obs_dim)
            size = (int(random.uniform(10, obs_dim[0])), int(random.uniform(10, obs_dim[1])))
            rect = pygame.Rect(pos, size)
            collision = False
            for obj in obs:
                if rect.colliderect(obj):
                    collision = True
                    break
        obs.append(rect)
    return obs


def generate_circle_obs(num_obstacles, map_pos, map_size, circle_obs_dim, goal_pose):
    obs = []
    for i in range(num_obstacles):
        collision = True
        while collision:
            pos = sample_envir(map_pos, map_size, (circle_obs_dim,circle_obs_dim))
            rad = int(random.uniform(10, circle_obs_dim))
            circle = CircularObstacle(*pos,rad)
            collision = circle.collidepoint(goal_pose)

        obs.append(circle)
    return obs
...

多种局部规划算法

概率路线图

快速探索随机树

势场文章来源地址https://www.toymoban.com/news/detail-787478.html

多图搜索算法

迪杰斯特拉的最短路径

A* 搜索

贪心最佳优先搜索

图搜索可视化

随机生成障碍物并可自定义障碍物数量

拖放障碍物生成

拖放可定制的开始/结束姿势

每个规划器算法的可定制参数

概率路线图

快速探索随机树

势场

源代码

参阅 - 亚图跨际

到了这里,关于Python和Pygame绘制自动驾驶和移动机器本地规划器算法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【OpenAI】Python:基于 Gym-CarRacing 的自动驾驶项目(3) | 路径训练功能的实现 | 规划与决策 | 路径平滑 | 利用公式进行目标速度预测

         猛戳订阅!  👉 《一起玩蛇》🐍 💭 写在前面:  本篇是关于多伦多大学自动驾驶专业项目的博客。GYM-Box2D CarRacing 是一种在 OpenAI Gym 平台上开发和比较强化学习算法的模拟环境。它是流行的 Box2D 物理引擎的一个版本,经过修改以支持模拟汽车在赛道上行驶的物理过

    2024年02月06日
    浏览(38)
  • 自动驾驶路径规划——轨迹规划(详解插值法)

    目录 前言 1. 轨迹规划 1.1 轨迹规划包括以下几个问题: 2. 三次多项式插值 ​​​​​​3.  过路径点的三次多项式插值 4. 用抛物线过渡的线性插值 过路径点的用抛物线过渡的线性插值 5. 高阶多项式插值 声明        这个学期学校开设了相应的课程,同时也在学习古月居

    2024年01月22日
    浏览(34)
  • 自动驾驶中的决策规划

    参考:  【干货篇】轻舟智航:自动驾驶中的决策规划技术(附视频回放 +PPT 下载) - AIQ 如图所示,  各模块介绍 定位模块主要负责解答的问题是“车现在在哪里”,是在道路上还是在路口,是在高架桥上还是在停车场里。 感知模块则负责解答“车周围有什么”这个问题。

    2024年02月07日
    浏览(42)
  • 自动驾驶路径规划——Dijkstra算法

    这个学期学校开设了相应的课程,同时也在学习古月居机器人学系列的《基于栅格地图的机器人路径规划指南》,为了巩固知识,方便自己的学习与整理,遂以学习笔记的形式记录。      深度优先搜索( Depth First Search , DFS ) :首先从某个顶点出发,依次从它的各个未被

    2024年01月22日
    浏览(30)
  • Phillweston 自动驾驶 决策规划算法 面经

    By: Phillweston 注: 原创链接如下: 详细!自动驾驶规划控制算法工程师面经(具体题目+回答思路) 本人引用了此链接中的提问内容,并根据自己的想法写了部分回答,回答部分仅供参考。 Dijstra算法,算法流程 初始化 检验从所有已标记的点k到其他直接连接的未标记的点j的

    2024年02月11日
    浏览(35)
  • 自动驾驶轨迹规划之碰撞检测(三)

    欢迎大家关注我的B站: 偷吃薯片的Zheng同学的个人空间-偷吃薯片的Zheng同学个人主页-哔哩哔哩视频 (bilibili.com) 目录 1.基于圆覆盖 2.BVH 3.MATLAB自动驾驶工具箱  4 ROS内置的模型 自动驾驶轨迹规划之碰撞检测(一)-CSDN博客 自动驾驶轨迹规划之碰撞检测(二)-CSDN博客 大家可以

    2024年01月18日
    浏览(32)
  • 从零开始学习自动驾驶决策规划

    自动驾驶路径规划控制ros1和ros2移植Apollo和autoware规控算法可跑工程(适合入门学习,科研和实战),不仅包括移植Apollo和autoware规划算法,还包括其他规划算法,与carla联合仿真实现规划控制,autoware-carla联合仿真,Lanelet高精度地图构建,强化学习等等,基本涵盖了公司算法

    2024年02月13日
    浏览(31)
  • 自动驾驶轨迹规划之碰撞检测(二)

    欢迎大家关注我的B站: 偷吃薯片的Zheng同学的个人空间-偷吃薯片的Zheng同学个人主页-哔哩哔哩视频 (bilibili.com) 目录 1.基于凸优化 2.具身足迹 3. ESDF 自动驾驶轨迹规划之碰撞检测(一)-CSDN博客 大家可以先阅读之前的博客  以此为代表的算法则是 OBCA 无论是自车还是障碍物都

    2024年01月17日
    浏览(32)
  • 自动驾驶轨迹规划之碰撞检测(一)

    欢迎大家关注我的B站: 偷吃薯片的Zheng同学的个人空间-偷吃薯片的Zheng同学个人主页-哔哩哔哩视频 (bilibili.com) 目录 1.碰撞检测的意义 2.安全走廊 3 计算几何 4 AABB与OBB 对于自动驾驶汽车或机器人的路径规划,碰撞检测是其中非常重要的一个模块,因为碰撞检测不仅仍然是路

    2024年01月17日
    浏览(35)
  • 自动驾驶轨迹规划之kinodynamic planning

    欢迎大家关注我的B站: 偷吃薯片的Zheng同学的个人空间-偷吃薯片的Zheng同学个人主页-哔哩哔哩视频 (bilibili.com) 本文PPT来自深蓝学院《移动机器人的运动规划》  目录 1.kinodynamic的背景 2. old-school pipline 3.example kinodynamic是一个合成词,由运动学与动力学组成 这样的一个规划问

    2024年02月19日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包