自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 jupyer notebook导出为.py文件

2025-08-23 17:17:43 86

原创 nohup &指令:使python在后台不挂断运行

或者关闭终端,程序都仍然运行,需要通过kill来终止进程。表示把标准错误定向到标准输出上,一起输出。训练中的标准输出将放入out.log中。关闭终端,程序依然运行。

2025-05-07 10:47:39 437

原创 VScode+Cursor 启用内联值显示

【代码】VScode 启用内联值显示。

2025-04-08 15:06:32 411

原创 VScode配置默认终端为Anaconda Prompt

在 settings.json 中可以添加以下配置,使得每次启动 VSCode 时自动激活 Anaconda 环境插入代码的位置见上图绿色框。(1) 打开 VSCode,按 Ctrl + , 或点击左下角齿轮图标,选择 设置。(3)设置 VSCode 在启动时自动激活 Anaconda 环境。

2025-03-28 14:50:32 1024

原创 函数凹凸性

1 凸函数:f′′x0,函数向上开口2 凹函数f′′x0, 函数向下开口。

2025-03-18 22:31:13 439

原创 Python 相对路径写法

表示上上级目录(祖父目录),每多一层…/则向上回溯一级目录。/images/cat.jpg表示向上回溯两级目录后的images文件夹下的文件。例如,./data.txt表示当前目录下的data.txt文件。若省略./,直接写data.txt也等效。表示上一级目录(父目录)。/config.yml表示当前目录的父级目录下的config.yml文件。

2025-03-09 20:04:57 1546

原创 Tensorflow 2.0 GPU的使用与限制使用率及虚拟多GPU

做指定gpu计算时,如果gpu0虚拟成3个,那么在 /device:GPU:3 中的gpu序数中,物理gpu1序号为3,即依次往后推。仅在需要时申请显存空间(程序初始运行时消耗很少的显存,随着程序的运行而动态申请显存);上面的方式不仅可以设置显存的使用,还可以在只有单GPU的环境模拟多GPU进行调试。设置之后,当前程序只会使用自己可见的设备,不可见的设备不会被当前程序使用。限制消耗固定大小的显存(程序不会超出限定的显存大小,若超出的报错)。进一步说,在物理GPU0上虚拟,那么使用。

2025-03-09 16:17:42 1353

原创 WSL2执行nvidia-smi报错:Command ‘nvidia-smi‘ not found, but can be installed with

【代码】WSL2执行nvidia-smi报错:Command ‘nvidia-smi‘ not found, but can be installed with。

2025-03-09 14:29:30 948

原创 利用 Windows 子系统 Linux(WSL)开发 Python

前面已经在WSL配置好了Linux,接下来就开始进行编程。

2025-03-01 11:11:24 868

原创 无法加载文件WindowsPowerShell\profile.ps1?

【代码】无法加载文件WindowsPowerShell\profile.ps1?

2025-02-28 14:56:24 495

原创 linux 命令+相关配置记录(持续更新...)

2)将 explorer.exe 复制到 WSL 路径(notepad.exe也是同样的道理)接着在文件的最后添加相应的路径等,然后按。

2025-02-24 20:03:50 294

原创 Linux配置深度学习环境

CUDA,tensorflow,Python有严格的版本兼容性,不兼容的话容易出现很多问题,安装的时候要特别注意,三者之间的版本关系可参见官网,下图截取了一部分,红框部分是本博客要配置的内容。

2025-02-24 17:53:09 1819

原创 WSL2安装过程记录

因为命令安装的时候会直接将linux发行版安装到C盘,对于系统盘容量小和介意不能自定义安装位置的用户来说,非常不友好,所以我这里采用手动安装的方式,命令安装可以参考以下几个教程(【2】里也详细介绍了手动安装的过程,手动安装还可参考【1】【2】【3】【4】

2025-02-23 19:34:02 496

原创 AttributeError: module ‘jax.interpreters.pxla‘ has no attribute ‘ShardedDeviceArray‘

在旧版 JAX(如 0.3.x)中,DeviceArray 类确实存在于 jax.interpreters.xla 模块中,用于表示 JAX 数组对象。新版 JAX(如 0.4.x+) 重构了内部实现,将 DeviceArray 更名为通用的 Array 类型。我试了各种办法都没办法下reverb,最后发现支持的只有Linux,好了好了,直接原地裂开。这里我把jax和jaxd 版本降下来变成0.4.13 就不报错了。于是我将下图路径中的代码进行了修改后,于是我将下图路径中的代码进行了修改后,

2025-02-22 22:40:59 812

原创 解决Tensorflow找不到GPU的问题

也就是说我现在安装的tensflow2.17.0是不支持GPU的。

2025-02-21 22:51:42 1056

原创 untimeError: jaxlib version 0.4.18 is newer than and incompatible with jax version 0.3.4.

我尝试用↓降低jaxlib的版本报错。然后我将两者都调整到以下版本 (记录了jax的更新日志。

2025-02-21 19:59:26 593

原创 解决: Could not load dynamic library ‘cudart64_110.dll‘; dlerror: cudart64_110.dll not found

运行程序时报错:查看后发现应该是CUDA没有安装下面记录一下安装过程。

2025-02-21 15:58:57 1981

原创 Dubins曲线(3D)

dubins曲线在三维空间中的具体实现

2024-09-07 15:13:44 1148

原创 Dubins曲线(2D)

dubins曲线可以表示成3个运动基本动作的组合(即左转L、右转R、直行S)。符号含义绕单位圆L左转逆时针R右转顺时针S直走直行dubins曲线给出了充分的路经集合,该集合包含的曲线叫做最佳路径。由Dubins证得最短路径只从6条曲线中选取:{LRL LSL LSR RLR RSR RSL}。符号曲线CCC{LRL RLR}CSC其中C表示单位圆弧,S表示直线段。

2024-09-06 14:55:05 2049

原创 两个经纬度之间的距离计算

将西经看作负值,东经看作正值,北纬看作负值,南纬看作正值。则纬度的取值范围是−2π​2π​, 经度的取值范围为−ππ. 当然,正负可以根据个人喜好随意规定,并不会影响最终的计算结果。

2024-03-05 19:59:08 1116

原创 二维运动规划

学习该示例前,需要学习(Cartographer同理,本文会略作说明)运动规划,可以是在事先已经建好的地图上进行,也可以一边建图一边规划,这篇博客主要讲一边建图一边规划,为什么不讲在已经建好的图上做规划,那当然是因为我没有把图建好😭。

2024-03-04 20:45:30 785

原创 三维激光SLAM

机械激光雷达包括3d_lidar和3d_gpu_lidar,前者使用CPU计算,后者使用GPU计算,其他没有区别,您可以根据您的需要选择。再次强调,一定要在.bashrc里source ~/catkin_ws/devel/setup.bash,否则3D激光雷达插件无法在仿真环境中启用。线,您可以修改为其他线数,其他参数也都可以修改。启动ALOAM,由于本教程给激光雷达设置的是32线,因此启动对应32线的launch文件。我这里飞的乱七八糟,如果飞行路线正确,可以得到下图。中提到的依赖,然后编译ALOAM。

2024-03-01 16:22:19 665 2

原创 二维激光SLAM(Cartographer)

启动仿真环境(记得把indoor3.launch里的sdf设为iris_2d_lidar)这里也是要在新终端运行。将cartographer输出的2D位姿和高度值(由1D激光测距仪获得),转换为mavros话题。启动键盘控制脚本,控制无人机飞行,注意不能飞太高,导致激光雷达扫不到围墙。绕场地飞一圈,建立完整的地图,而后保存地图,用于后需要运动规划使用。ROS自带有cartographer,因此可以apt安装。”一样,因为无人机失去控制,没有画出完整的地图。完整的地图如下图所示。

2024-03-01 15:07:09 612

原创 二维激光SLAM(HectorSLAM)

插入横线文本样式:强调文本强调文本引用文本:下标:指数红字红底。

2024-03-01 12:56:04 539 1

原创 VINS-Fusion+RTABMap的三维稠密重建

之前教程介绍的双目SLAM和VIO获得的都是稀疏点云,无法运用于避障与运动规划。为此,我们需要把视觉里程计与深度相机的深度图进行融合,从而进行三维稠密重建,这里以VINS-Fusion+RTABMap为例进行介绍。

2024-02-29 22:24:12 1355 2

原创 PX4飞控EKF配置

PX4默认使用的EKF配置为融合GPS的水平位置与气压计高度。如果我们想使用视觉定位,就需要把修改配置文件。● 注意,此修改意味着EKF融合来自mavros/vision_pose/pose的数据,并不是修改完无人机就可以视觉定位了,需要相关程序提供mavros/vision_pose/pose的数据,相关程序包括视觉SLAM、激光SLAM和获取Gazebo真值等。如果没有额外的视觉数据,想要飞行必须改回基于GPS和气压计的定位。

2024-02-29 14:11:07 1230

原创 视觉惯性里程计(VIO)

插入横线文本样式:强调文本强调文本引用文本:下标:指数红字红底。

2024-02-29 13:35:19 863

原创 视觉SLAM

插入横线文本样式:强调文本强调文本引用文本:下标:指数红字红底这篇博客主要要参考了“”,原作者提供的教程前面关于依赖的都没介绍,也可能是在这里详细介绍了,但是全英文对我来说太有挑战了,我就没认真看本教程以ORBSLAM2为例。ORBSLAM3已经在XTDrone上测试过,编译和使用方法与ORBSLAM3高度类似,大家如果有需要,可以根据此教程同理使用。

2024-02-28 23:08:21 1069

转载 传感器配置

可以看到添加一个传感器分两步,首先include一个模型,这个模型来自于传感器的sdf,比如这个就是stereo_camera.sdf,模型的路径有两个,一个在。PX4_Firmware/Tools/sitl_gazebo/models/下,优先从前者找,因此我们在配置PX4的时候,曾经把~/.gazebo/models/下的双目相机模型删除。值得注意的是,按照这种方法添加的传感器,其插件发布的话题,都是带有无人机类型的前缀的,如/iris_0/stereo_camera/left/image_raw。

2024-02-28 15:29:08 287

原创 配置与控制无人车

出现两个无人车,每个无人车上面贴了三个AprilTag(如何贴AprilTag见这里),用于无人机精准降落,一辆车AprilTag的id是从0到2,另一辆是从3到5。由于PX4 SITL的Rover仿真计算量太大,我们另外提供了一个无人车,下面将介绍其配置与控制方法。使用键盘控制无人车的运动。

2024-02-28 11:04:45 267

原创 动态增加无人机仿真节点

在仿真过程中可能会遇到需要实时生成新模型的场景。仿真过程支持实时增加无人机的仿真模型和仿真控制节点,相较于在启动gazebo和世界文件时同时生成无人机,我们只需要。在其他gazebo仿真节点已经启动的情况下,在新终端中执行该launch文件,可以看到生成了新的iris飞机。以在仿真过程中新增一台iris为例,其launch文件如下。这个launch文件我找不到 所以自行在下图的路径加了一个。

2024-02-26 21:45:17 342

原创 多机型混合仿真支持

注意,generator.py生成的launch文件中的无人机自带了特定的传感器,如果不需要此传感器,或者需要别的传感器,需要修改launch文件中的模型SDF部分,详见《配置与控制不同的无人机》教程。当然多机型的控制,实际肯定是要编写脚本,不依赖手动控制的无人驾驶,这些就有待后续的开发了。注意,多机仿真非常消耗CPU,CPU性能较好的笔记本,能完成10架的仿真,如果再多,您可能需要更强的台式机甚至工作站。启动多机PX4仿真(下面展示图是为了演示能生成很多机型,这样的仿真笔记本是无法带动的)

2024-02-21 21:38:36 404

转载 多旋翼姿态控制示例

3.该示例的代码使用的是PID控制,读者根据需要可以自行利用其他方法设计控制器。示例的PID参数并没有严格调整过,可能不适用于所有的控制目标。5.该控制代码中限制了最大姿态角(0.3弧度),读者可自行修改(搜索“angle_max”可以修改限幅)。1.除去本教程,XTDrone的所有示例对于多旋翼无人机的控制都是位置/速度/加速度控制。4.该教程内的偏航角设置为0方可使用,对于不同的偏航角请读者根据自己的控制想法进行设计。6.该程序对两种控制方式①角度+油门②角速度+油门。②输入r可以让飞机回到起飞点。

2024-02-21 15:49:06 267

原创 配置与控制不同的无人机

特别注意sdf文件,由于同一种机型可能配备不同的传感器,所以sdf文件的命名会随之不同,您需要在~/PX4_Firmware/Tools/sitl_gazebo/models/文件夹下寻找所需的sdf文件(plane)。对于多旋翼飞行器,Offboard控制起飞很容易,给一个大于0.3m/s的期望z向速度即可,因此可以不使用Takeoff模式(按键中的v),Takeoff模式的相关参数(起飞高度,起飞速度)需要在rcS设置,比较麻烦。不知道为什么下图红框部分描述的不对,应该是控制无人机上升下降的速度的。

2024-01-29 16:34:47 1415

原创 Ubuntu18.04下XTDrone无人机仿真平台搭建

因为Gazebo寻找模型的顺序,是先在.gazebo/models/下寻找,然后在其他路径寻找,所以在往PX4 SITL复制models时,要注意.gazebo/models/下有没有同名文件(比如.gazebo/models/下默认有stereo_camera),有的话要么将该同名文件删去,要么替换该同名文件。(这个教程是用的国内源安装,虽然可以使用ros,但是可能在和其他的一起使用时出现问题例如darknet_ros,虽然国内源下载会快很多,但还是建议从官网下载)注意,飞机要先解锁才能起飞!

2024-01-22 20:58:58 1266 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除