Getting started on ARK

From Kilobots
Jump to: navigation, search

We see here how to run a typical experiment with a robot swarm augmented via ARK.

Running an ARK experiment

  • Check motor calibration. I suggest that, before any experiment that is sensitive to accurate robot motion, you check if your robots have properly calibrated motors. I recommend you run a simple code and use ARK to test the three movements.
    You can use this Kilobot code: TestMotion.c and follow the video on how to use ARK to test the motor calibration As you can see, at the moment the process relies on visual observation, this could be improved through ARK supervision. Any keen student is welcome to help in implementing it.
  • Open cameras. Open ARK and load the camera calibration file. If you don't have one, you need to first calibrate ARK's cameras. A matrix of four cameras, as in ARK's Sheffield Robotics, the camera calibration file can be generated through the dedicated software available on GitHub at
  • Unique robot IDs. Through unique Kilobot's IDs, ARK and the robot can establish addressed communication. You can either:
    • Assign unique IDs. If the robots do not already have unique IDs, through ARK you can assign them. If you don't know how, follow the tutorial at and find the Kilobot's code in the page Experiments Source Code.
    • Identify unique IDs. If the robots already have unique IDs, an operation much quicker than assignment is identification. Load on the Kilobot a control software that reacts to message type 120 (e.g., see function message_rx() in ARKalib.c), and click the button "Start Identify Kilobots" in the "Setup" tab of ARK. Note that the field "Max ID to try" should indicate an integer with the maximum ID that a Kilobot has.
  • Load your ARK experiment Load your pre-compiled ARK experiment in the "Experiment" tab. ARK automatically loads the last experiment that you loaded.
  • Run the ARK experiment and the Kilobots. If the robots start moving immediately at 'RUN' command, then, the recommendation is to first run the ARK experiment, and after to run the robots. This order is not mandatory, just make appropriate decisions when coding the start of both ARK and Kilobots. Note that the Kilobots can read ARK messages also before receiving RUN.
  • Good luck! You'll need it.