Friday, 31 July 2015

Lego Mindstorms – Sentry Robots


Sameer Kumar Shrestha, Northampton

The report presents the dissertation on title Prototype of Sentry Robots for Advanced Security which includes the use of LEGO robots showing interaction between each other with the help of wireless communication medium in Bluetooth. The purpose of the work is to build a communication between multiple LEGO robots using the wireless technology. For this task, the NXT version of LEGO Mindstorms has been selected. It is because there is need of complex communication which is possible through wireless medium such as Bluetooth and also a suitable processing device for the proposed task which is present in the LEGO Mindstorms NXT. The report has also focused on the background information about the NXT system and its great flexibility with LeJOS NXJ as the programming platform. The outcome is the implementation of developed work with the use LEGO Mindstorms NXT and the LeJOS NXJ as programming platform. The task was approached with one LEGO NXT robot maintaining the distance between the object in the environment and searching the object by rotating in case of lost. After the completion of the first task, the next task was to study the communication behavior of multiple robots communicating with each other to fulfill the same job. For this, three NXT robots were taken and programmed in such a way that they form the shape of triangle and keep tracking the object.  All three of them send and wait for the information from each other and process this information to produce a suitable output, i.e. to respond to the action from each other. Thus, it was found that the implementation of several processes to multiple LEGO based communication had faults, due to the technical hitches with the communication technology and limitations of the NXT systems.





All opinions in this blog are the Author's and should not in any way be seen as reflecting the views of any organisation the Author has any association with.

Tuesday, 28 July 2015

Picobot - a swarm bot


One of the most interesting small robots on the market is the PicoBot from 4Tronix (http://4tronix.co.uk/blog/?p=708). 

These are small, relatively low-cost robots with a good range of basic sensors based around Arduino. A nice feature is they are quick to put together (5-10 minutes each for the two above).  The size, time to build and the radio modules make them an interesting option for playing with swarm robotics - if only I had the money.

Don't let the swarm robot idea put you off, as small robots to playing with programming they are good in their own right. Being small with the ultrasonic sensors gives them an non-threatening look; add in they have some build it programs to play with (select by buttons on the bot) to get you going without any programming.

Related Links




All opinions in this blog are the Author's and should not in any way be seen as reflecting the views of any organisation the Author has any association with.

Sunday, 26 July 2015

Narinder's Swarm Robots

This time not my experimentation but by a colleague and student I was supervising.

Some interesting work has been developed by Narinder Singh (MSc Computing student and Technician) in the Department of Computing and Immersive Technology, University of Northampton. The work revolves around investigating the use of relatively simple robots, kilobots, to investigate swarm robotics.

The kilobots (http://www.k-team.com/mobile-robotics-products/kilobot) are relatively low-cost devices specifically designed for work of swarm/collective intelligence experiments.


Example:Dancing Kilobots 

For more examples go to: Kilobot videoss

Supervisor Scott Turner


opinions in this blog are the Author's and should not in any way be seen as reflecting the views of any organisation the Author has any association with.

Thursday, 23 July 2015

Scratch Robot Arm

It is not physical but CBiS Education have release a free robot arm simulator for Scratch. 









Downloadable from their site http://www.cbinfosystems.com/cardboard2code_module2.aspx - it includes a Scratch project, guidance on Scratch along with an exercises in using the robot arm simulation and an exercise with teacher's guidance.

Left my son with it, asked him if he could make it do something if a new sprite is added and the gripper touched it (similar to the exercise in the notes). He went on to produce a sprite that when it is touched by the gripper, went on to change colour a few times. I could see this being potentially used in Coding Clubs within schools.





CBiS produce a physical version of this, details are available at  http://www.cbinfosystems.com/cardboard2code_module3.aspx




All opinions in this blog are the Author's and should not in any way be seen as reflecting the views of any organisation the Author has any association with.

Wednesday, 22 July 2015

mbots - graphical programming and Arduino

Makeblock (http://mblock.cc/mbot/) funded through Kickstarter the development of a new robot - mBot (https://www.kickstarter.com/projects/1818505613/mbot-49-educational-robot-for-each-kid) with the subtitle "$49 educational robot for each kid". What they came up with is a interesting system that uses their mBlock software, which resembles Scratch but produces code for Arduino, to program a robot with LEDs, light sensors and buzzer integrated on the main board; but also comes with sensors for line-following, ultrasonic sensor and with the version in the kickstarter reward a 16x8 LED matrix.

My impression so far it is really quite intuitive to work with, in the example above the robot:

  • moves forward;
  • displays 'f' on the LED matrix; 
  • turns right;
  • displays 'r' on the LED matrix;
  • repeats until the on-board is pressed to stop the motors. 


What I like most though is seeing the graphical code turned into Arduino code - the potential to see the same thing done into two ways adds extra educational value. 



Related




All opinions in this blog are the Author's and should not in any way be seen as reflecting the views of any organisation the Author has any association with.

Monday, 20 July 2015

Lego Robot and Neural Networks

An overview of using Lego RCX  robots for teaching neural networks present at workshop in 2011.



The video below shows the robot trying out sets of weights for two neurones, until a set of weights are found that enable the robot to go around the circle.





As a part of a set of tools I have found the following useful for teaching the principles of simple neurones.

 Example code:

import josx.platform.rcx.*;

public class annlf{
 public static void main(String[] args)
 {
  int w[][] ={//put weights here};
  int o[]={1,1};
  int s1,s2,res1,res2;
  int sensor1=0,sensor2=0;
  robot_1 tom=new robot_1();
  Sensor.S1.activate();
  Sensor.S3.activate();
  for(;;){
   sensor1=Sensor.S1.readValue();
   sensor2=Sensor.S3.readValue();
   LCD.showNumber(sensor1);
   if (sensor1<42)
    s1=1;
   else
    s1=0;
   if (sensor2<42)
    s2=1;
   else
    s2=0;
   res1=w[0][1]*s1+w[0][2]*s2+w[0][0];
   if (res1>=0)
    o[0]=1;
   else
    o[0]=0;
   res2=w[1][1]*s1+w[1][2]*s2+w[1][0];
   if (res2>=0)
    o[1]=1;
   else
    o[1]=0;
   if ((o[0]==1)&&(o[1]==1))
    tom.forward1(10);
   if ((o[0]==0)&&(o[1]==0))
    tom.backward1(20);
   if ((o[0]==1)&&(o[1]==0))
    tom.tlturn(20);
   if ((o[0]==0)&&(o[1]==1))
    tom.trturn(20);
   LCD.refresh();
  }
 }
}

The example code uses two neurones to produce a line follower. The nice thing about this though is it easy to adapted this for a single neuron or multiple neuron tasks. For more on this some examples can be found here.
The above approaches used the Mindstorms RCX robots but it can equally be done with the newer NXT robots


 All opinions in this blog are the Author's and should not in any way be seen as reflecting the views of any organisation the Author has any association with.

Sunday, 19 July 2015

Raspberry Pi Controlled robot from junk


In previous posts I start looked at using ScratchGPIO to control a junkbot - more about junkbots can be found at:http://junkbots.blogspot.com

Previous Posts:
 (http://junkbots.blogspot.com/2014/08/junkbot-pi-1-scratchgpio.html) and showed a Pi controlled junkbot briefly in action (http://junkbots.blogspot.co.uk/2014/08/junkbot-raspberry-pi-2-raspberry-pi.html).

In this post I aim to discuss
- Choice of motor controller card
- Provide an example of a drawing junkbot controlled through Scratch and Raspberrry Pi


Choice of interface/Controller card
The card chosen was the 4Tronix PiRoCon card  (http://4tronix.co.uk/store/index.php?rt=product/product&amp;product_id=182). Selected for four reasons
- Price is reasonable (in my opinion).
- Fits straight onto the Pi through the GPIO - no extra cables needed.
- ScratchGPIO has it as an addon so it makes programming it even easier (see http://cymplecy.wordpress.com/2013/10/31/pirocon-from-4tronix/).
- Others are using it for robot projects.

Use it is quite easy plug the board directly on to the GPIO connector of the Raspberry Pi (4tronix provide some advice in section 15 of http://4tronix.co.uk/blog/?p=22 on mounting the board). The only other changes I needed to make because I wasn't powering the motors through the DC input I had to change the jumper settings next to Vin Connector (see http://4tronix.co.uk/blog/?p=41 for layout) to reflect this.



Example
Now for the fun bit get the whole thing to draw (see Figure 1 and the video at the end)!

The junkbot itself is made up of a drinks can, three supports (we used LEGO here but it equally could be straws, sticks), a pen/pencil, and a  motor and broken propeller combination to create an unbalanced motor.

With the Raspberry Pi off, the the motor's wires are connected to the controller card at the connections for MotorA and the battery is also connected. Turn the Pi on and run ScratchGPIO5plus.


Figure 2
Figure 3





Figure 4















The first task is to make the variables AddOn (which will be used to tell the program we are using the PiRoCon card) and MotorA for the motor (see Figure 3).

In Figure 4 the program can be seen, essentially the left and right key spin the junkbot clockwise or anticlockwise by setting the Motor to either +ve or -ve values from 0 to 100. The space bar is used to stop the motor.

As it moves because one of the supports is a pen it draws. See the video below to watch it draw a squiggly line - control is still a challenge.

 
The bot was developed by Hayden Tetley and Scott Turner. Hayden's time was paid  for through the Nuffield Research Placements  Scheme (http://www.nuffieldfoundation.org/nuffield-research-placements).

Related Link

 




If you would like to know more about the Junkbots project contact scott.turner@northampton.ac.uk. The views and opinions is the authors and should not be taken as representing the views of any organisation the author is associated with.



All opinions in this blog are the Author's and should not in any way be seen as reflecting the views of any organisation the Author has any association with.

Who wants to produce AI produced cartoon strips

Question: How easy is it produce a comic/cartoon using genetative AI? Let's start with  using ChatGPT4o to produce cartoons. The idea wa...