Typical Robot Challenge Robot Control Apps

Typical Challenge Sequence

  1. Challenge name is given and you will need to set this in your app.
  2. ONCE Challenge is open for registration, you will need to register as a user (calls the function registerRobotUser).
  3. Challenge registration will be closed. You can not do anything.
  4. Challenge will be set to run. You can NOW send commands (call runRobotCommand after setting the variable robotCommand). Remember that one command can include multiple instructions.
  5. Depending on the challenge, you may have limits on number of simultaneous commands, length of allowed run time, etc.
  6. You and your team (if applicable) will then need to drive your robot to victory!

Robot Problems

To be succesful at a mission, you want to move your robot as quickly as possible. However, more commands more quickly means you are 'driving blind' and may end up causing your robot to get stuck or fall off a 'cliff'. To make things worse, you may find your robot a bit unreliable. A given command may not result in the robot moving exactly the same each time. This problem is called repeatability and reliability.

The following table summarizes some of the reasons why your robot may not respond as expected. Can you think of more? Can you think of ways of changing how you control your robot so it completes a mission efficiently, but not fail due to these issues?

Problem Uneven surface Description The uneven surface may cause a given command to not behave completely as expected. This is particularly a problem with the sharp turn commands (TURNL, TURNR) as they are more sensitive to the amount of friction on the rover wheels.
Problem Robot Hardware Description Your job on these missions is to develop software (app) and use that software to control your robot. Of course, a robot includes BOTH hardware and software. If you are driving the robot from home, you have no way to fix hardware issues or even the design of the robot and you must rely on the engineers whose job was robot design (or in this case - on Mr. Hogg). Note that this is exactly what happens for space missions where often an error in design or manufacturing must be cleverly handled (not fixed) through software
Problem Network Issues Description Just like NASA Engineers driving real robots on Mars, you may encounter issues with network connectivity. You are ACTUALLY driving robots over the internet, so its possible a command may get lost or your network may go down. Note that while this is possible - it is definitely NOT the most likely reason for issues. Network issues happen, but generally networks are fairly reliable. Note that the various networks used to control your robot include your own internet (if working from home), the code.org servers, the robot controller server, the school network, and then bluetooth connections to the individual robots. Lots of tech means lots of ways for problems to show up!
Edit this page on GitHub Updated at Wed, Feb 16, 2022