Sensors and Accessories for the Mindstorms NXT

Sensors and accessories can greatly expand the capabilities of a robot. In this article, from the series dedicated to the Lego Mindstorms NXT, platform we will review some of these devices available from Lego and third party certified manufacturers. For most of these devices support is available in the programming environments used to work with the NXT, in Microsoft RDS predefined services are included with the package, while in NXT-G most of the predefined programming blocks have actions designed for certain types of sensor, however creating custom services or blocks for certain sensors or devices is possible. Besides Lego’s own hardware, certified devices are available from HiTechnic and Mindsensors and support is also provided by the respective manufacturers.

1. Lego additional hardware

Various devices are available at the Lego Shop website for prices not exceeding 60 US dollars.
Accelerometer sensor (2852724) – This sensor is a 3-axis accelerometer with the aid of which you can determine tilt conditions and acceleration forces. Continue reading (…)

Setting Up Microsoft Robotics Developer Studio to Program Your Mindstorms NXT

As we have emphasized in other articles, Microsoft Robotics Developer Studio is a very good tool to program your robots. Support and samples for generic sensors and devices as well as for several robotic platforms are included, among which we can find Lego Mindstorms NXT, but you can practically control and simulate almost any type of robot. MS RDS provides several interesting features such as Concurrency and Coordination Runtime (CCR) which represents a highly concurrent, message oriented programming model with coordination features that do not present the need of semaphores, locks, manual threading or other types of data, variables or procedures, Decentralized Software Services (DSS) which provides a service-oriented application model, or a graphical design and configuration environment such as the DSS Manifest Editor (DSSME). The Visual Programming Language (VPL) is the graphical development environment for your application, and it can also generate readable C# for improved versatility and the Visual Simulation Environment (VSE) is the primary tool for developing simulations of robots and their environment.

Basically the process of programming a robot under RDS consists of creating services that interact with each other, each service handling physical components of the robot, for instance a motor or a sensor, or coordinating components, such as a “drive” service that can coordinate two motors at a time for handling differential drive applications. Each of them is a REpresentational State Transfer (REST) web service, using dsshost.exe as a service bus. Continue reading (…)

Getting Started with Mindstorms NXT

As we stated in our previous articles, Lego’s Mindstorms NXT is one of our favorite development platforms, providing enough processing power for most projects, together with ease of use beneficial for focusing on concepts and less on prototyping issues. A vast amount of resources is readily available online as well as in printed form, and a variety of programming environments, available for both Windows and Mac, can be used to develop pretty complex robots based on this. Developer kits for software, hardware, bluetooth and mobile applications are available at the Mindstorms support site, and even an open source firmware package is available, allowing for customization starting from the lowest hardware abstraction layer. Additional accessories, sensors and controllers are also available expanding even further the versatility of this platform. In this article we will focus on setting up the work environment based on the 8527 or Mindstorms NXT 1.0 kit.

Mindstorms NXT 8527

Mindstorms NXT 8527 | Photo: Lego

First of all we need to say a few words about the different versions of the Mindstorms NXT kits. The first version was released in 2006, as a direct replacement for the Lego Mindstorms platform featuring the RCX (Robotic Command eXplorer) brick, released in 1998, the “NXT” particle in its name denoting it as the “next” generation of robotic development platform.

The Mindstorms NXT platform comes in three flavors, all based on the 9841 NXT Intelligent Brick, which is the same for all kits, the only difference being the firmware version at the time of release of each kit, however NXT bricks from all three versions can be updated to the latest firmware, but we will discuss about this later in the article. The three kits are the 8527 – or Mindstorms NXT 1.0, now discontinued, the 8547 – Mindstorms NXT 2.0, released in 2009, and the 9797 – Mindstorms NXT Education Base Set.

Continue reading (…)

Introduction to Piezoelectric Actuators

In order to build a mechatronic system that can achieve numerous functions and certain performance levels, designers must think outside the box when searching for solutions to be implemented, in almost every aspect, when building an intelligent machine. This also applies to the actuator system, where classical solutions may or may not meet certain requirements, established as being necessary. A relatively unconventional approach is the employment of piezoelectric or simply piezo actuators.

Physik Instrumente multilayer piezoelectric actuators

Physik Instrumente multilayer piezoelectric actuators

These actuators can be divided into several types:

  • Piezoelectric actuators – usually employed for controlling fuel injection in internal combustion engines;
  • Electrochemical actuators – found in airbag expansion systems;
  • Artificial muscles – employed for mobility and manipulation features in humanoid robots;
  • Shape memory actuators – found in robotic hands, actuating the artificial fingers.

Continue reading (…)

How a Robot Can Keep Its Balance and Stand up Even if it Gets Kicked – Case Study

Balance has an essential role in movement and performing tasks of a robot. If it’s relatively “easy” to develop a robot with two legs for walking vertically like a human, it becomes a nightmare to develop for same robot abilities like carry weight, climb or descend stairs, run, or to maintain balance in case of external shocks. The impossible becomes possible.
The most advanced humanoid robot that can keep its balance in almost any situation comes from Japan from Junichi Urata and his colleagues at the University of Tokyo’s JSK Lab, led by professor Masayuki Inaba.

When a robot has four or more legs is said it has static stability. This type of stability involves distributing the center of gravity between four or more legs, usually the total number of legs minus one, which is in the air to make the next step. In this case the balance is natural, resembling the type found at insects. This type of balance cannot be found at humanoid robots as they will always have only two legs.

How do humans keep their balance?

Let’s look at how the human system works overall to maintain balance. Human system keeps balance by combining information from the eye, ears and the body’s sense of where it is in space. The ears play a very important role in maintaining the balance, besides hearing these have a very fine mechanism used in balancing of the human body. The three parts that create the ear – the outer, middle and inner ear – have separate functionalities. The outer ear is designed to capture sound waves and direct them to the ear drum. The inner ear plays a double role: it allows us to hear sounds and detects the position and movement of the head, the information being used to maintain the balance. Continue reading (…)

Thirteen Advanced Humanoid Robots for Sale Today

The humanoid robot is a metal and plastic replica of the human body which is the most advanced system known to date. We could say that humanoid robots have great potential of becoming the supreme machine, with growing intelligence expected to surpass human intelligence by 2030, and with already augmented motor capabilities in terms of speed, power and precision. Initially used in research with the purpose of understanding the human body in detail and eventually sourcing motion and control solutions already engineered by nature, humanoid robots are becoming increasingly present in our lives. Their operating environments are no longer limited to controlled environments found in laboratories, humanoid robots are now able – to different degrees of course – to tackle a variety of challenges present in the real world. They are already employed for entertainment purposes, assisting the elderly or performing surveillance on small kids. In this article we take a look at humanoid robots for sale on today’s market. Generally the prices are not accessible to everyone, as they start from within the five-figure range.

Why would I buy an advanced humanoid robot?

Tasks and interactions with people that can be accomplished by such machines have difficulty ratings between medium and low, the human body is subject of study for researchers and engineers that develop technologies in the robotics field. An advanced humanoid robot has human-like behavior – it can talk, run, jump or climb stairs in a very similar way a human does. It can also recognize objects, people, can talk and can maintain a conversation. In general, an advanced humanoid robot can perform various activities that are mere reflexes for humans and do not require high intellectual effort.


DARwIn-OP humanoid robot


DARwIn-OP is a humanoid robot created at Virginia Tech’s Robotics and Mechanisms Laboratory (RoMeLa) in collaboration with Purdue University, University of Pennsylvania and Korean manufacturer ROBOTIS. The robot can be used at home, but the main goal is to be used in education and research thanks to the fact that it is a powerful and open platform and its creators encourage developers to build and add features to it.

Continue reading (…)

Stepper Motors and Their Principles of Operation

A stepper motor is a type of DC motor which has a full rotation divided in an equal number of steps. It is a type of actuator highly compatible with numerical control means, as it is essentially an electromechanical converter of digital impulses into proportional movement of its shaft, providing precise speed, position and direction control in an open-loop fashion, without requiring encoders, end-of-line switches or other types of sensors as conventional electric motors require.

4-wire Bipolar Stepper Motor

4-Wire Bipolar Stepper Motor

The steps of a stepper motor represent discrete angular movements, that take place in a successive fashion and are equal in displacement, when functioning correctly the number of steps performed must be equal to the control impulses applied to the phases of the motor. The final position of the rotor is given by the total angular displacement resulting from the number of steps performed. This position is kept until a new impulse, or sequence of impulses, is applied. These properties make the stepper motor an excellent execution element of open-loop control systems. A stepper motor does not lose steps, i.e. no slippage occurs, it remains synchronous to control impulses even from standstill or when braked, thanks to this characteristic a stepper motor can be started, stopped or reversed in a sudden fashion without losing steps throughout its operation.

Speed of a stepper motor can be controlled in a broad range of values by altering the frequency of input impulses. For example if the angular displacement per step is 1,8 degrees, the number of total impulses required for a complete revolution is 200, so for an input frequency of 400 impulses per second the speed of the motor is 120 rpm. Stepper motors can operate with input frequencies up to 2000 impulses (steps) per second, with step values from 0,3 to 180 degrees.

Continue reading (…)