从零构建自主空中机器人:Ubuntu 20.04 + ROS Noetic 开发环境全攻略
1. 为什么选择Ubuntu 20.04 ROS Noetic如果你正在尝试开发自主空中机器人那么Ubuntu 20.04和ROS Noetic的组合绝对是个不错的起点。作为一个在这个领域摸爬滚打多年的开发者我见过太多新手因为环境配置问题而放弃所以我决定写这篇详细的指南帮你避开那些我曾经踩过的坑。首先说说为什么选择Ubuntu 20.04。这个LTS长期支持版本不仅稳定而且社区支持完善几乎所有的机器人开发工具都对其有良好的兼容性。我试过在更新的Ubuntu版本上搭建环境结果发现很多关键库的兼容性还没跟上反而增加了不少麻烦。ROS Noetic则是ROS 1的最后一个版本特别适合需要长期稳定性的项目。虽然ROS 2是未来趋势但就自主空中机器人开发而言ROS Noetic的成熟度和丰富的功能包让它仍然是很多项目的首选。我在实际项目中发现Noetic对PX4飞控和MAVROS的支持特别友好这对空中机器人开发至关重要。2. 系统准备虚拟机还是WSL2.1 VMware虚拟机安装指南我强烈建议初学者使用VMware来安装Ubuntu 20.04。虽然性能会有些损失但它的隔离性和快照功能能帮你省去很多麻烦。下面是我总结的最佳实践下载VMware Workstation Player免费版就够用创建新虚拟机时选择稍后安装操作系统虚拟机配置建议内存至少4GB8GB更佳硬盘30GB起步建议动态分配处理器2核以上USB控制器务必选择USB 3.1安装完成后有个关键设置经常被忽略网络适配器。桥接模式是最佳选择它能给你的虚拟机分配独立IP方便后续ROS多机通信。如果遇到网络问题试试这个命令sudo service network-manager restart2.2 WSL2安装注意事项如果你更习惯Windows环境WSL2也是个不错的选择。但要注意几个关键点必须使用WSL2而不是WSL1需要手动安装图形界面支持USB设备访问受限这对RealSense相机是个问题我个人的经验是如果你需要用到RealSense等硬件设备还是老老实实用虚拟机吧。WSL更适合纯算法开发和测试。3. ROS Noetic完整安装指南3.1 基础安装步骤安装ROS Noetic其实很简单但有几个细节需要注意。首先确保你的软件源是最新的sudo apt update sudo apt upgrade -y然后执行以下命令安装ROSsudo sh -c echo deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main /etc/apt/sources.list.d/ros-latest.list sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 sudo apt update sudo apt install ros-noetic-desktop-full安装完成后别忘了设置环境变量echo source /opt/ros/noetic/setup.bash ~/.bashrc source ~/.bashrc3.2 测试ROS安装用经典的乌龟模拟器测试一下roscore # 启动ROS核心 rosrun turtlesim turtlesim_node # 启动乌龟模拟器 rosrun turtlesim turtle_teleop_key # 启动键盘控制如果能看到乌龟并且能用键盘控制说明ROS安装成功了。这个小测试看似简单却能帮你确认ROS基础功能是否正常。4. RealSense驱动安装与配置4.1 驱动安装Intel RealSense相机是空中机器人常用的感知设备安装驱动时需要特别注意版本匹配sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE sudo add-apt-repository deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main -u sudo apt-get update sudo apt-get install librealsense2-dkms librealsense2-utils librealsense2-dev librealsense2-dbg安装完成后用这个命令测试realsense-viewer如果能看到相机画面说明驱动安装成功。如果遇到问题最常见的原因是USB权限。试试这个sudo usermod -a -G video $USER sudo usermod -a -G dialout $USER然后重新登录。4.2 ROS接口安装为了让RealSense和ROS配合工作还需要安装ROS包装sudo apt-get install ros-noetic-realsense2-camera测试ROS接口roslaunch realsense2_camera rs_camera.launch rostopic list # 应该能看到/camera相关的topic5. MAVROS安装与飞控通信配置5.1 基础安装MAVROS是ROS和PX4飞控之间的桥梁安装命令如下sudo apt-get install ros-noetic-mavros ros-noetic-mavros-extras cd /opt/ros/noetic/lib/mavros sudo ./install_geographiclib_datasets.sh这个过程可能会比较慢因为要下载地理数据。5.2 连接飞控连接飞控后用这个命令测试roslaunch mavros px4.launch fcu_url:/dev/ttyACM0:57600注意把/dev/ttyACM0替换为你实际的设备名。如果连接成功你应该能看到各种飞控状态topic。6. 核心依赖库安装6.1 Ceres Solver安装Ceres是非线性优化库很多SLAM算法都依赖它sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3 libgflags-dev libgoogle-glog-dev libgtest-dev git clone https://ceres-solver.googlesource.com/ceres-solver mkdir ceres-solver/build cd ceres-solver/build cmake .. make -j4 sudo make install6.2 glog安装Google的日志库也是很多算法的基础git clone https://github.com/google/glog cd glog mkdir build cd build cmake .. make sudo make install7. 编译运行Ego-Planner仿真7.1 下载源码git clone https://github.com/ZJU-FAST-Lab/Fast-Drone-250 cd Fast-Drone-250 catkin_make7.2 启动仿真source devel/setup.bash roslaunch ego_planner single_run_in_sim.launch在Rviz中按G键进入目标点选择模式然后用鼠标左键点击设置目标点。如果一切正常你应该能看到无人机飞向目标点。我在实际使用中发现最常见的编译错误是依赖缺失。如果遇到问题仔细检查错误信息通常都是缺少某个库。用apt-cache search命令查找对应的Ubuntu包名安装后重新编译即可。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2434133.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!