# ai_robot_drone **Repository Path**: katly/ai_robot_drone ## Basic Information - **Project Name**: ai_robot_drone - **Description**: 空地协同无人机部分使用文档。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-03-19 - **Last Updated**: 2025-03-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README **本项目是在Ubuntu20.4系统环境下开发进行的,如果不是在20.04系统版本下,可能某些地方会需要有所改动。 ## 依赖安装 ``` sudo pip install future pip install mavsdk sudo pip install dronekit pip install piexif ``` ## 下载安装QGroundControl Ubuntu自带的串口调制解调器会干扰与机器人相关的串口(或USB串口)使用。在安装QGroundControl之前,你应该删除调制解调器管理器,并 授予自己访问串口的权限。你还需安装GStreamer,以支持视频流。 首次安装QGroundControl之前,在命令提示符下输入: ``` sudo usermod -a -G dialout $USER sudo apt-get remove modemmanager -y sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y sudo apt install libqt5gui5 -y sudo apt install libfuse2 -y ``` 注销并重新登陆,以启用对用户权限的更改。 下载[QGroundControl.AppImage](https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl.AppImage) 在终端执行: ``` chmod +x ./QGroundControl.AppImage ``` 启动软件 ``` ./QGroundControl.AppImage(或者鼠标双击) ``` ## 搭建PX4 jmavsim仿真环境 - 下载源码 ``` git clone https://gitee.com/katly/PX4-Autopilot.git ``` - 安装依赖环境 ``` cd PX4-Autopilot/Tools/setup bash ./ubuntu.sh ``` - 编译运行 ``` make px4_sitl jmavsim ``` ## 在仿真环境中启动飞行程序 如上述中分别启动QGroundControl和jmavsim程序,建立仿真环境,两者在开启后会自动建立通讯连接。 ### 指定起飞位置 手动设定环境变量可以覆盖默认的起飞点坐标: PX4_HOME_LAT, PX4_HOME_LON, 以及 PX4_HOME_ALT 。 例如,要设置飞机的维度、经度和海拔高度: ``` export PX4_HOME_LAT=28.452386 export PX4_HOME_LON=-13.867138 export PX4_HOME_ALT=28.5 make px4_sitl_default jmavsim ``` ### 执行飞行程序 本项目包含两种无人机飞行方式,第一种是设置GPS坐标点进行飞行,第二种是设置飞行距离段执行飞行。分别对应程序set_point.py和set_line: .py,可以根据对无人机的具体需求选择某一种飞行方式。例如选择飞行一个20mx40m的一个矩形,可按照下面执行飞行程序 ``` python3 set_line.py ``` 如果知道具体飞行点的GPS信息,可以按照下面执行飞行程序 ``` python3 set_point.py ``` 配置文件config_line.yaml和config_point.yaml,在实际飞行和仿真测试时,需要根据里面的注释,修改对应部分的内容。 ## 注意 *无人机飞行具有不确定性和危险性,请在实飞之前做好仿真测试,设置并记好遥控器各个控制通道,以防无人机在飞行时发生炸机 或者伤人事故。*