Showing posts with label mobile robots. Show all posts
Showing posts with label mobile robots. Show all posts

Wednesday, 2 January 2013

PIONEER 3AT USING PLAYER

This post is about my experience with the P3-AT robot [2], so let`s see a video about it.


The robot P3-AT has a board computer with a Linux Debian 3 installed running a player`s server [1]. We were using a Control algorithm to do some experiments. The P3-AT is equipped with sonar, camera and compass.

REFERENCES 
[1] http://playerstage.sourceforge.net/ 
[2] http://www.mobilerobots.com/researchrobots/p3at.aspx

Thursday, 16 August 2012

ANNOVATEUR - Adi's BOT



Hey all!,  

About the machine in the picture:
AN-NOVA-TEUR
Which stands for ANalog inNOVAtion amaTEUR
My 3rd line follower bot, a definite improvisation on its predecessors
A line follower, completed in March 2012 after 4 months of work, mostly post midnight

BOT Description
  • Body  : Glass fibre PCB. Designed for a low CG. Lightweight,
  • Drive Assembly: Pololu Micrometal Gear Motors 1000 rpm driven by TB6612FNG motor driver bought from sparkfun
  • Microcontroller: 32 bit ARM Cortex M3 based LM3S9B96, made by TI Fitted with accelerometer, for precise calculations for turning, for optimizing speed constants during second run
  • Line sensor: Self designed, home-made 10 IR-pair based analog sensor array, laser printed with cloth-ironed on a copper clad plate.
  • Battery pack: 4 Lithium-ion BL5C soldered in series to generate around 14V
  • About the Code: Elements for ambient compensation, PWM Motor control for implementation of PID based control algorithm
  • Performed at : APOGEE 2012, BITS,Pilani
  • Accolades : 1st Position at Track-o-Mania, Apogee 2012, BITS,Pilani

Line followers are many but "ANNOVATEUR" is one. Class apart feature of this bot is the self fabricated, designed Infrared sensor Analog Array, which allows for much more flexibility in the control algorithm. This is the feature that makes ANNOVATEUR just not any other bot, but 'My Bot'.

The path for a plain hobby to something meaningful wouldn't have been possible without the ardent support of my mentor Prof. Samir Lohani. I'm highly grateful to such a stalwart who always provided his humble support even through his busy schedule as a railway officer. His lines of coding are capable of springing dead machines to life and this is aptly proved by a couple of patents that he has to his name. With hands-on experience on both Mechanical and Electronics Engineering, I couldn't have found a better guide, a better friend.

Though this is just a beginning with my passion, endurance, innovation and the guidance of my mentor, I'm sure to come up with many more innovations in future, so keep looking up this space for my future endeavours.

About Me:
Aditya Sharma
                                                                                                         Mech Engg undergrad student
 

Adios !!

Saturday, 19 May 2012

ROOMBA-ING !

SIMPLE RUNS OF THE ROOMBA

I recently purchased a Roomba 561. In these two videos I am trying out simple pre-programmed runs of the robot.



Wednesday, 14 December 2011

REFLEX MANAGEMENT AND THE SUBSUMPTION ARCHITECTURE

~ A rap on an iterative idea-chain started by Rodney Brooks ~

The brain must allow not only the setting up of reflexes, but also their modification and control.

Initially speech and vocalisation seem reflexive in the infant, but then later as further development takes place speech can say anything it wants. So it is more than a reflex because, despite there being a finite limit on the number of reflexes, speech is unique nearly every time. Similarly many other intelligent behaviours are designed for context. How does this happen?

Is a reflex : “say something” like a frame or placeholder into whose blank space is inserted the results of speech design, which is originated in a separate process, perhaps also consisting of interacting reflexes?

There must be a level of reflex in behaviour but also a level of reflex management too, these two levels interacting. There are two possibilities, one a top-down control of reflexes, the other an emergent control where reflexes modify other reflexes and intelligent behaviour emerges from this melee. It was in Brooks' subsumption architecture that the small insect like behaviours I call reflexes were proposed, and robot design right now hasn't got that far into reflex management...but its to be hoped that the extra "rational" layers of reflex control and management will also be built in, or allowed to emerge.

How might a robot 'know' about all its possible reflexes and build this knowledge into its planning? This is suggested to me by the high connectivity of the brain where regions are multiply joined to other regions. In the top-down model the master controller might need to observe/study/predict its own behaviour as closely as the external world. If it has planning capability then it plans for its goals, first level, but it needs, second level, to plan for what its reflexes will cause too.

This looks like a kind of proto self-knowledge. The simplest reflex bypasses the frontal cortex or the brain altogether, like a knee jerk, but some reflexes may be initiated by higher functions, and that's what the tangled cortex is doing. What is the difference then between intelligent behaviour and a reflex? There may be many shades of grey.

The most necessary starting point for a robot may be to try lots of randomised behaviours and observe which cause successful change in the environment. If it has a picture in mind of a goal then it would need to look through its memories of what reflexes have given what results. Then it might know to try one or a combination of a few whose results may take it one step closer to finding itself in the environment it is aiming for.

If the movements of the vocal system start as reflexes learned through mirror neurons from mother giving baby talk, then real speech needs this kind of reflex management. There is basic emotional content in speech, and then there is the semantics of actual words. This can't be a single reflex because it's different every time. brain must have a meta-reflexive level that emerges from learning. I find it more believable that this doesn't work through totally centralised symbol/logic, the old paradigm, but that it emerges from reflex management, which is reflexes modifying reflexes.

Children badly need mirror neurons (in themselves and caregivers) for learning. This is not widely understood yet. I have observed it many times. the actual extent of mirroring is quite surprising. I believe in children that this approached the level of seeming telepathy, because I can remember much of my childhood and I could read the emotions and intentions of adults very clearly.

Reflexes (as actions) stimulate change in the physical environment, which is observed by the mind of a child or learning entity. But reflexes (as communication) also provoke changes in the minds of other humans, and the consequences of these are read partly by using mirror neurons to empathise and interpret emotions and states of mind. The amount of learning is huge, over decades, and given the slower pace of robot development this may mean the first learning robots need many years of childhood.

There may also be gradations of granularity. The reflex management function assembles composite behaviours out of granular collections of reflexes. This means that reflexes are aggregated into more complex behaviours, and therefore that something must be there from which the planning for this emerges. I am assuming this happens in the frontal cortex mainly. Maybe reflex management can build new reflexes out of collections of old ones. In generation of speech it might be that the finest granularity is the utterance of a single phoneme ? Other times a speech reflex may be larger, such as "I'm hungry mummy". The reflex management system assembles phonemes into utterances by modifying and combining the lowest level reflexes. But it also mashes these up with the emotional content of speech, intonation, breath and body language are added in to the final act of communication.

Concept

reflexes + reflex management = intelligent behaviour

So what if reflex management were itself merely a collection of reflexes ? Some reflexes have executive control or the power to hack and gain control over more primitive reflexes, like competing code in core-wars. So what we call intelligence seems to emerge from the collaboration of a swarm of reflexes. This makes a reflex like a Minskyan agent, and the society of reflexes emerges. This is an exciting synthesis that has been hinted at before.

Consider this famous quotation: "A clever man knows the right thing to say but a wise man knows whether or not to say it." Here wisdom corresponds to speech based reflex control, so in allowing some agents power of veto over lesser agents, behaviour is enriched.

The interaction of reflexes with each other could indeed get complex and tangled, but a small start can be made. Consider the following examples:

Define:

* reflex A : run forward until near object and outstretch arms to pick it up, then grasp
* reflex B: inhibit current reflex and freeze

behaviour 1: see toy, initiate A. result: "now I have the toy". Conclusion: this reflex is useful sometimes.

behaviour 2: see mummy, initiate A... then initiate B. result: run to mummy and outstretch arms then halt. Mummy also outstretches arms and hugs... consequence "I just learned to ask mummy for a hug". Conclusion: mark this as a new reflex to use again.

or this one

Define:

* reflex C : grasp object in front of me and raise to mouth to eat
* reflex B: inhibit current reflex and freeze

behaviour 3: see slice of banana, initiate C.
result: "I'm eating the banana"

behaviour 4: see flower in garden, initiate C...then initiate B.
result: "I can smell the flower now its under my nose".
consequence :"I learned to smell something"
conclusion: mark this as a new reflex to use again.

So it would be good for some reflexes to decompose into other behaviours when they are truncated. This allows the emergence of new behaviours when a given reflex is initiated but then inhibited before completion. Brain architecture thus may achieve a combinatorial explosion of possible behaviours with a small starting set of reflexes. Axioms breed theorems.

And for a robot:

Define:
* reflex A : follow another robot
* reflex B: inhibit current reflex and freeze

behaviour 1: see a robot moving. initiate A.
result "I am following another robot"

behaviour 2: see a robot moving. initiate A, then initiate B.
result "I followed another robot as far as the recharge station then he went on but I stayed put".
consequence: "you can go somewhere interesting if you follow someone - mark as new reflex"

So even merely aborting and freezing is a reflex management agent behaviour that is useful and potentially innovative. What about another agent behaviour that mashes together reflexes. Its easy to see that this combining meta-reflex would be useful. From above A + C would result in the ability to see something at a distance and then run to eat it. Note: I am now seeing how nerve racking parenthood may be for some!

Or maybe a meta-reflex that time-reverses another reflex or combination. I run backwards and remove what is in my mouth, then place it on the ground. or I run forwards, place a toy in my mouth and then run to mummy and ask for a hug, then spit the toy at her ;-) I am not a parent myself but I expect nearly all possible combinations may indeed play out in childhood at some time or another. Reversal is like an operator that can act on an existing reflex too: "I followed a robot to the charger and now I am going backwards. I got back to where I was before !"

Or a meta reflex to repeat another reflex. reflex D: take stick and smash it on the ground in front of you . reflex E: repeat current reflex... result: "I just smashed my toy into pieces and now it looks different and more interesting".

Wednesday, 26 October 2011

VOLKSBOT

VOLKSBOT@PLAYER/STAGE

While browsing the web, I came across a very interesting model in player/stage, Volksbot. The sheer complication of the robot and its depiction in the stage model impressed me.
 



The model was designed for Stage 4.X.X, Brian was kind enough to send the model through to my email and I was able to modify it to suit Stage 3.X.X. 

CODES
  1. The codes for the simulation are available here

Monday, 26 September 2011

EVA

EVA@PLAYER/STAGE 

After some effort, I was able to put together an inc file in Player/Stage which resembled eva, walle's love interest.



Saturday, 20 August 2011

THE KHEPERA

ORIGINS

The Khepera is a small mobile robot developed at the EPFL (École polytechnique fĂ©dĂ©rale de Lausanne) by Prof. Jean-Daniel Nicoud and his team. The Khepera has been developed and manufactured as a commercial product by the K-Team Corporation, for use in education and research. 

In Egyptian mythology, Khepera is the name of a beetle looking god, symbolizing the forces moving the sun. Khepera is more widely associated with “rebirth”, “resurrection”, “renewal”, and the general idea of “coming into being”: it might have inspired the looks and the name of the robot!
The main purpose of the Khepera is to provide a platform allowing training and experiments, involving local navigation, artificial intelligence, collective behavior, and real time programming.

It is widely acknowledge that the Khepera played a non negligible part in the emergence of evolutionary robotics.

ORIGINAL VERSION

The original Khepera is a 55mm diameter and 3cm high robot, constructed around a 16 MHz Motorola 68331 processor. Its motion and steering is achieved via 2 DC brushed servo motors with incremental encoders, and obstacles are detected thanks to 8 infrared proximity and ambient light sensors. The robot can be remotely operated, as the previous Kheperas, via a Personal Computer. 
Released 10 years ago, it has received a significant processor and firmware update before been discontinued. Let’s note that the sensors work pretty much like contact switches: the mobile robot could only detect very close obstacles.

K-2.0 VERSION

The Khepera II solved many shortcomings of the original, such as the reach of the distance sensors, swappable battery pack system for optimal autonomy, and a better differential drive odometry, allowing more precision on awkward surfaces. The khepera is now also capable of embarking additional modules increasing the versatility of the system. However, the most notable improvement is the added processing power improving the robot’s computing autonomy. 

K-3.0 VERSION

The third iteration of the Khepera is almost a revolution from the hardware point of view. On top of an array of 9 infrared sensors, two ground oriented sensors allowing line following and edge detection, the Khepera also embarks five ultrasonic sensors. 


An additional module allows Linux support, Flash extension cards, Wi-Fi, Bluetooth, 2D cameras, and extra storage space to complete the Khepera’s arsenal. The mobile robot also provides the user with improved quality motors and odometers to work with.

KHEPERA, PROGRAMMING AND CONTROL

Remote operation programs can be written with Matlab, LabView, or with any programming language supporting serial port communication. Here are the interesting ones; 

#.1. KiKS
KiKS means "KiKS is a Khepera Simulator", and runs under Matlab. It was developed by Theodor Storm as a Master’s degree year long project. KiKS emulates one or more Khepera robots connected to the computer by simulating motors, proximity/light sensor, and behaviours. 


 #.2. KHEPERA SIMULATOR
Khepera Simulator is a freeware package allowing to develop controllers for the mobile robot Khepera using C or C++ languages. It includes an environment editor and a graphical user interface. Moreover, if you own a Khepera robot, you will be able to switch very easily between the simulated robot and the real one. It is mainly directed at teaching and research in autonomous agents.


#.3. KHEPERA IN PLAYER/STAGE
Khepera can be simulated in Player/Stage;


#.4. KHEPERA IN WEBOTS
Khepera in Webots simulator;
 

Sunday, 31 July 2011

BIG BOB

JENNY'S BIG BOB

One of the lovable robots you are likely meet while learning Player/Stage is Jenny's Big Bob. Jenny has written some excellent tutorials for the Player/Stage newbie. Lot more can be found at her blogspot.




 

Saturday, 4 June 2011

BEST BOOKS FOR MOBILE ROBOTICS

BEST BOOKS FOR MOBILE ROBOTICS

An near exhaustive list of books for mobile robots.

  1) Classics

  2) For The Newbie

 3) Particular Topics 
 3.1) Behaviour Based Approaches
 3.2) Robot Vision
      a) Learning OpenCV

 3.3) Bio-inspired
      a) Bio-Inspired Artificial Intelligence: Theories, Methods, and Technologies
      b) Flying Insects and Robots

 3.4) Multiagent Systems/ Robot Societies 
     a) Robot Colonies 
     b) Swarm Robotics: SAB 2004 International Workshop
     c) Swarm Intelligence: From Natural to Artificial Systems  
 
 3.5) Natural Language Processing
     a) Natural Language Processing with Python

 3.6) Fuzzy logic route to robots 
     a) Fuzzy Logic Techniques for Autonomous Vehicle Navigation 

 3.7) Building Robots
     a) Arduino Cookbook 
     b) Getting Started with Arduino

 4) Related - but not really Mobile Robots
 4.1) Robotic Manipulator
 4.2) AI related
      a) The Society of Mind

 4.3) Philosophical
      b) Metamagical Themas

Feel free to suggest any more ...... I will keep adding as I find them ..... ! 

Tuesday, 7 December 2010

DABBLING WITH THE I-BOT

I-BOT@BIT RANCHI

At BIT, Ranchi there are 11 I-Bot Robot.
 

These robots are made by triindia and build on a Philips 8051 microcontroller. However much to my annoyance, each robot is merely equipped with 2 sets of light sensors and can only be used for very simple experiments (viz.obstacle avoidance and line following).


The programming is done in C


These experiments are often included as a introductory robotics lab for postgraduate engineering students. 



Tuesday, 13 April 2010

SNAIL : MY FIRST ROBOT

MY FIRST ROBOT 

My first robot got made not due to a sense of creativity, but rather for securing good grades. SNAIL, my first robot was the first part of Group Design Project at King's College London and it got made in Nov-Dec 2007. It was a simple line follower which was made from LEGO Mindstorms RCX 1.0 & Robotics Invention System software.

Fig 1. SNAIL

SNAIL was not quiet the snail when it came to speed ! and could complete a square of 100 cm (25cm x 4) in 4-5 seconds.
Fig 2. SNAIL'S flowchart

It would be unfair not to mention my group and people who made it happen. Rest of my team mates were, Boubacar Barry (Abu), Aparajithan Sivanathan (Siva), Vasileios Lahanas (Vaz) and Preetanat Kewcharoenwong (Kang).