Sign in:

All posts by Stu Barwick

What sort of robot would do well if it lived on a white table? How could it sense the edge and stop itself from tumbling over? If the robot had to keep moving, what sort of abilities would it need to keep from driving off? If the table were to change shape over time… or the robot were to be placed on a different table, what kind of robot rules would help it avoid a variety of edge shapes and angles of approach? How would it look? Could you reprogram the Cubelets to help ensure the survival of a table dwelling robot? These are the questions that guided the creation of the Cliff Scout.

cliff-scout-main

Since the Cliff Scout will need to continuously move around the table, we can use two Drive Cubelets to create a robot that can travel and change directions. We could attempt to solve this problem by creating a robot that drives in a tight circle. Unfortunately, builders will discover that Cubelets robots will drift over time, and this may cause their robot to fall off the theoretical table.

So, we’ll need to reprogram the Drive Cubelets so they can spin in both directions and we’ll need to create some sort of triggering pattern to tell the robot when to turn. To detect the edge of a table, the Distance Sense Cubelets are placed at the front edges of the robot. This placement ensures that the robot can sense the edge as early as possible to avoid falling off. Placing the Distance Senses near the edges of the robot helps it avoid falls if it approaches an edge at an angle. The Distance Senses face down and are oriented in a way that allows them to detect the table edge quicker, giving the robot more time to react.



Robot Instructions
You’ll need the following Cubelets to build the Cliff Scout:
  • 2 x Distance Cubelet
  • 1 x Battery Cubelet
  • 1 x Bluetooth Cubelet
  • 2 x Passive Cubelet
  • 1 x Flashlight Cubelet
  • 1 x Rotate Cubelet
  • 2 x Drive Cubelet

cliff-scout-code-overview

The C files for each Drive Cubelet are available for download by clicking HERE and HERE. Use Cubelets Flash to reprogram each Drive Cubelet. Ensure that you flash Drive Program 1 to one Drive Cubelet and Drive Program 2 to the other. If you don’t, your robot won’t turn properly.

In order for the Drive Cubelets to respond to table edge detections, you will need to update the Block IDs so that they match your two Distance Sensors.

  1. Use Cubelets Flash to identify your Block IDs by connecting your Bluetooth Cubelet, Battery Cubelet, and Distance Cubelets. If you’re not familiar with Cubelets Flash, click here to view a helpful tutorial video.
  2. Power on your robot and pair with the Bluetooth Cubelet using your system preferences or Bluetooth settings.
  3. Then open Cubelets Flash, select your Bluetooth Cubelet and click “Connect.”
  4. After you’ve successfully paired. You should see a Cubelets “block-map,” like the one pictured below. flash-block-ID
  5. Click on the Distance Sense icon to bring up your block details.
  6. Write down the Block IDs for each of your Distance Sensors. Then power down your robot. block-id-replacement
  7. Open the “Drive Program 1” C file in a plain-text-editor or other coding environment.
  8. Replace the Block ID markers in lines 11 and 12. They are noted with the marker “INSERT_BLOCK_ID.”
  9. Save your C file and repeat this sequence for the Drive Program 2 C file. Be sure to save your file as a “.c” file. Some text editors don’t save as .c by default so you may have to change the file extension manually!
  10. Reconstruct your robot to match the pictured robot. Below you will find a couple pictures to help you match the robot design.
    cliff-scout-back
    cliff-scout-bottom
    cliff-scout-top
  11. After you’ve completed your design, power on your robot and connect to the Bluetooth Cubelet. You should see a new map with more Cubelets.
  12. Select one of the two Drive Cubelets (for this robot it doesn’t really matter which one you choose.
  13. Find your modified Drive Program 1 C file and drag it into the box to reprogram your Drive Cubelet.
  14. Wait for the program to finish flashing, then click on the remaining Drive Cubelet.
  15. Find your modified Drive Program 2 C file and drag it into the box to reprogram the second Drive Cubelet.
  16. After you’ve successfully reprogrammed your Drive Cubelets, you’re ready to test out your robot.
  17. Place your robot in the center of the table. Bright surfaces work best, so you may have to lay down some white printer paper to get the proper behavior.
  18. Turn on your robot to see if it worked. You may want to be ready to catch your robot if you’re worried about your construction. But keep in mind you need to keep your hands away from the Distance Sensors, or they may interpret them as part of the table and you’ll cause your robot to fall!
  19. Once you’ve succeeded, or if you’ve devised a better robot solution let us know about it online with the hashtag #cubelets

Happy Building and stay tuned for more intensive robot activities!

Note: When you’re done playing with the Cliff Scout, you can restore your Cubelets to their default programming with Cubelets Flash. Just reconnect your robot, then select the Cubelet you’d like to restore. Then click “Restore Default Firmware.” Select the next Cubelet you’d like to restore and repeat.

Join the Conversation  0 Comments
Invent Calendar Seasons’ Greetings,  budding inventors! The holidays are upon us once again.  Snowmen, candy-canes, advent calendars, and little lights abound. And we’d like introduce you to something new.  This holiday season, celebrate the spirit of inquiry and invention with our Invent Calendar! Every day, we’ll be sharing an exciting bit of intellectual wonder. Follow Modular Robotics on Facebook and Twitter to discover daily challenges, robot builds, videos and curiosity-driven activities. Mark your calendars and check in to see what’s behind the doors of the Modular Robotics Invent Calendar!
Join the Conversation  0 Comments
Do you know how you can tell when a company gets a new marketing person? They get a new website. A couple weeks ago Modular Robotics retired our trusty old site for a new one. With the launch of our new fanciness, comes my cue to introduce… myself. I’m Stu, Modular Robotics Marketing Dude and robot evangelist. Don’t panic, I’m not here to convert you to the Church of Robotology. I’m here because I seek to advance the memetic concept of robots and their impact on us as a species. moss-robot-chess My goal at Modular Robotics is to convince the world that robots are a necessary component to our advancement as a species. Naturally, you might be wondering if I’ve been sniffing too many solder fumes to posit such a hypothesis. The reality is that I spend my days pushing pixels rather than completing circuits. Occasionally, I get out from the glow of my Macbook and meet real people in the realm of the third dimension. After the initial shock of human contact wears off, I often find myself answering this question… “What are these robots for?” If you’ve stumbled across this post… you should know that Modular Robotics makes robot constructions systems that are deceptively educational. By this, I mean our robot toys are a lot of fun and have some great life skills embedded into the play experience. Normally, I answer this question with something akin to “Modular Robotics makes robot construction systems that are designed to help kids understand the entangled nature of our world. Our systems are built to be fun and educational, so kids can develop an intuitive understanding of complex systems and design concepts.” All of that is true, but it neglects to impart the vision of what I hope we can accomplish with Modular Robotics. I do what I do because I believe that these robot toys are the opening move in a game of chess that could result in humanity reaching fantastic new heights. I believe robots are a keystone technology in the progression of our species that will free up time necessary to solve our greatest challenges and provide the mechanisms we need to someday reach distant worlds. This is a big concept and I don’t expect that this post will have swayed you in the slightest. It will take series of posts to discuss in detail. This post is to introduce myself and give you a peek into one of the many reasons why we do what we do at Modular Robotics.
Join the Conversation  0 Comments