Gorobotics is the perfect blog for everyone looking to learn how to make a robot, gather knowledge about DIY robotics projects, and stay in touch with the latest robotics news.
Why Robotics?
Posted on February 9th, 2012 in Latest News, MiscIt is becoming increasingly important for schools to improve and broaden their scope and selection of technological subjects/topics in order to compete in a global market. More and more robotics manufacturers are noticing this potentially huge market and are making their products more “user friendly” so that teachers can incorporate them into their courses more easily. The big winners seem to be those that offer the most “bang for the buck”; easy to use and inexpensive products like Arduino are becoming more widespread and children are being introduced to robotics at younger and younger ages.
Robotics offers the perfect outlet for students not only because it is at the forefront of technology, and appeals to (almost) everyone, but also because it:
- offers a hands-on learning approach which students love
- incorporates multiple disciplines and opens career possibilities
- promotes technological literacy
- students must demonstrate resource and time management
- encourages teamwork and problem solving
- curriculum material is becoming increasingly available
- increasing support from both the public and private sectors
How Do I Choose Appropriate Sensors?
Posted on February 6th, 2012 in Latest News, Sensors
Measure Distance
- Contact (when an object is touched) and Proximity (object is close)
- Ultrasonic Range Finders (variable distances)
- Infrared and laser (used for a specific distance or range)
- Accelerometers (distance based on initial position, integrated twice),
- IMU‘s (distance based on initial position and includes rotation)
- Encoders and Disks (location based on number of evolutions of the wheel)
- Linear Potentiometer (location along slider)
- Resistive band (location along a band)
- Stretch and Bend Sensors (distance stretched or related)
Measure Rotation
- Potentiometer (usually 0 to 300 degrees)
- Gyroscope (angle based on initial value)
- IMU‘s (angle based on initial value and includes possible linear acceleration)
- Encoders and Disks (angle based on number of fractional turns)
- Stretch and Bend Sensors (moving closer or farther – use geometry)
Measure Environmental Conditions
- Light Sensor (specific color, intensity or range)
- Sound sensor (specific decibel reading or range)
- Thermal Sensors (specific temperature or temperature range)
- Infrared (used to measure temperature)
- Temperature and Humidity (range of values)
- Cameras and Vision Sensors (measure depth, color, proximity and object type)
- Barometric Sensor (measure pressure)
Measure Orientation and Position
- Compass (orientation with respect to earth’s magnetic field)
- Accelerometers (distance based on initial position, integrated twice),
- IMU‘s (distance based on initial position and includes rotation)
- Gyroscope (angle based on initial value)
- Stretch and Bend Sensors (orientation of specific parts)
- Localization and GPS (fixed sensors locate an object in 3D space)
Miscellaneous
- Current and Voltage Sensors (range of values)
- Magnetic Sensors (intensity of magnetic field)
- Vibration (specific value or range of values))
- Stretch and Bend Sensors (object warping or changing shape/position)
30 Days Till The Cloud Robotics Hackathon. Hurry Up to Get a Free Robot!
Posted on February 1st, 2012 in Coding, Hobbyist, NewsWhat is a “hackathon”?
The word “hackathon” is a combination of “hack” and “marathon” and designates an event where hackers, makers and tinkerers from teams and get together for a short time (a weekend for instance) to create and hack technology. The most hard-core hackers code and build during the entire event without sleeping and only taking minimal breaks.What is this “cloud” thing?
“Cloud robotics” refers to the use of web services (that run on the internet, a.k.a. “the cloud”) in order to make robots smarter. This hackathon is focused in catalyzing the creation of cloud robotics applications by using the MyRobots.com API, Android, and ROS.Why participate?
Many reasons: It is a fun opportunity to hack and learn about cloud robotics, it brings roboticists to work with web developers and android programmers, and each team gets a FREE DFRobotShop Rover. If you want to be a hero in the robotics community and get started in the very exciting and emerging field of cloud robotics, register your team now! Find out more about the Cloud Robotics hackathon on roboticshackathon.comDrive Motor Sizing Tutorial
Posted on February 1st, 2012 in MotorsRobotShop, June 2008
This tutorial is intended to complement RobotShop’s Drive Motor Sizing Tool by providing you with a step by step explanation as to the calculations behind the dynamic tool. In the image below, half a mobile robt is shown. Although in this scenario only two out of the four wheels are driven, the equations below can be used for any number of passive and driven wheels, as well as for tank tracks. The equations are presented without units (units are presented with the drive motor selection tool). To calculate the required torque, power, current and battery pack required by a wheeled mobile robot, there are several principles that must be understood: concept of vectors; 2D Force balance; Power; Current and Voltage. If you do not understand these concepts, you are encouraged to research them prior to reading this tutorial. In order to roll on a horizontal surface, a wheeled robot’s motors must produce enough torque to overcome any imperfections in the surface or wheels, as well as friction in the motor itself. Therefore theoretically, a robot (small or large) does not require much torque to move purely horizontally. Obviously there will be more friction and resistance in a large robot than in a small robot, though it is still exponentially less than when a robot encounters an incline. In order for a robot to roll up an incline at a constant velocity (no acceleration or deceleration) it must produce enough torque to “counteract” the effect of gravity, which would otherwise cause it to roll down the incline. On an inclined surface (at an angle theta) however, only one component of its weight (mgx parallel to the surface) causes the robot to move downwards. The other component, mgy is balanced by the normal force the surface exerts on the wheels. In order for the robot not to slide down the incline, there must be friction between the wheel and the surface. The motor in a heavy truck may be able to produce 250 horsepower and significant torque, but we have all seen (in person or in video) large trucks simply spinning their wheels as they fall backwards on an icy street. It is friction (f) that “produces” the torque.The torque (T) required is:
To select the proper motor, we must consider the “worst case scenario”, where the robot is not only on an incline, but accelerating up it.
Note now that all forces (F) are along the x and y axes. We balance the forces in the x-direction:
Inserting the equation for torque above, and the equation for mgx, we obtain:
Rearrange the equation to isolate T:
This torque value represents the total torque required to accelerate the robot up an incline. However, this value must be divided by the total number (N) of drive wheels to obtain the torque needed for each drive motor. Note that we do not consider the total number of passive wheels as they have no effect on the torque required to move the object aside from adding weight.
The final point to consider is the efficiency (e) in the motor, gearing and wheel (slip).
This increases the torque required and compensates for inefficiencies.
Total power (P) per motor can be calculated using the following relation:
T is known from above and the angular velocity (w) is specified by the builder. It is best to select the maximum angular velocity to be able to find the corresponding maximum power. Knowing the maximum power and the supply voltage (V) which the builder chooses, we can find an idea of the maximum current (I) requirements:
The two equations above are used to produce the following relation:
Finally, the capacity (c) of battery pack required can be estimated using the equation:
You may wonder why such a large value is needed. This is because when choosing a battery pack, the rated amp hours are not an accurate indicate of the maximum current the pack can produce for extended periods of time. Also, the total charge is rarely retained over time. This way you will ensure the battery pack you select will be capable of producing the current your motors require, for the time you require and with the inefficiencies inherent in recharging battery packs.
Note: This is the battery required PER MOTOR. To obtain a total battery pack required for the robot, multiply this value by the number of drive motors.

















