简介:继续更新一些报错和AI使用问题(如果有帮助,记得点赞关注我,我会继续更新难解决的报错,其他帖子也有一些报错解决和AI使用注意事项)
目录:
1:报错
2:ai问题
3:具体解决方法
一:报错
1、
安装Mavros途中会遇到该报错,如果你使用AI帮你解决问题的话,会一直无法解决
根本原因:Ubuntu 22.04 + Humble 上,sudo apt install ros-humble-mavros 装不了!
MAVROS 官方从 Humble 起不再发布 apt 二进制包,ROS 官方源里只剩 ros-humble-mavros-msgs(消息定义包),主程序必须源码编译——这也是 PX4 官方推荐的方式。
如果使用AI。询问他为什么报错,他会一直在一个死循环里面打转
二:AI使用问题
一:反复带我去尝试错误的路,在不同的死胡同里面打转,看似找了新的方法。实则没什么用
解决方法:**给自己设定一个时间限制,**一个钟头或半个钟头,如果在一个报错中尝试过长时间,就去寻找一下其他的路径.
例如:去询问其他的AI,去给你的AI更多的信息,去csdn等网站寻找合适的帖子,去询问你的学长学姐,有经验的人.
在使用AI的时候,一定要看他到底给你做了什么事,你要判断他是否在同一个地方反复在打转.他会打转,你必须命令他跳出来。
二:AI会假装收到了你给的信息,实则并没有根据你给的信息进行运算
解决方法:在你给出信息之后,AI有可能会在嘴上承认,实则并没有根据你给的信息重新进行排查
一:低效问法:
“Ubuntu 怎么装 MAVROS?”
高效问法:
“Ubuntu 22.04 + ROS2 Humble装 MAVROS。
怀疑:Humble 源里可能没有 ros-humble-mavros 主包。
请先确认这个包在源里是否存在,再给方案。”
`关键**:将所有的配置信息和你怀疑的点加在对话里询问,不要分别给,AI 被"点名"后,就很难绕过去。**
二、反问 AI 三个"验真"问题
不管它给什么方案,先追问这三句:
| “你确定这条命令在 Humble 上有效吗?” | 逼它区分 ROS1/ROS2 |
| “如果报 Unable to locate package,你的下一步是什么?” | 逼它预先考虑失败分支 |
| “有没有可能这个包根本不在源里?” | 逼它质疑前提 |
AI 只有在被追问时,才会启动"验证模式"——这是很实用的技巧。
关键:需要仔细的询问他该步骤为何有效?追问细节。
三:建立最小验证习惯
查什么,取决于"你要干什么"
命令 = 动作 + 对象。拆开这两个,你就知道该查什么:
| 装(install) | 包 | 包存在吗? |
| 下(wget/clone) | 网址/仓库 | 网址通吗? |
| 跑(bash/执行) | 脚本/程序 | 它干什么? |
| 改(改配置/文件) | 文件 | 现在是什么状态? |
| 删(rm/清理) | 文件/目录 | 里面有什么? |
| 编译(build) | 项目 | 我资源够吗? |
规律:动作决定"要不要查",对象决定"查具体什么"。
这句话是整张表的核心,拆开理解:
- 动作决定"要不要查":先看你要执行的动作是什么。装包、下载、运行、改配置、删除、编译,每个动作背后都对应一个"风险点"。比如"装"的风险点是"包到底存不存在",“跑"的风险点是"这个脚本到底干了什么”。动作不同,风险点就不同,所以要不要查、查什么,第一步由动作说了算。
- 对象决定"查具体什么":动作只告诉你"该查了",但查的对象是谁,由你操作的对象决定。对象是"包",就去查包是否存在;对象是"网址",就去查网址通不通;对象是"文件",就去查文件当前内容。对象不同,查询的命令和方向完全不同。
举个例子:同样是"装"这个动作——
- 装一个 apt 包:查 apt-cache policy 包名,看它到底在不在源里;
- 装一个 pip 包:查 pip index versions 包名,看 PyPI 上有没有这个版本;
- 装一个源码包:查仓库分支、依赖清单,看编译条件是否满足。
动作都是"装",但因为对象不同,查法完全不同。所以遇到报错时,先别急着复制命令,先问自己一句:“我这个动作,风险点在哪?我这个对象,该用什么命令去查?” 想清楚这两点,你就不会在死胡同里打转了。决定"查具体什么"。**
四:想让 AI 靠谱,就让它交出可核对的产物,而不是索要一个保证。
让它"给可执行的验证命令",你自己跑*
完整安装步骤
1. 安装编译工具和基础依赖
```bash
sudo apt update
sudo apt install -y python3-vcstool python3-rosdep2 python3-colcon-common-extensions \\
python3-pip git cmake build-essential libgeographic-dev libboost-system-dev
sudo rosdep init
rosdep update
如果 rosdep init 报 already exists,说明初始化过,忽略即可。
如果 rosdep update 网络失败(国内常见问题),可以换国内版:sudo pip3 install rosdepc && sudo rosdepc init && rosdepc update。
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws
git clone https://github.com/mavlink/mavros.git src/mavros –branch ros2 –recurse-submodules
注意分支是 ros2,不是 master。这一步要访问 GitHub,国内必须开代理
cd ~/ros2_ws
rosdep install –from-paths src –ignore-src -y –rosdistro humble
这一步会自动解析并安装 mavros 需要的全部依赖(mavlink、geographic-msgs、diagnostic-updater、tf2 等),比手工装准得多。
source /opt/ros/humble/setup.bash
cd ~/ros2_ws
MAKEFLAGS="-j2" colcon build –symlink-install –executor sequential
16G 以上内存可以直接 colcon build –symlink-install。8G 内存不加限流必卡死
echo "source ~/ros2_ws/install/setup.bash" >> ~/.bashrc
source ~/.bashrc
export http_proxy=http://127.0.0.1:7897
export https_proxy=http://127.0.0.1:7897
sudo -E ~/ros2_ws/src/mavros/mavros/scripts/install_geographiclib_datasets.sh
挂梯子,端口按自己代理软件的实际端口改。-E 不能省(不会问ai)
(没有梯子的话。就自己去尝试一下国内镜像,如果不行可以关注我找我要资源包)
ros2 pkg list | grep mav
ls /usr/share/GeographicLib/
预期输出:
libmavconn
mavros
mavros_extras
mavros_msgs
【插入截图:最终验证,ros2 pkg list 输出 + GeographicLib 目录】
看到 4 个包 + 地理数据目录里有 geoids/gravity/magnetic,安装完成。
如果有帮助,记得点赞关注我,我会继续更新难解决的报错
网硕互联帮助中心


评论前必须登录!
注册