Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- **`(c) 2019 Mong Alvarez Jr.`**
- ***
- # ROBOTC Natural Language
- From the definition of *robotc.net*:
- > ROBOTC is a cross-robotics-platform programming
- language for popular educational robotics systems.
- >
- > ROBOTC is the premiere robotics programming language
- for educational robotics and competitions. ROBOTC is
- a C-Based Programming Language with an Easy-to-Use
- Development Environment.
- As we can see here, the term *natural language* was not
- mentioned. But they included the
- natural language lately and they even
- call it `ROBOTC Natural Language`.
- ## Simplifying ROBOTC
- So, what is natural language?
- From *webopedia.com*:
- > Natural language means a human language. For example,
- English, French, and Chinese are natural languages.
- Computer languages, such as FORTRAN and C, are not.
- >
- > Probably the single most challenging problem in computer
- science is to develop computers that can understand
- natural languages. So far, the complete solution to this
- problem has proved elusive, although a great deal of
- progress has been made. Fourth-generation languages are
- the programming languages closest to natural languages.
- ROBOTC is one of those programming languages
- that wants to deal with natural language.
- But why?
- For beginners, the main target is to guide them
- through the process. There was the graphical mode and the
- text-based ROBOTC but there
- was no bridge between them. So the answer was the
- natural language feature.
- From the definition of *robotc.net*:
- > The Natural Language feature was designed to
- help ‘bridge the gap’ between
- a graphical language and the text-based ROBOTC
- dealing complex commands with ease".
- Then, they did not stop there. The even released the
- `Graphical Natural Language` (*easy-to-use graphical blocks
- that can be drag-and-dropped*)
- to further simplify ROBOTC plus the Natural Language feature.
- Consider this scenario:
- *Anything (claw, arm, wheel, etc.) that is
- controlled by the VEX-IQ motor has
- the command `setMotor` (`setMultipleMotors`
- is just a variant) to control it. And there are only
- the clockwise and counterclockwise rotations.*
- *Say, a beginner wants to program the robot
- to move forward. Without the human-like command
- `forward`, he/she might be confused because
- when he/she invoked `setMotor` with a positive
- power level, the robot might not move forward
- at all! There is no such thing as move
- forward or backward in `setMotor`.*
- *Say, a beginner wants to program the robot
- to turn left. Without the human-like command
- `turnLeft`, he/she will be dealing with the
- complexity of opposite rotation of the
- wheels.*
- *Say, a beginner wants the robot to follow
- a black line using the Color sensor.
- Without the human-like command `lineTrackLeft` or
- `lineTrackRight`, he/she will be dealing with
- much complexity of using loops together with
- `setMotor` command.*
- And so many more.
- As we see here, these commands hide much complexity
- for beginners.
- Hence, the need to include this in ROBOTC.
- ## Computer Science and ROBOTC
- But there is more than that in computer science.
- The ultimate target of ROBOTC, theoretically,
- is to make this language much like a natural language
- that even when voice recognition is enabled, can follow
- the commands of humans instantly in a manner
- that the robot can understand the meaning no matter
- how it is said. But, it is more
- of a dream than a reality right now
- but attempts are paving the way.
- ***
- ## Useful Links
- <http://www.robotc.net>
- <http://www.robotc.net/NaturalLanguage/>
- <http://www.robotc.net/blog/2013/12/19/graphical-natural-language/>
- <https://www.webopedia.com/TERM/N/natural_language.html>
- <http://www.robotc.net/blog/tag/natural-language/>
- ***
- **`(c) 2019 Mong Alvarez Jr.`**
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement