Mounting testing and tunning Insect Bot Mini (I&II)

InsectBot.cpp (2762Bytes)
insectbot-mod-solo-adelante.zip (743Bytes)

Update: I uploaded a new video with the robot walking with a speed of 5 milliseconds of "SpeedWalk". It flies!

Update II 26-Jan-2014: finally I recieved the new IR sensor! After some days finally I could test the insect robot with the infrared sensor. I had to change the old sensor for the new one, upload the new software to the robot and it worked like a charm! You can see the new video in Youtube: it moves fast, it also avoids obstacles even faster!

I observed that depending on the light comming from, the IR sensor has erratic measures, i.e.: the robot "sees" thigns where actually there is nothing. I'm checking some filtering noise by software, like this one.

Next thing to do is some update on sensors or even a total change in movements configurations. We'll see...

After my exciting first part Unboxing the Insectbot Mini Kit from DFRobot, I was expecting to build the Insect bot. So finally I could gain a hour to build it.

I was surprised on how easy it was to mount it. As we remember from my last chapter, on the rear of the kit's box there is a list of tips about how to mount the Insect bot mini Wiki and the software to program the creature:


20140102_231841.jpg

It was also a great help to have the article from Lumi about this Insect bot.

The first thing you realize is how the designer and manufacturer has though for the customer's convenience: the box has everything to mount it, excepting and iron solder and some soldering paste. Everything else is in the box.

Starting from the main little (but powerful) CPU board:

This board contains everything to command this robot: CPU, servos and sensor pins, also the power supply pins, however the kit brings a convenient Beetle Shield to connect all the hardware in a faster and easy way:

CPU and Beetle Shield boards must be soldered in order to have the whole kit working, only eight (8) points of soldering later all both boards are together:

2014-01-04_23_37_57.jpg

After this step it's time to fix the two servos together in order to have the bot's body. It's a clever design solution to build this small body up from the two servos. Even you can use only a zip tie that the kit brings.

2014-01-04_23_48_37.jpg

Some minutes later both servos are together:

2014-01-04_23_51_22.jpg

The I fixed both servos with a zip tie from the kit:

2014-01-04_23_55_37.jpg

 

I found easy to shape the steel wires to work as leg. However, as their shape have impact on the overal performance, I think it's interesting to tell here some details.

This is the first steel wire ready to work as front legs:

2014-01-05_00_00_18.jpg

First steel wire mounted on the servo arm ready to work as front legs:

First steel wire mounted and shaped on the servo arm ready to work as front legs:

2014-01-05_00_15_24.jpg

Detail of the first steel wire mounted on the front servo to work as front legs:

2014-01-05_00_18_43.jpg

Detail of the secod steel wire mounted on the rear servo to work as rear legs:

Now it's time to prepare the head of the beast. Here is the Sharp distance sensor preparing to be mounted in the plastic "T", to serve as a head:

Here is the head of the bot with the Sharp sensor mounted:

2014-01-05_00_38_08.jpg

Now it's time to mount the brain with the battery:

2014-01-05_00_41_51.jpg

Cheking the system with the battery:

2014-01-05_00_47_52.jpg

Beware the version of you Beetle as maybe you have to change the Power and GND cables (red and black ones) at the distance sensor connector. I didn't so I fried the sensor. We'll see later what where the effects. To change these cables, a fast way is to use a small flat screwdriver and pull the red or black cable and push the metalic connector's end. After several tries you have both off and you can swap them.

Here the board and battery mounted on the bot, with the servos and sensor connected:

2014-01-05_00_57_30.jpg

As the end of the legs are sharp, I though it's convenient to put some rubber band on them. On this way the robot's legs don't damage any surface when walking on them, and the bot has more traction. First the base:

2014-01-05_01_09_31.jpg

Then the rubber itself. Here is a detail of the end of the leg finished with the rubber band (at the rear a leg without rubber band):

After three iterations more, the four legs are finished:

2014-01-05_01_30_42.jpg

So now the Insectbot Mini is finished from the hardware part:

You can see the legs look a bit different on shape also. It's because lowering the bot's gravity center, it has more stability when walking and climbing small obstacles. Now it's time to program the bot. There are several possibilities, but I wanted to try an easy one: the Ardublock enviroment. To work with it I had to install the Arduino IDE from its website, and install it. It's very easy on Windows enviroment. There are also versions for Linux 32 and 64bit, Mac OSx, also the source files:

Arduino_IDE_start_screen_splash.jpg

This Arduino IDE is an open software, and it's the base to write the bot's program, connect and program it. But this programming software allows to use some interfaces that make very easy to program, like the Ardublock one.

So then I had to donwload and install the Ardublock tool from here. I found very useful the programming explanations in this blog, as it use the same Insect bot I'm mounting right now ;-) so I downloaded it too.

After installing everything it's time to launch the software Arduino IDE. As you can see It's in Spanish language as it's a bit easier to me, but it's in several languages too, also English language of course:

The I oppened the Ardublock tool going to Tools -> Ardublock, and loaded the example I downloaded from the above blog (save this archive with other name so you can have a backup just in case):

ArduBlock_Arduino_software_block_editor.jpg

On this way, even I don't know anything about the Arduino platform or programming I can start to manage it. So I connected the USB cable to my computer and my blot, and I downloaded the program to the bot. Maybe you have to change the serial port to communicate with the bot. You can do it from the Arduino IDE -> Tools -> Serial port and choose the one that the bot is connected. Usually there are two: COM3 (that comes as default) and another one where the bot is connected.

After a few seconds the robot came alive! It was a very nice feeling to see the robot moving. As I can't use the distance sensor, I changed the program so the robot just go straight.

Final tips:

When the battery is over, you can charge it with the simple battery charger the kit brings inside the battery bag:

 

So you just have to connect the battery to the charger's connector and the charger to your computer's USB port:

This is the battery charger that includes the kit:

2014-01-11_10_55_25.jpg

Charging the LiPo battery is not as straight forward and it is for other batteries. You need the right charger, like the one that brings this kit. So be careful If you want to change the battery charger.

You can tune a bit the software like giving speed to the bot. To do that just go to the Insectbot library called "InsectBot.cpp" (and located at C:\Program Files (x86)\Arduino\libraries\Workshop or similar one) and open it with a text editor (save this archive with other name so you can have a backup just in case):

Insectbot_library_edited_with_notepad_to_increase_speed.jpg

And change the "walkSpeed" variable that tells the speed in milliseconds (10^-3 seconds), to a value that can be smaller (faster) or higher (slower). With 5 milliseconds of walkSpeed the Insectbot covers 1 meter in 25 seconds, so it runs as fast as 144 meters/hour... if the battery could last one hour, but it last usually several minutes at that high speed :-)

Update: I uploaded a new video with the robot walking with a speed of 5 milliseconds of "SpeedWalk". It flights!

I attached the file in this article for your convenience. I uploaded here also a simplified version of the Insectbot program to make it walk forward, called "insectbot-mod-solo-adelante.abp".

However, I find very useful this kit, as it allows to anyone to get hands on the robotics world from every point: mechanics, electronics, programming and strategy routines for movements and robot decisions.

Now I'm waiting for the Sharp sensor to test again the robot with full programming. I'm planning also some variations on this robot, some are small, and some include extra hardware and software. We'll see... (Please read the updates at the top of this post, as I tested the robot with a new IR sensor sucessfully).

https://www.youtube.com/watch?v=e9vscDP3DXY

Well done Francisco, that’s

Well done Francisco, that’s a nice tutorial. I was hoping that everybody did read the Wiki as I pointed out the issue with the cable. Unfortunately we’ve got a wrong cable in some of the kits. Your step-by-step description shows me that we are on the right way and also that the Insect bot is very changable in his appearance. Thanks for taking your time to write such a informative post.

 

Edit: I like your fix of the leg on the servo horn. The screw will give the leg more stability and perhaps it’s better walking.