编程语言选择#
团队在编程机器人执行各种任务时,我们推荐以下三种:图形化编程、OnBot Java和Android Studio。
图形化编程#
图形化编程工具是一种为机器人编写简单动作的简单方法。它有一个彩色的乐高式设计,包括块块合在一起的声音。
使用设备和机器人控制器,点击 RC 右上方的三个点,选择 “编程和管理”,将设备连接到手机的 Wi-Fi。这将显示供你连接的 WiFi SSID 和密码。打开浏览器(最好是 Chrome 浏览器,不过其他现代浏览器也可以),输入 RC 上显示的地址。
优势#
适合初学者:最简单易用的选项之一。
易于设置:需要设备(笔记本电脑、chromebook、平板电脑)和运行“程序和管理”屏幕的手机
程序可以直接保存到手机
可快速进行更改
不需要外部Wi-Fi连接
缺点#
如果你已经熟悉某种语言的编程,则不建议使用
主要是为没有编程经验的人提供的教学工具
这将把你的主 Wi-Fi 网络更改为 Robot Controller’s 直接 Wi-Fi 网络,因此,当你连接到这个特定网络时,将无法访问互联网。
团队可以通过购买允许计算机同时运行2个Wi-Fi网络的外部Wi-Fi模块来解决这个问题。
牺牲灵活性和应用程序以求简单
永远不要在手机上使用它,除非你别无选择。(不适合手机)
如果你试图这样做,你可能会制造更大的混乱。
OnBot Java#
OnBot Java使用类似的方法,使用浏览器进行编码并直接保存到手机上。不同之处在于使用了一种称为Java的编程语言。
优势#
如果你正在学习或已经学习了一些编程,推荐你使用;如果你懂一点Java,那就更好了。
比图形化编程有着更大的灵活性
有很多可用的资源以防你需要帮助
比图形化编程更适用于实际情况
保持图形化编程的大部分优势
缺点#
连接到机器人控制器的Wi-Fi网络将阻止你使用任何在互联网上包括视频教程和在线通信
使用外部库很困难,几乎不可能
比起图形化编程需要在短期内掌握更多全新的知识
Android Studio#
Android Studio是一个全面的集成开发环境(IDE),它使用Java来对手机进行编程。Android Studio不会使用浏览器上传代码,而是将你的机器人控制器代码编译为.apk文件(应用程序安装程序),并将其安装在手机上。
优势#
如果你正在学习或已经学习了一些编程,推荐你使用;如果你懂一点Java,那就更好了。
比图形化编程有更大的灵活性。
更容易集成库,如 EasyOpenCV, FTC Dashboard, FTCLib 和 Road Runner。
可以使用插件,如 Road Runner。
可使用 USB 连接到 RC 手机,或使用无线连接上传代码。
备注
使用 OpenRC Turbo 可以加快部署时间。
可以实时调试
Java、Android Studio和IDEA的许多资源
可以使用其他编程语言
缺点#
连接到机器人控制器的Wi-Fi网络将阻止你使用互联网上的任何内容,包括视频教程和在线通信,除非你有第二个Wifi适配器(便宜且简单)
相对容易的安装过程,但耗时,有一个庞大的安装量(Android Studio,ftc_app和其他库之间的3GB文件)
问题可能难以诊断和解决
其他编程语言#
Kotlin静态编程语言#
Kotlin静态编程语言是一种相对较新且发展迅速的编程语言,来自Jetbrains,它是IntelliJIDE的创建者,Android Studio就是基于它。Kotlin静态编程语言被设计成与Java完全兼容,但更容易使用。谷歌最近宣布它为官方安卓语言,然后宣布他们将“使Kotlin静态编程语言优先”,但仍保持Java支持。
优势#
简洁、易读、易于编辑的代码
易于编写,因为做同样的事情所需的代码要少得多
可选类型推断和比Java更强大的类型系统
Null安全
线程安全
函数式编程
与Java代码和库无缝衔接
很容易从Java转移过来
缺点#
尚未广泛应用于FTC®
是新加入的语言,用于培训的社区资源较少
不推荐给需要其他团队大量帮助的程序员
C 和 C++#
C和C++是与Android兼容的本地编程语言。很少有团队使用C++。这通常仅用于部分代码,大多数是Java或Kotlin静态编程语言。
优势#
快速执行资源密集型应用程序。
支持更多库
缺点#
很少需要或使用
设置起来非常困难
难以调试代码
很少有团队可以帮助你
很少的在线资源