前几年无人机很火,这几年无人车很火。

一个叫UAV(Unmanned Aerial Vehicle),一个叫UGV(Unmanned Ground Vehicle)。

利用python可以写一个基于车辆运动学模型的无人车,具体代码如下,该部分代码参考了这篇博文:https://blog.csdn.net/u013468614/article/details/103489350。

import numpy as np
import matplotlib.pyplot as plt# set figure size
plt.figure(figsize=(20, 3))# define UGV class
class UGV_model:def __init__(self, x0, y0, theta0, v0, L, T):self.x = x0self.y = y0self.theta = theta0self.v = v0self.l = Lself.dt = Tdef update(self,deltat):dx_vs_dt = self.v*np.cos(self.theta) dy_vs_dt = self.v*np.sin(self.theta)dtheta_vs_dt = self.v*np.tan(deltat)/self.lself.x += dx_vs_dt*self.dtself.y += dy_vs_dt*self.dtself.theta += dtheta_vs_dt*self.dtdef draw(self):plt.scatter(self.x, self.y, color='r')plt.axis([0, 20, -1, 2])plt.grid(linestyle=":")# set reference trajectory
refer_traj = np.ones((100,2))
refer_traj[:,0] = np.linspace(0,20,100) # draw reference trajectory
plt.plot(refer_traj[:,0], refer_traj[:,1], '-.b', linewidth=2.0)# an UGV instance
ugv = UGV_model(0, 0, 0, 2.0, 2.5, 0.1)
for i in range(1000):if(i%2==0):ugv.update(np.pi/6)else:ugv.update(-np.pi/6)     ugv.draw()

代码的执行结果如下图所示,蓝色线代表参考轨迹,红色线是跟踪轨迹(仿真时前轮转角随便给的值,并没有植入具体的路径跟踪算法)。

用python搭建无人车的仿真环境相关推荐

  1. Airsim+UnrealEngine4 搭建无人车/无人机自动驾驶仿真环境

    文章目录 1. Airsim 概述 2. Unreal Engine 概述 3. 在Linux下环境搭建 3.1. 手动 编译安装 UnrealEngine 3.2 编译airsim 插件 3.3 使 ...

  2. 【十】搭建基于qemu的仿真环境与应用

    目录 1 引言 2 qemu简介 3 工具安装 4 环境准备 4.1 cross-toochain安装 4.2 kernel编译 4.3 u-boot编译 4.4 rootfs构建 5 仿真运行 5. ...

  3. pybullet机器人仿真环境搭建 1.安装pybullet,测试官方示例,基础环境搭建

    pybullet机器人仿真环境搭建 1.安装pybullet 前言 安装 测试官方示例 基础环境搭建 导入pybullet 创建服务端 (可选)配置图形GUI 添加资源路径 设置重力 加载模型 迭代运 ...

  4. 从零搭建本地PLC仿真环境:SIMATIC_PLCSIM_Advanced、Portal、KEPServer、OPCUA客户端工具

    背景 近期在为一个工业控制领域的上位机数采项目进行技术预研,苦于手头没有PLC(Programmable Logic Controller,可编程逻辑控制器)硬件设备,为了快速.完整地体验下从 PLC ...

  5. 基于PLCSIM-Advanced搭建ModbusTCP通信仿真环境

    1.写在前面 当我们学习Modbus TCP时,我们可以采用Modbus Poll + Modbus Slave快速搭建一个Modbus TCP的环境,看似很美好,但是深入学习之后,大家就会发现Mod ...

  6. Modbus通信从入门到精通_2_Modbus TCP通信详解及仿真(搭建ModbusTCP仿真环境:创建虚拟PLC并进行ModbusTCP通讯;寄存器与PLC中映射关系;适合理解如何编写上位机)

    本篇将会以西门子PLC软件搭建ModbusTCP仿真环境,并通过仿真环境,介绍基础知识及模拟实际应用中写一个简单的通信读取PLC数据方法,并简介了编写上位机的方法. 文章目录 1. 搭建ModbusT ...

  7. (3)无人车线控底盘开发

    系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录 前言 一.搭建无人车硬件架构 1.传感器套件[核心] 2.计算平台 3.车 ...

  8. Ubuntu18.04配置搭建基于Gazebo的虚拟仿真平台(Px4):无人机(UAV)、无人车等模拟实验平台

    这篇我觉得是写得比较详细完整的 摘自:https://dgzc.ganahe.top/ganahe/2021/uavgazebomoni.html Ubuntu18.04配置搭建基于Gazebo的虚拟 ...

  9. 这个最新无人车模拟环境,让仿真路测效率提升数千倍!华人团队提出,登上Nature子刊...

    贾浩楠 发自 凹非寺 量子位 报道 | 公众号 QbitAI 150亿英里,这是独步全球的自动驾驶公司Waymo的模拟测试里程. 但是这还不够. 有业内人士估计,要完全证明一个算法的安全可靠,模拟测试 ...

最新文章

  1. python解包裹_关于Python中包裹传参和解包裹的理解
  2. Java中如何实现序列化,有什么意义?
  3. 模式识别新研究:微软OCR两层优化提升自然场景下的文字识别精度
  4. jdbc连接各种数据库方式列表
  5. Delphi format的用法
  6. S4 extension field的异步创建和后台作业
  7. mysql ddl dml 导出_MySQL:DDL和DML语句,弄明白了吗?
  8. C# 使用数据库SQLite
  9. 暑期训练日志----2018.8.25
  10. 【转】SQLServer 游标简介与使用说明
  11. 技术分享连载(八十六)
  12. C++总结:static_cast ,reinterpret_cast
  13. xampp启动遇到的小问题
  14. 微信小程序(十二)uni-app框架开发及组件库
  15. 编程艺术——软件设计模式SOLID原则
  16. mac 阿里云ecs配置php,在Mac OS下配置PHP开发环境
  17. 新生儿登记-申办报告
  18. Raft 共识算法1-Raft基础
  19. (python基础)df.loc和df.iloc
  20. 编写一个判断素数的函数,并在主函数中调用该函数,以验证其正确性

热门文章

  1. android 网易云音乐上滑动画,Android_Activity切换动画OverridePendingTransition(Cover 网易云音乐动画)...
  2. 关于ChatGPT的一些小问题
  3. python与js通用的数据结构_常见数据结构和Javascript实现总结
  4. 统计学学习(2)-描述性统计学-在软件开发中的应用
  5. Apipost让您轻松完成接口测试及接口文档,告别加班
  6. Go_Channel详解
  7. 深度剖析channel
  8. PDFObject实现pdf文件预览
  9. android 代码调用xml,显示国家/地区及其调用代码,但使用Android XML返回其缩写代码...
  10. Java数据类型详解