我们买的新飞机ANAFI EXTENDED,用的app是 freeflight6
官网 http://www.parrot.com.cn/product/anafi-extended/
购买 https://item.jd.com/36083624640.html



镜头可以变焦 三轴
0基本硬件说明

1APP说明


第一次安装 ,首先连接遥控器(可以不链接直接手机控制),升级固件,遥控器和飞机的固件都要自动升级。

2程序开发
https://developer.parrot.com/

https://developer.parrot.com/docs/olympe/

https://developer.parrot.com/docs/olympe/installation.html
安装源码
首先你必须有个linux破强工具 不然后面下载不了!!!
我在官网基础改了自己打的路径
安装安装工具
sudo apt-get install repo
下载源码
Clone the parrot-groundsdk repo workspace

在当前路径下执行命令,准备下载前的配置,源码是按照xml 组织的工程,需要先执行下面命令组织好,必须要破墙不然会time out!!!
$ repo init -u https://github.com/Parrot-Developers/groundsdk-manifest.git $ repo syn

中间报错 git项目的时候需要输入自己的身份和邮箱

加入自己的邮箱和名字
使用您的真实姓名和电子邮件地址配置git
$ git config --global user.name "Your Name" $ git config --global user.email "you@example.com"
重新执行 一路按y

执行 开始下载工程
repo sync

下载成功,看到很多文件夹子

执行
./products/olympe/linux/env/postinst

等待下载完

下面没安装完???) clang 没装完??
不管了 重新执行一遍手动安装依赖库
$ sudo apt-get -y install build-essential yasm cmake libtool libc6 libc6-dev
unzip freeglut3-dev libglfw3 libglfw3-dev libsdl2-dev libjson-c-dev
libcurl4-gnutls-dev libavahi-client-dev libgles2-mesa-dev
$ sudo apt-get -y install rsync
$ sudo apt-get -y install cmake libbluetooth-dev libavahi-client-dev
libopencv-dev libswscale-dev libavformat-dev
libavcodec-dev libavutil-dev cython python-dev
$ pip3 install clang

执行另一个安装
原教程
$ pip3 install -r ~/code/parrot-groundsdk/packages/olympe/requirements.txt $ echo "export PYTHONPATH=$PYTHONPATH:~/code/parrot-groundsdk/out/olympe-linux/final/usr/lib/python/site-packages/" >> ~/code/parrot-groundsdk/products/olympe/linux/env/setenv
换成自己的路径执行

echo "export PYTHONPATH=$PYTHONPATH:~/Project/ROS/parrot-groundsdk/out/olympe-linux/final/usr/lib/python/site-packages/" >> ~/Project/ROS/parrot-groundsdk/products/olympe/linux/env/setenv

中间报错 安装blockdiag库的时候

可能网速问题,重新执行下(网络好像断了有的没下载)

再重新执行下

再重新执行,神奇的装好了??? 看来是网速导致有的没下载,多执行几次

编译
$ pwd ~/code/parrot-groundsdk $ ./build.sh -p olympe-linux -A all final -j4

一路回车到底 出现 选择 y


导致原因是因为libclang-11 这个库有问题

需要安装这个库的另一种形式
sudo apt-get install libclang-dev

还不行,库得版本问题

安装
sudo apt install libclang1-8
- 参考的网页 http://www.jeh-tech.com/python/pyclang.html
建立软链接
cd /usr/lib/x86_64-linux-gnu
sudo ln -s libclang-8.so.1 libclang.so
如果需要删除 (我之前是多安装了3.8 要删除下)软链接 sudo rm -f libclang.so
重新编译

激活环境
每次的source一下整个shell 进入(olympe-python3) 模式,然后才能执行别的

执行一个实例-但是我这里为什么没有???先跳过

当Python环境处于活动状态时,您的shell提示符应以开头。`olympe-python3 `
现在,您可以在此控制台中执行Olympe脚本,例如:
(olympe-python3) $ python my_olympe_script.py
完成Olympe的工作后,只需键入exit或按Ctrl + D退出活动环境并恢复以前的提示。
检查您的安装
如果安装成功,则以下命令不应报告任何错误。
$ pwd
~/code/parrot-groundsdk
$ source shell
(olympe-python3) $ python -c 'import olympe; print("Installation OK")'
$ exit

确实安装成功了。 后续的控制再说吧
python代码控制使用教程
https://developer.parrot.com/docs/olympe/userguide.html
仿真环境的无人机ip
真实无人机的ip 192.168.42.1
打开飞机上电,按一下开关,测试阶段可以拆下浆叶。
搜索wifi ANAFI-L104849
密码 3JUE7IKZ8QT! 注意是英文版本的!
连接上之后,执行各种控制脚本。
首先验证是否安装成功
#激活环境 修改成自己工程目录
source ~/Project/ROS/parrot-groundsdk/products/olympe/linux/env/shell
#搞一个ok脚本验证
python -c 'import olympe; print("Installation OK")'

# -*- coding: UTF-8 -*-
import olympe
import time
from olympe.messages.ardrone3.Piloting import TakeOff, Landing
#飞仿真IP
#DRONE_IP = "10.202.0.1"
#真实飞机的IP
DRONE_IP = "192.168.42.1"
def main():
drone = olympe.Drone(DRONE_IP)
drone.connect()
assert drone(TakeOff()).wait().success()
time.sleep(10)
assert drone(Landing()).wait().success()
drone.disconnect()
if __name__ == "__main__":
main()
起降测试(拆飞机机浆叶)
进入测试样例目录,先把飞机浆叶拆下来
修改python脚本的 IP地址
仿真环境的无人机ip
真实无人机的ip 192.168.42.1
#激活工程 一个命令行窗口执行一次
source ~/Project/ROS/parrot-groundsdk/products/olympe/linux/env/shell
#执行起降
python ./takeoff.py

然后飞机就起飞了
10秒后降落
视频流测试

进入测试样例目录,先把飞机浆叶拆下来
修改python脚本的 IP地址
仿真环境的无人机ip
真实无人机的ip 192.168.42.1
#激活工程 一个命令行窗口执行一次 source ~/Project/ROS/parrot-groundsdk/products/olympe/linux/env/shell #执行起降 python ./streaming.py
就可以看到飞机的视频画面
获取更多数据

1获取GPs传感器信号
olympe.media.GPS
元组类GPS(纬度,经度,海拔)
altitude字段2的别名
latitude字段编号0的别名
longitude字段编号1的别名drone = olympe.Drone(DRONE_IP) drone.connect() drone.media.GPS() #接收到gps经纬度
2 设置GPS返航点和返航模式
- 飞机需要根据GPS初始点自动返航,或者执行跟随飞行员动作,都需要设定预先的GPS点。
- https://developer.parrot.com/docs/olympe/arsdkng_ardrone3_gps.html
- 飞机的返航点 改变和设置
-

