Posts

,

How to make non-programmable Line Follower Robot

#Robot 3

Whenever we heard this term robot during our schooling, college life & specially college technical events & fest where such type of robotic event going, always we have curiosity about that perhaps we can make our own robot & play & explore with it.

Most of the time when we heard robots then one name is very common which even very famous in robotic events & that name is “Line Follower Robot” means LFR.  It is that kind of robot which is capable to follow the line according to pre-defined track. So whenever we start to build such robot then one thing become very tough for most guyzz is called Programming of robot, But here in this tutorial we are going to learn to build the line follower robot without programming.

So to start for building the line follower robot we need have list of components as shown in below image.

Content

Step 1 :- The first step toward build the free wheels robot is assembling of robot, so for assembling of robot you should go through our how to assemble the robot section. In that section we can assemble the robot in proper manner, kindly follow the instruction during assembling of robot.

After the complete assembling of robot it should be look like this as shown below image.

step1

 

We supposed that you have successfully assemble the robot by following the proper steps as mentioned in tutorial.

Step 2 :- As you can find out both the motor have 2 ,2 wires each respectively, so now connect the 2 wires of each motors connect to our green color motor driving board which mounted just middle of chassis. As you can find out in below images that we connect one motor to output 1 of board & other motor to output 2 of board, according left & right position of motor, means left motor to output 1 & right motor to output 2.

step2

 

Step 3 :- Now take 3 single pin wires (Try to go with different color), if you look at both the IR Sensors the you will find that in each IR sensor has 3 pinout which name like.. VCC, GND, VOUT. So connect one side of 3 single pin wires to each each pinout of first IR sensor, as shown below.

step4

Now after that rest of side of 3 single pin wires are need to connect on our green color motor driver board which just place middle of chassis. Other side wires connection should be like this VCC pin of first ir sensor connected to +5V of board , GND pin to GND of board & VOUT pin of ir sensor is should be connected to input 2 first pin of board as shown below.

step5

As you can see into above image that in our LFR robot we have 2 Sensor right & left sensor, so in above image we have done right sensor connection with respected to right side motor.

step6

Now repeat the same process with left means 2nd ir sensor, take another 3 pin wires & connect to GND, VCC, & VOUT of sensor & other side to motor driver board in same manner, Kindly refer below.

step7

step8

Step 4 :- As for now one one pins of  input 1 & 2 respectively connected to VOUT of both IR sensors respectively  & other one one pins remain unconnected.

step9

step10

Now for rest of connection we will take another single pin wire & connect to rest of inputs pin of motor driver board with each other

step11

If we repeat the connection one again in short form so should be like this, both input 1 & 2 first pins connected to +VOUT of ir sensors & other remaining pins means GND to GND & VCC to +5V of board respectively connected.

Now for Line Follower Robot, IR sensor position of LEDs should be downside because the line which followed by robot is on ground or down side of robot, So we bend it down side.

step13

Step 5 :- Now Supply connect the power supply by using 9V adapter & 9V battery, Here we are using 9V adapter for giving the power supply to robot.

step14

 

Step 6 :- Now press the main power switch button in middle of robot which white in color & you will find power LED will on & robot Start moving any direction. Due to movement of robot in any direction that why it is called free wheels robot.

As you can shown in images below.

step15

 

To make it wire free from adapter you can apply the 9V battery you can use the battery Snipper for battery as shown below image.

step16

,

How to make free wheels robot

#Robot 1

This tutorial is very special for everyone because if you are reading this tutorial so that means you are preparing for learning a new hand on techie of robotic. In this tutorial we are going to explain “how to make free wheels robot”. It is kind of first step toward learning a robotic functionality, actually this free wheel robot is kind of robot which has no mind of sensing, it just start run any where around use. In another if we would to explain then that means it is non-programmable robot which can run only without taking decision.

Basically how to make free wheels robot is for those who want to enjoy robotics technology by using fun manner specially schools kids & intermediate children who want to learn robotics & facts & concept about robots as hobby in their life.

In order to build the free wheels robot we have need following components as shown in images:-

Content

Step 1 :- The first step toward build the free wheels robot is assembling of robot, so for assembling of robot you should go through our how to assemble the robot section. In that section we can assemble the robot in proper manner, kindly follow the instruction during assembling of robot.

After the complete assembling of robot it should be look like this as shown below image.

step1

We supposed that you have successfully assemble the robot by following the proper steps as mentioned in tutorial.

Step 2 :- As you can find out both the motor have 2 ,2 wires each respectively, so now connect the 2 wires of each motors connect to our green color motor driving board which mounted just middle of chassis. As you can find out in below images that we connect one motor to output 1 of board & other motor to output 2 of board, according left & right position of motor, means left motor to output 1 & right motor to output 2.

step2

Step 3 :- Now As you have seen the our Motor driver board so there is input 1 & input 2 pins are also available in pair of 2,2 each respectively. So now take one single pin of connecting wire from bunch of wires & connect one side of wire to input 1 first pin & other side of wires should be connected to +5V pin of Board as shown below image but 2 pin of input 1 is keep it left unconnected.

step3

 

Do the same with input 2 pins, means one pin of input 2 should be connected to +5V of board, kindly refer below image.

step4

 

Step 4 :- As for now one one pins of  input 1 & 2 respectively connected to +5V of board & other one one pins remain unconnected.

step5

Now for rest of connection we will take another single pin wire & connect to rest of inputs pin of motor driver board with each other.

step6

 

If we repeat the connection one again in short form so should be like this, both input 1 & 2 first pins connected to +5v of board & other remaining pins connected to each other by single pin as shown below.

step7

Step 5 :- Now Supply connect the power supply by using 9V adapter & 9V battery, Here we are using 9V adapter for giving the power supply to robot.

step8

 

Step 6 :- Now press the main power switch button in middle of robot which white in color & you will find power LED will on & robot Start moving any direction. Due to movement of robot in any direction that why it is called free wheels robot.

As you can shown in images below.

step9

 

step10

 

For apply the 9V battery you can use the battery Snipper for battery as shown below image.

step11

 

Here you can enjoy the free wheels robot video

, , , , ,

How to use Proteus for circuit design

Important: As Proteus does not bound us to connect power supply, XTAL,reset circuit,EA pin and other basic connections so we are ignoring them for sake of simplicity. The important things like Xtal frequency of micro controller can be set from properties of micro controller, as discussed below.

While in actual hardware form for you must follow basic circuit shown at very beginning of this post.
1) Open Proteus

proteus1

 

2) Click on “P to open up part list.
Locate AT89C51 IC as shown below:
proteus2

 

proteus3

 

3) Locate LEDs as shown below

proteus4

 

4) Make connections from 8051 to LEDs

proteus5

5)Locate GND terminal as shown below

proteus6
6) Connect all LEDs to GND
proteus7

7) Double click on 8051 IC to open up its properties window.

— Set the operating frequency i-e 12.0MHz
— Give controller the desired HEX file.
proteus8
8) Click on Play Button to start simulation
proteus9

CIRCUIT SHOULD START WORKING AS SHOWN BELOW

proteus10

,

How to use keil software for 8051

1) As you will open Keil software , you will see following screen:

keil1

 

2) Create new project as shown below:

keil2

 

3) Name it. Make sure that you already have made the separate folder to minimize confusion of new project files with old ones. New folder will keep all files related to only to one project hence making it easy to locate files you need afterwards.

keil3

 

4) Select chip manufacturer, in our case Atmel then select chip model i-e AT89c51

keil4

 

keil5

 

5) Software will ask you whether to include 8051 start up code, select YES.

keil6

 

6) This is how you working environment should look like till now:

keil7

 

6) As new project folders are created, now it is time to create a text file which will include your assembly code. Go to file drop down menu and select “New” or simply click blank paper icon in file toolbar.

keil8

 

keil9

 

7) Write your code in the new white work space that just has been created.

keil10

 

keil11

8) It’s time to save your C code file now.
Go to file drop down menu and select save. Save the file into your main project folder.

keil12

 

NOTE: SAVE FILE WITH .C EXTENSION AS OUR CODE IS IN C LANGUAGE.

 

As you will save the file, the software will detect the .C language keywords and they become colorful to make them prominent from rest of code.

keil12

 

 

9) Now you have to add .C code file to your project. Right click on the source group folder (sub-folder of main target1 folder) and select “Add files to group (source group)”

keil13

 

10) A small window will appear asking you for location of your .C code file. Give it the path of wherever you have saved your file, it should be in your project folder. Select the file click “Add”.

keil14

keil15

 

11) You may check the .C file by clicking on the little plus sign at the left of source group.

keil16

12) There are some configuration changes that you have to make before you build the final .HEX file.

keil17

 

-In target tab set the frequency that you are using with 8051, in our case 12MHz. So change default value 24.0MHz to 12Mhz

keil18

 

-In output tab check the “Create HEX file” box otherwise HEX file will not be created.

After all these settings click OK.

keil19

 

13) It’s now time to get final output that HEX file.

Right click on .C file which is in source group folder and select “Build target”.

keil20

 

14) If there are no errors in code your code will be compiled in couple of seconds showing progress in window at the bottom.

If there are errors in code then they will also be mentioned in same bottom window with number of line that contains error. You may recheck that line rectifying the mistake(s).

keil21

 

15) After successful compilation of code you can find final HEX file in same project folder that contains main project file/.C file/other files.

keil22

 

 

,

Interfacing of Led using ATMEGA16

Overview

In this tutorial we will learn about following below things:-

  • What is Led?
  • How does it work?
  • Interfacing of Led using Atmega16 microcontroller
  • Connection of Led using Atmega16 microcontroller using Proteus Design
  • Programming in C language

Led has number of applications ,it form alpha numeric numbers on digital clocks & led display, transmit information from remote controls to device, light up digital watches & tell you when your appliances are turned on or not. Combined together, they can form images on a LED television screen or illuminate a traffic light. Led are most widely used means of taking output from devices. Led is very economical and easily available in electronics shops & market with variety of shape, size and colors according to requirements of user.

leds

Explanation

As we know that Led is stand for light emitting diode which emitted light only forward biased i,e. When we applied a voltage source across the terminals of led, means +ve terminal of source to anode of led & -ve to cathode then electron & holes recombine & reaches the higher energy state and higher energy state is unstable so that it release the energy in form of light (photons). This process is called electroluminescence.

Out of two terminals for Led, Longer one is anode & shorter one cathode as shown below.

led terminals

Logic to Glow Led

To glow a LED we give a logic one (+ve) to the anode and we put ground means logic zero (-ve) to the cathode. We thing should be noted that we need to connect one resistance between led & our microcontroller to prevent it from damage because as we know led operate at 2v & 10 mA but microcontroller output is 5v so place resistance for better life of led & damage proof.

LED LOGIC

Here for Interfacing of Led using Atmega16 we are using ATMEGA16 AVR Mega series microcontroller for controlling the led or we can say this to take an output. It is Advance Harvard Architecture and is a 8-bit microcontroller with 16K Flash memory and 512 Bytes of EEPROM, 1K SRAM and uses 1 MHz Crystal Oscillator for clock generation, which provides a 1MIPS and it has in build 1-16MHz oscillator and which can provide speed up to 16MIPS.

atmega16

It has 32 input/output port out of 40 pin architecture, CPU, and peripheral in a single chip. Reason for using an AVR microcontroller is that it uses low power, and is application specific, and AVR stands for advance virtual RISC (Reduced Instruction Set Computer) machine.

AVR uses pipelining concept for data, address fetching as well as execution. The Atmega16 is based on CMOS technology for low heat dissipation

Circuit Design

Proteus Design of interfacing of led using Atmega16.

We have connected LED with pin PD0 and we will get the blinking of LED because we have given the logic 1 to the pin PD0. After 1 second LED turns off because we have given logic 0 to the pin PD0 after the delay function as one can see in the programming portion.

Led circuit Design

C Code

C Programming of interfacing of Led using Atmega16

********************************************************************************
http://www.embeddinator.com/

This program is developed by EMBEDDINATOR DEVELOPERS.
********************************************************************************

#include<avr/io.h>               // header file for avr input-output operations

#include<util/delay.h>        // header file for the delay function

void main()                           // program main body

{

DDRD= 0b11111111;          // enable port D as output port

while(1)                               // infinite loop

{

PORTD= 0b00000001;            // passing pin PD0 as logic 1 to glow LED

_delay_ms(1000);                    // delay of 1000 ms.(i.e. 1 second)

PORTD= 0b00000000;       // passing pin PD0 as logic 0 now to off LED

_delay_ms(1000);                // again passing delay of 1 second

}      }

*******************************************************************************
End program

Thank you for visiting our website

http://www.embeddinator.com/
*******************************************************************************

 

,

Interfacing of led with 8051 microcontroller

Overview

This tutorial gives you an introduction a very basic operation of Led to get an output from the 8051 MCS family i.e. AT89S51. As we aware that in our day to day running life Led has a wide range of useful application in almost every electronics & electrical devices like as an indicator, in TV & monitor, in electronics circuit, digital clock, watches, traffic light panel etc. Due wide applications of Led this tutorial will show the principle behind the interfacing of Led with 8051 microcontroller’s family as shown in picture below. Now we are going to interface single Led with AT89S51 microcontroller in our explanation section.

Explanation

Before proceed toward the interfacing of led, we should know about the basic Led operation, principle of Led working & AT89S51 microcontroller.

So for interfacing of Led with AT89S51 microcontroller, we will use the AT89S51, which belongs to the Atmel family of 8051 series of microcontrollers, is very commonly used by a large consumer’s of hobbyist, electronics lover, engineers & project designer for learning & developing purpose. Its simplicity and easy way of programming with inbuilt features with mostly device compatibly, easily makes its position in the top preferred list of microcontroller for both new learner and experts’ user for projects.

We need a one controlling unit in our circuit which understand programming logic which is written by us. So for this we are using an 8-bit AT89S51 8051 series microcontroller which has 64 kB Flash Memory (ROM) and 1024 bytes of data RAM which operates at 11.059n Mhz crystal frequency. It is 40 Pin Package which contain 4 Ports & 8 Pin each i.e. 32 pin of Input/output Programming & rest of 8 Pin for other operation like crystal oscillator pins, reset pin, external memory pins & its operate at 5V & 60mA current we can withdraw from Pins as shown in below picture. Its supports the in serial In-System Programming (ISP). ISP feature of 8051 MCS that allows a device which reprogrammed with high speed data that transfer with software control. AT89S51 has capability to update the application firmware makes a huge range of applications in industry.

8051 pin diagram 

As we can see that from above picture that our microcontroller AT89S51 has 4 ports P0, P1, P2, P3 each port contain 8 pin for input/output operations.

As we know that Light Emitting Diodes, mainly called LEDs, which emit the light when forward biased or we can say that it emits the light when it’s excited by external power voltage source. When we applied a voltage source across the terminals of led, means +ve terminal of source to anode of led & -ve to cathode then electron & holes recombine & reaches the higher energy state and higher energy state is unstable so that it release the energy in form of light (photons).

led circuit

Most of the commonly available LEDs have dropped a voltage of 1.3 V to 2.2 V and require 7 to 10 mA to glow Led at full intensity.But our microcontroller give an output of 5V & 60mA, due to this we will connect led through the resistance of 330 ohms using below formula.

R=(Vcontroller – Vled)/I

R = (Vcc-led voltage)/current.

R = (5-1.7)/10mA.

R= 330 Ohms.

Logic to Glow the Led from AT89S51 Microcontroller.

As we already explained that led will work on forward biasing means +ve to anode & -ve to cathode of led, similar way in digital electronics +5V means HIGH or Logic 1(one) & -Ve means LOW or Logic 0(zero).

LED LOGIC

So its means when Logic 1 or HIGH applied across to anode & LOW or Logic 0 to cathode then Led will Glow.

Circuit Design

Proteus Design of Interfacing of Led with 8051 microcontroller.

In the circuit of interfacing of led with 8051, we need an AT89S51 MCS, Led, resistor 330 ohms & connecting wires. Microcontroller need a clock for proper working & synchronization, without the clock the microcontroller will not do task. Hence a Crystal oscillator of clock 11.0592 MHz is connected between two pins 19 Xtal1 and 18 Xtal2 along with two 33pf capacitors as shown in design.

Led Design

As you can refer the above circuit image. We are connecting the Led to PORT 2 Pin number 0(zero) followed by resistance 330 ohms. When we put the program into microcontroller & then give the power to circuit then Port 2 Pin 0 give Logic 1 or HIGH to Led & Led Start Glowing with full intensity.

C Code

C Programming

********************************************************************************
http://www.embeddinator.com/

This program is developed by EMBEDDINATOR DEVELOPERS.
********************************************************************************

#include<reg51.h>

sbit LED = P2^0;  // define Port2 pin as an LED

void delay(int k)  // Delay Function

{

int i,j;

for(i=0;i<k;i++)

for(j=0;j<1250;j++);

}

void main()

{

while(1)  // infinite loop

{

LED = ~LED;  //  LED Glow

delay(10000);

}// end of while loop

} // end of main
*******************************************************************************
End program

Thank you for visiting our website

http://www.embeddinator.com/
*******************************************************************************

, , , , ,

LED

Overview

This tutorial gives you an explanation of following things:-

  1. What is LED & what does it’s means?
  2. Operation & Principle.
  3. Modes  & Testing.
  4. Logic to operate of LED with microcontrollers.

leds

Explanation

Light Emitting Diode, mainly called LED, It is real hero & very basic first component in the electronics & electrical world due to its lots of different jobs and are found in all kinds of devices.Among other things, they form alpha numeric numbers on digital clocks & led display, transmit information from remote controls to device, light up digital watches & tell you when your appliances are turned on or not. Combined together, they can form images on a LED television screen or illuminate a traffic light. Led are most widely used means of taking output from devices. They find wide range application as indicators while experimenting to check the validation of results at different stages. Led is very economical and easily available in electronics shops & market with variety of shape, size and colors according to requirements of user.

Principle & Operation

LED worked on Electroluminescence Principle, A LED is a p-n junction semiconductor device which emits incoherent light when biased in forward direction(the positive terminal is to be connected to the anode & negative terminal of supply is to be connected to cathode of Led). Most of the LEDs are realized using a highly doped n and a p Junction. It has two regions one is p-region and another is n-region, this two combine and make a junction. The p region is have more +ve electric charges as compare to n-region and the n region is have more -ve electric charges as compare to p-region.

Operation of Led is very simple to understand, Basically Two type of Basing in Led:-

  1.  Forward Biasing
  2. Reverse Biasing

Forward Biasing

In this mode, the positive terminal (+ve) of the cell or battery is connected to the anode of the LED & the negative terminal (-ve) is connected to the cathode terminal of the LED.

                               FORWARD BAISING OF LED

When a forward voltage +ve terminal of voltage is connected with +ve (anode) terminal of led and –ve terminal of voltage is connected with -ve (cathode) terminal of led is applied to an LED, the potential barrier of the P-N junction become smaller, then causing electron & holes recombine & reaches the higher energy state and higher energy state is unstable so that it release the energy in form of light (photons).

In short When we applied a voltage source across the terminals of led, means +ve terminal of source to anode of led & -ve to cathode then electron & holes recombine & reaches the higher energy state and higher energy state is unstable so that it release the energy in form of light (photons). This process is called electroluminescence & color of light depends on the gap between the semiconductor materials, as shown below

led circuitled circuit 1

Reverse Biasing

                               REVERSE BAISED OF LED

If LED is reverse biased, then the electrons of n-type region are pulled towards the terminal. Similarly the holes of the p-type region are pulled towards the terminal. This causes the widening of the depletion region in the p-n semiconductor. The widening of the depletion region increases the resistance of the diode so that it works as an open circuit when reverse biased.The reverse current flows due to the minority charge carriers (very few) in the semiconductors after the breakdown. The reason for the breakdown is the electric field inside the diode created by the depletion.

Testing & Determination of Led Terminals

As you can see below image of Led in which symbol & physical view is there. Now if we talk about the Led symbol on left side of picture there will be one line or plate which act as a cathode & other side is anode. Right side of image of led it has 2 legs, major one is anode & shorter one is cathode of led.

led termianls

There is another way to find cathode & anode of led by using front & top view of led as shown below. As in front view you will find two plates one thick & other is thin, so thick one cathode & thin one is anode of led.

led view

In top view of led you will find a D shape in which straight line is anode & curve shape is cathode.

One more approach to find out the terminals of led by looking the outer lower area of led, you will found there will be a cut surface in lower circle area of led, that cut area beside leg is always a cathode. Apart from this method we need volt meter & led tester for testing of led

LED CloseUp

Led Interfacing with Microcontrollers

Most of the commonly available LEDs have dropped a voltage of 1.3 V to 2.2 V and require 7 to 10 mA to glow Led at full intensity. The following picture describes “how to glow a led”.

led with cell

But we know that our most of microcontrollers give an output of 3 to 5V & 60mA corresponding to pins. If we connect Led directly to any of ports pins as shown below picture then direct 3v to 5v of the port is applied to an LED, so that LED may get damaged.

led when demage

If we connect the led as above, led will glow for very small time with high brightness and burn out. Because large current will be sink via LED from source due to high voltage. Sometimes this large current may damage our microcontrollers Port and then IC.

To limit the current allowed into LED we need to divide the voltage by adding a resistor to the circuit by finding the value of resistor according to ohm’s law.

R=(Vcontroller – Vled)/I

If we want to allow 10mA current through the LED then resistor value will be as below:-

R = (Vcc-led voltage)/current.

R = (5-1.7)/10mA.

R= 330 Ohms.

Resistor values will vary 220 ohm to 470 ohm according to value of Led voltage.

led with resistance

 

In above picture, we connected a 330 ohms resistor to allow 10mA current through the LED for its glow. If we reduce the value of led then will be glow brighter than previously.

Logic to Glow the LED from Microcontrollers.

As we already explained that led will work on forward biasing means +ve to anode & -ve to cathode of led, similar way in digital electronics +5V means HIGH or Logic 1(one) & -Ve means LOW or Logic 0(zero).

LED LOGIC

So its means when Logic 1 or HIGH applied across to anode & LOW or Logic 0 to cathode then Led will Glow.

Configuration of connection of led with Microcontrollers

Led operate in two configuration, because of this reason if we connect the both terminals of led to microcontroller then it consume more pin of IC & programming values also become complex in both configuration only half of pin used as compared to normal configuration & only differance in both configuration is logic .

  1. Common Cathode or Logic 1
  2. Common Anode or Logic 0

Common Cathode

Led have two terminal one +ve and second -ve.

In common cathode all the –ve terminal externally connected with Ground. And all + ve terminal connected with microcontroller.

cc config

Common Anode

Led have two terminal one +ve and  second  -ve.

In common Anode all the +ve terminal externally connected with vcc (Power Supply). And all – ve terminal connected with microcontroller.

ca config

First robot mobile goes on sale in Japan

The world’s first robotic mobile phone RoBoHon, a pocket-size walking and dancing robot, started sale on Thursday in Japan. The human-shaped smartphone, developed by Japanese electronics company, Sharp and engineer Tomotaka Takahashi, inventor of the first robot astronaut ‘Kirobo’, went on sale with a base price of 198,000 yen ($1,800), EFE news reported.

To mark the launch, the Osaka-based company opened the RoBoHon Cafe in Tokyo where visitors can test the robot until June 7. The Japanese electronics manufacturer is producing 5,000 units per month, aiming to be the leader of this type of mobile after sealing a takeover agreement with the Taiwanese company Hon Hai, also known as Foxconn, otherwise known for assembling iPhones and iPads for Apple.

Apart from being used as a mobile, the 19.5-cm tall humanoid robot weighing 390 grams could be used as projector to display video, photos or maps.  It also offers a wide range of applications based on conversation with the android. RoBoHon can also recognise faces of people using its front camera and then address them by their name.

Zero Zero’s Camera Drone Could Be a Robot Command Center in the Future

Startup Zero Zero Robotics just took the wraps off its eye in the sky, the Hover Camera. The company hasn’t set a price but expects the lightweight drone (it weighs in at 240 grams) to cost under US $600.

The flying camera is a relatively new type of gadget. It all started about a year ago, when startup Lily Camera came out of stealth with its $500 to $1000 camera drone and argued that it wasn’t so much a drone as a simple-to-use flying camera. This March, drone-maker DJI introduced the Phantom 4, with autonomous flying and tracking features that essentially make it that company’s first flying camera at $1400.

Flying cameras are drones designed for use by consumers that don’t want to learn how to fly a drone; they just want to take pictures. The cameras have tracking capabilities so they can keep a subject in sight, and can autonomously hover or circle, as well as take off and land on command without the user having to control the ascent or descent precisely.

People are betting big on these companies. Lily, with founders out of UC Berkeley, has $15 million in funding and $34 million in preorders. Zero Zero, with founders out of Stanford, has $25 million in funding.

One—or perhaps more—of these gadgets will catch on. In a few weeks, I’ll be attending my son’s high school graduation in Silicon Valley, with, I’m sure, my view obscured by parents using pads and phones and selfie-sticks to record the moment. By next spring, I’m betting at least a few of the selfie-sticks and tripods are going to be replaced by camera drones. I’m not sure if that’s going to be more or less annoying.

“It has two cameras. The front viewing camera is a 13-megapixel camera that records video, but also has Simultaneous Localization and Mapping (SLAM), an algorithm that allows it to determine where it is. It also has a down-facing video camera, running an algorithm called optical flow, that looks at ground at 60 frames per second, so the Hover knows when it moves and can correct itself. These visual sensors are giving inputs of actual position and speed, meanwhile, the accelerometer and gyroscope gives relative position. All these signals are fed into the flight control algorithm, so when I throw it up in air, it can just hover there.

“When I want it to follow me around, it is using facial and body recognition to follow me and make sure I’m in the frame. It can follow anybody I choose. In the final version, though not just yet, it will do a 360 scan around itself and pull out all the faces, they pop up on my phone, then I can choose which person to follow automatically. Or I can control it manually with swipes and other gestures.

“This approach differs from the Lily Camera and the Phantom 4. Lily does most of its tracking with GPS, so you have to wear a device on your wrist.

“The Phantom 4 is running a lot of visual computation, but it relies on motion tracking, that lets it follow a car, say. We are running body and face recognition.”

Zero Zero has 1000 preproduction models built; it’s using some for its own testing, but plans to give 200 out to beta testers, that it will select from applicants who commit to a purchase of a production unit down the line. It expects to ramp up production and start taking preorders in the summer, with the drones widely distributed by the 2016 holiday season.

First autonomous robot to operate on soft tissue outdoes human surgeons

Step aside, Ben Carson. The once lauded ability to perform delicate operations with gifted hands may soon be replaced with the consistent precision of an autonomous robot. And—bonus—robots don’t get sleepy.

In a world’s first, researchers report using an autonomous robot to perform surgical operations on soft tissue and in living pigs, where the adroit droid stitched up broken bowels. The researchers published the robotic reveal in the journal Science Translational Medicine, and they noted the new machinery surpassed the consistency and precision of expert surgeons, laparoscopy, and robot-assisted (non-autonomous robotic) surgery.

The authors, led by Peter Kim at Children’s National Health System in Washington, DC, emphasized this feat is not intended to be a step toward completely replacing surgeons. Rather, they want the technology to provide new tools that help every operation go smoothly. “By having a tool like this and by making the procedures more intelligent, we can ensure better outcomes for patients,” Kim said.

Kim and his colleagues aren’t the first to use robotics or even autonomous robots in surgery, of course. But non-autonomous robots have yet to offer the quality assurance for every operation that doctors and engineers had hoped for. And autonomous robots have so far only made themselves useful for digging into rigid body parts, such as bones, while historically failing with slippery, wiggly soft tissue. Those squishy innards pose a particular challenge to autonomous robots because they easily move around and look alike, making it difficult for the machinery to keep track of and manipulate all the bits and slices.

To get around the problem, Kim and his team started with preexisting autonomous robots, which look much like a mechanical arm, and added new imaging features. The new robot is called STAR, for Smart Tissue Autonomous Robot, and it includes a 3D visual tracking system and a custom near-infrared fluorescent (NIRF) imaging system. The 3D system works by having an array of microlenses that triangulate the spatial position of every pixel in an image. And the NIRF system allows the robot to precisely spot and track the tissue in need of surgical work using luminescent markers—those glowing tissue tags are added by doctors prior to the surgery.

With the spatially informed robot, the researchers next boosted the machine’s dexterity by adding an articulated suturing tool, with eight degrees of freedom, that can sew up tissue in tight spaces. They also added an extra sensor that ensures the proper tension for each stitch and fed the robot a suturing algorithm based on expert techniques.

In tests with out-of-body tissues, STAR met or exceeded the performance of other surgical methods in terms of metrics like needle placement, stitch spacing and tension, the number of mistakes, and the potential for the seam to leak. It’s like a “smart sewing machine,” Kim jokes.

In a test on four live pigs, STAR successfully reconnected sliced intestines, a procedure generally called anastomosis. Such a procedure for joining tubular body parts is used in operations like reconstructive bowel surgery and blood vessel repair.

Despite its accuracy, STAR took considerably longer to perform the anastomosis than a human surgeon, averaging around 50 minutes, while a live doctor took about eight minutes. The authors explain that they took their time during the initial tests, which they liken to parents cautiously watching their child learn to walk.

This is a proof-of-concept, Kim said. It will likely be years before STAR shows up in a real operating room, but autonomous robotic soft tissue surgery is on the horizon.