我和我的 friend 们正在建造一架自动驾驶飞机(UAV),并对将ROS用于我们的软件堆栈感兴趣。但是,我在ROS和支持方面遇到一些问题,想知道是否有人知道任何解决方案?
目前,我们的飞机上装有Raspberry Pi 3(我可以用性能更好的处理器代替它,但仍然使用具有相同GPIO的ARM SBC)。我们将运行常规的Raspbian(精简版)。我们计划使用Navio2,它是运行开源ArduPilot固件/软件的自动驾驶仪HAT。我们将混合使用C++和Python。
目前,我的主要问题是:
由于种种原因不是一个选择。
我还研究了ROS2,它旨在解决上面列出的许多问题,但对于我们来说它似乎还不够成熟。
最佳答案
您的观点的一些答案:
Raspbian Lite现在在RPi 3 B +上支持
-std=c++17
添加到CXX_FLAGS
就是说,我不会说ROS2的不成熟是取消其资格的一个很好的理由-我知道要花很多时间才能获得足够的支持,并且所有预先存在的ROS软件包都将移植到其中(这就是为什么我的团队没有不想考虑)。
无论如何,我仍然会考虑您计划实现的任何算法是否确实需要OpenCV4功能,或者使用该版本只是“很不错”。 OpenCV3并没有那么老,据我了解,OpenCV3可以处理所有最新技术,而又不会使算法对API产生太大的影响。
更新2018年12月28日
做一些粗略的搜索,看起来ROS Melodic确实支持Python3(请参阅此question):ROS必须从带有环境变量
ROS_PYTHON_VERSION=3
设置的源代码中构建(另请参见this)关于python - ROS的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53789575/