Skip to main content

Entry 1 - The Tale of the Sobot Rimulator

Why Use Robots?


Over the course of this blog, you will learn about various types of robots and their relation to computer science.  However, it is first important to understand what a robot actually is and how they can be used.  While many definitions for robot exists, one that seems to be applicable for this blog comes from the English Oxford Living Dictionary, which defines a robot as “A machine capable of carrying out a complex series of actions automatically, especially one programmable by a computer.”  With this definition, relation between robots and computer programming is clear.  In the same way that a compram program is an algorithm that computer is capable of performing, one can create a set of actions for a robot to perform in order to achieve a goal or attain a certain outcome.         

Nick McCrea the Software Engineer    


Now when you hear that Nick McCrea is a software engineer with a background in robotics, what comes to mind?  Based on the definition of robot presented above, you might assume McCrea is responsible for the actions carried out by some robot in an attempt to solve some real world problem.  However, this is not the case for McCrea, who has actually worked to create a program that will hopefully solve a problem in the world of robotics. In the words of McCrea himself “The fundamental challenge of all robotics is this: It is impossible to ever know the true state of the environment.”  With this in mind, McCrea believed that due to the fact that an environment does not remain constant, one important step for improving a robots success would be to test it in a variety of environments.  In order to test a robot in these various environments, McCrea programmed a robot simulator called Sobot Rimulator that would allow the process to be done simply on a computer.  


In the Sobot Rimulator, McCrea programed a simple two wheeled robot that can not only move in a straight line but also can also turn.  The robot also has 9 sensors capable of detecting nearby obstacles and each wheel has a tickers that can track the number of rotations a wheel has made.  With this robot, the goal is reach a specified goal point without running into an obstacles that may be in the way.  Thus, the process of getting to the goal point is based on a constant loop where the robot’s sensor readings are sent to the control computer and the control computer returns instructions of how to act based on the readings.




With the basics of the robot established, McCrea continued his work by meticulously adjusting his program in hopes that the robot would have more success in reaching the goal point.  These adjustments would include creating techniques for avoiding obstacles and combining these techniques to reach the goal successfully.  In the end, McCrea was able to program a robot that, while not having a 100% success rate, was able to maneuver through multiple crowded environment such as the one below.            


 
Moral of the Story
   
The story of Nick McCrea and his Sobot Rimulator displays what a robot is capable of when in the hands of a programmer. In the world of robotics programming, many have the goal of programming a robot that can carry out actions successfully.  However, as McCrea's work suggests, this process is much easier said than done.  Even in the case of McCrea's simple robot, there were many challenges that he was presented with. While robots attempting to solve real world problems will not be as simple McCrea’s robot, one can still look at the development of Sobot Rimulator and come to understand and appreciate the trial and error that exists in the development of a robot that is capable of carrying out an action. In addition, it becomes clear how computer science could be vital in advancing this trial and error process. With that, one can only imagine the breakthroughs that may be made if more people used computer science to develop robot simulators for their own projects.
 

Sources





Comments

Popular posts from this blog

Entry 3- Amazon’s Delivery Service

Definitions Prime Air: Amazon’s drone delivery service which is still in the development process (1) UAV: Unmanned aerial vehicles such as drones (4) SSA: “Sense and Avoid”. A somewhat ambiguous term that describes technology that allows drones to avoid a collision by sensing objects  (3)   “Sense and Avoid” and UAVs The year was 2013 when everyone’s favorite online shopping company, Amazon, was ready to take package delivery to the next level using drones.  However, while the development of Amazon’s drone delivery service, known as Prime Air, has been talked about over the past few years, it seems that none of us have been able to say that we have received anything via drone.  For those wondering why this is the case, the answer is not so simple.  Working within the established drone-flying laws, figuring out the logistics of where drones can deliver, and developing better technology are all issues that have been hurdles for Amazon (1). However, Amazon is working ha

Entry 5- Boston’s Moving Robot

Definitions Humanoid robot- a robot with its body shape built to resemble the human body (1) Biped Robot- a robot that has two legs (2) Bipedal Humanoid Robots One recent story to come out of the robotics community is that of Atlas, the bipedal humanoid robot from the company Boston Dynamics.  While bipedal humanoid robots are definitely not new, the achievement that Boston Dynamics has recently made with Atlas is actually quite a big deal.  Simply put, Atlas the humanoid robot is capable of doing a backflips (4).   While this may seem a bit anticlimactic being that performing a backflip is certainly a common thing among humans, I would argue to first consider past attempts of bipedal humanoid robot in performing the everyday actions of humans. Just observe these robots trying to perform very simple tasks.   As you can see, Atlas’ ability to perform a backflip is quite amazing.  However, one reasonable question regarding such robots could arise:  If