什么是 robotc?

robotc 是一门编程语言, 官方介绍说是基于 C 语言的针对机器人的一门编程语言. 官网
http://www.robotc.net.

官网提供了开发 IDE, 可以基于图形化的拖拉式编程, 也可以采用文本式编程. 如 图 1,
图 2 所示.

什么是 robotc?_第1张图片

图1: 图形化编程界面

什么是 robotc?_第2张图片

图2: 文本化编程界面

robotc IDE 是免费的, 可以从官网下载.

面向的可编程产品

robotc 可以面向下面的产品进行编程:

  • VEX IQ
  • VEX CORTEX (EDR)
  • VEX PIC
  • LEGO MINDSTORMS EV3
  • LEGO MINDSTORMS NXT
  • TETRIX programming language
  • RCX
  • Arduino UNO/MEGA 1280, MEGA 2560

给孩子买了一套 VEX IQ, 所以后续文章针对的产品就是 VEX IQ.
并且本人有一定的编程基础, 因为采用文本化的编程 (text-based) 方式.

robotc 语言

robotc 的语法与 C 语言基本一样, 因此具有 C 语言基础的人上手 robotc 毫无压力.
通过一段时间的使用, 有一点点发现:

  • robotc 自成体系, 与 C 语言除了语法上的相近, 两者没有关联. 所以,
    不要想着可以使用 C 语言的标准库.
  • robotc 提供了基本的数学运算函数. 若要实现复杂的数学运算, 只能自己写.
  • robotc 支持指针, 但不支持动态内在分配, 不要想用 malloc 了.
    也许它面向的产品编程不需要特别复杂的原因吧.

这部分内容在以后使用过程中会进一步补充.

运行程序

通常的途径是, 你需要搭建一个机器人, 然后利用 robotc IDE 编程,
再把程序下载到机器人上的主控器 (其实是一个微电脑, 官主称之为 brain),
之后机器人就会按程序的控制运行.

在学习 robotc, 或者有机器人的构思但要对其进行事先测试, 比如电机与传感器的测试,
若按上述途径就比较麻烦, 因为要搭建一个实体机器人才行. 好在 官方提供了一个叫
“虚拟世界” (virtual world) 的仿真程序,
可以将编写好的程序直接驱动虚拟世界中的机器人运行, 这可以节省大量的时间与精力.
下面简单介绍一下虚拟世界.

virtual world

虚拟世界是收费的, 面向个人与机器人教育机构. 貌似只针对 vex 和 lego 的产品.
下面是虚拟世界的截图, 图 3. 图 4 是官网上的图.

什么是 robotc?_第3张图片

图 3: 虚拟世界截图

什么是 robotc?_第4张图片

图 4: 虚拟世界官方截图

本人购买的是虚拟世界个人版永久授权, 79.9美刀. 也可以按年购买,
具体价格可以查看官网. 购买时需要一张双币信用卡, 通过 paypal 可以完成购买.

安装好虚拟世界并输入授权码后, 就与该 PC 绑定. 若要换台 PC, 需要到官网解除绑定,
再绑定另一台 PC.

有了虚拟世界, 编写好的程序可以直接下载到虚拟世界并驱动机器人运行, 察看运行效果.
虚拟世界好像对 PC 的显卡有一点点要求, 至少我的 new x1c 运行虚拟世界时 CPU
风扇猛转.

总结

后续会发一些文章, 主要是虚拟世界内带的作业.

你可能感兴趣的:(vex-robotc)