BLOG KEYWORDS: Multi-robot system, Multi-agent architecture, Microcontroller programming, Sensor data fusion, Feedback control, mobile robotics, Centralized/Decentralized wireless communication, BDI (Belief-Desire-Intention), MA3-LM (Multi-Agent Assignment Algorithem Local Mediation), A-QoS (Application Quality-of-Service), Embedded-robot technology.

Saturday, August 04, 2007

Study of Windowns XP Embedded on an embedded PC

In order to build fairly sophisticated robots that can parallel process/fuse multiple sensors input, capble of wireless communication with other robots and base station, capable of decision making by working through complicated algorithms and execute multiple output action simultaneously, the robot need a good ‘brain’ - an Embedded PC runs Componentized OS could be the solution.


The picture below shows that ICOP Vortex86 embedded PC runs Windows XP Embedded OS.




The picture below shows the Internet Explorer is running on the OS.

The picture below shows all embedded PC hardware are packed into a box.
REFERENCE:

Multi-robot system experiment settings and background study

Multi-Robot Task Allocation (MRTA) is one of the important focuses on multi-robot system researches. Basically researchers design and implement cooperative multi-robot system to address the issue: to make tasks efficiently allocate to robots in order to cooperatively achieve the global goal as the optimal solution for multi-robot team.


The Collaborative Linear Assignment Problem (CLAP) is one of the very important aspects in MRTA, in this project experiment that I have designed, the main focus will be set to address CLAP. The application quality of service (A-QoS) is utilized here as the key value to put multi-robot system into task allocation in an optimization context. The A-QoS here could be configured as simple as just the distances between robots and tasks or as complicated as fusion of multiple measurements like distance, power consumption, task fitness and so on. The A-QoS matrix (robots vs. tasks) will be optimized by Multi-Agent Assignment Algorithm (MA3 –LM) and then each robot will execute one optimal task that being allocated.

The picture below shows one of the initial experiment setting, where the three robots forms a triangle at the beginning and being ready to execute the tasks.




The picture below shows an alternative initial setting for the experiment, where three robots forms a line at the beginning and being ready to execute the tasks.



Below is the picture shows that robots are executing their optimal fitted tasks after MA3-LM negotiation.

REFERENCES:
1. Seow, K.T. and How K.Y., 2002, Collaborative Assignment: A Multiagent Negotiation Approach Using BDI Concepts, AAMAS'02 July 15-19.
2. Gerkey, B.P. and Mataric, M.J., 2004, A Formal Analysis and Taxonomy of Task Allocation in Multi-Robot Systems, The International Journal of Robotics Research Vol. 23, No. 9, September 2004, pp.939-954.

Friday, August 03, 2007

Heterogeneous robot team accomplished

Finally I have accomplished the planed transforms on the robots, and initialized them in good working conditions as the project experiment required, open architecture, wireless communication capable, encoder feedback and heterogeneous. Now, you can see them all in the picture showing blow.


The three boxes are also made ready for the project experiment, and at this moment they are all in black as shown.

Sunday, July 15, 2007

Working on overhead camera vision subsystem development

The normal vision application development process can be summarized as following diagram shown. The extended lines lead to the specific tasks I need to work on.




Currently I am trying on to develop this vision subsystem by using Matlab/Simulink toolboxes (Image acquisition toolbox, Image processing toolbox, Video and Image processing blockset)and customized code sections. Hope can figure out a way for autonomous the fish-eye distortion correction. Below is a capture of the video image that I am working on.

Mid Project-time Review

About one month, I was putting head into the project and did not find a good time to update this blog, really quite a long period. But what I am thinking is that instead diary form of logging the blog, I rather like to put them in summary form, that’s why I said it need a good time of thinking.

The hardware part of the system is almost done; the only thing left is to calibrate the Bigfoot-bot and calibrate the Plate-bot. Since the electronics hardware I have ordered for Bigfoot-bot and Plate-bot has just arrived this Friday, I will work on this next week.

The tracking part programming is done for Boe-bot, there are works need to be done for modification of the tracking programs according to the result of calibrations for the Bigfoot-bot and Plate-bot.

Ok… let me do as usual, summarize them in a list form.




Saturday, July 14, 2007

Encoder feedback testing

The diagram below and a small video clip show the encoder feedback testing. This is my first try to embed a video clip to the blog, in future I am going to upload more video clips to here. Enjoy!




Saturday, June 09, 2007

Coming back from MEDC sg 2007

8 June, Microsoft has hold a Mobile & Embedded Development Conference (MEDC) in Singapore as one of its global connected community events.


The whole day event is quite enjoyble and resourceful, (I have won a thumbdrive and a towel through participating Q&A, haha~). Microsoft has presentate a few new launched products and the future development road map for mobile & embedded frameworks and platforms which will be coming out in next few years, and a lot of new products and solutions pack (hardware + software) have been introduced by some leading companies in these fields.




REFERENCES:
.net framework http://msdn2.microsoft.com/en-us/netframework/default.aspx
.net compact frameowrk http://msdn2.microsoft.com/en-us/netframework/aa497273.aspx
.net micro framework http://msdn2.microsoft.com/en-us/embedded/bb267253.aspx
Windows CE http://msdn2.microsoft.com/en-us/embedded/aa731407.aspx
Windows XPe http://msdn2.microsoft.com/en-us/embedded/aa731409.aspx
Windows Mobile http://msdn2.microsoft.com/en-us/windowsmobile/default.aspx

Heterogeneous robot team

The fourth robot “Traxster” finally joined my robot team. Now I can really call the robot team a heterogeneous robot team, which consists of Boe-Bot, Bigfoot-Bot, Plate-Bot and Traxster.



The embedded pc board (Vortex86) for testing some of the embedded features.

Thursday, May 31, 2007

Robot base design

A few factors need to be considered when design a robot base.

  • Driving power
  • Complexity of mechanics design
  • Complexity of kinematics
  • Complexity of open loop control and feedback control


Following diagram layout a few commonly used design:




There is another important design call Omni-directional drive system with "Mecanum wheel". There is a video footage on http://www.airtrax.com/ website clearly shows vehicles moving sideways, turning on the spot, moving diagonally, and combining these movements.




References:
Thomas Bräunl, Embedded Robotics, 2nd edition, 2006
Christof Roehrig, Controller Design Experiments,1999

Sunday, May 20, 2007

Plate-Bot joined my robot team

Here is the Plate-Bot (I named it) that has joined my robot team very recently, the size is about 4 times lager than the first arriver Boe-Bot. Plate-Bot joined my robot team with minimum electronics or call it just a robot base should be more suitable. A lot of add-on electronic components are required to make it suitable to perform my project tasks.



Below is the draft layout that indicates the changes.



Thanks to Mr. Chia our lab technician, who has helped me to source this robot and given me a lot of valuable advices!

Saturday, May 19, 2007

plan to change the bigfoot-Bot

After a few days of analysis, I decide to make a few changes on the Bigfoot-Bot (I named it). Due to all wheels are connected to motor by rigid shafts, the kinematics for the robot to turn around will be different from Boe-bot. The way it can turn around is by wasting large amount energy on sliding wheels, where control of the robot in many aspects will be difficult. Hence I decide to modify the robot base and change the electronics, so that it can be better fit into my project.

Lots of works needed to make the changes…

I layout the following graphs to make everything in plan and allow myself to have more directed view on it. (Some friends asked me what is the software that I usually do the layouts, it is Microsoft Visio.)




List of the changes

  • One set of gear train and one encoder will be added. (parallel with the other side)
  • One set of Parallax education board, Basic Stamp 2 and embedded Bluetooth will be added.
  • Two front wheels and dc motors will be replaced by one swivel wheel.

Wednesday, May 16, 2007

Wireless Communication implementation accomplished

The wireless communication link has been established, which means PC can remotely control the robot and transfer data with the robot. There are some tricky parts during the process, which made the process become more challenging.

Example like, the newly released Microsoft Robotics Studio 1.5 CTP does not work well with BoeBot, I was trying figure out the problem in every parts that involved in the communication link other then the Microsoft Robotics Studio 1.5 but the whole comm. system did not turn out right, in the end with the help from a friend who is familiar with Labview testing, we conclude the problem must due to the software part. When I reversed to the Microsoft Robotics Studio 1.0, the whole system worked fine.



A new robot has joined my robot team. This robot has been used by other people previously for another project. This robot looks like to have a robust base but an old weak "heart" and only one wheel attached with encoder. I think there should be a lot of works to do to make it suitable for the tasks in my project.


Sunday, May 13, 2007

BoeBot has been initialized with basic functions

The close-up for Bluetooth communication pair.



The electrnoic compass for finding the orientation of the robot. I have to say thanks to Yue Khing over here, he generously lend this cool chip to me to test on my robot. In future, I will write an article to list out the sensors that I have tried and some analyses regarding that.



The close-up for the BoeBot.

Concept plan for Multi-robot system implementation : part 1 the project settings

The multi-robot system lab implementation setting consist the followings:

  • Three mobile robots all equip with Bluetooth and IR, differentiate each other by motor power output.
  • An overhead camera system integrated with localization capability.
  • Cubical paper boxes with different sizes, and size made proportional to mass.



Friday, May 11, 2007

Initialization of the Boe-Bot



Yeah! Exam is over and I can fully concentrate on the project works.


The second robot did not arrive in expected time, due to various reasons, but luckily it is confirmed that it will arrive soon.


The guide book come together with BoeBot kit is comprehensive, which make the robot initialization become a very enhancive learning process. I doing the initialization according to the flow chart shown in left.

The Subsystem testing includes write small programs for testing the microcontroller I/O, testing and centering the servos.


Assembly the robot kit is really a fun job, it's like dream come true kind of feeling.


There are some sensors included in the BoeBot kit can be used for navigation. Like tactile navigation with Wiskers, Light Sensitive Navigation with Photoresistors, also can navigate with Infrared Headlights.


For the wireless communication, the plan is to adapt to Bluetooth and all robots as well as servers are equipped with Bluetooth transceivers, so that within the wireless network all info can be shared.

The Localization implementation will be talked in later days.

Thursday, March 29, 2007

First robot kit arrived

Happy news, the first robot kit (the BoeBot from Parallax Inc.) has arrived yesterday. Various photos has been taken just now, I did not do digital enhancement but just stack them on one page and make it published. Due to exam preparation, I will not assembly the kit until all exams are over (which is about one month later).


I think the second robot kit should be coming soon, may be in half month time, which is a bigger and more powerful one, I will reveal ‘him’ to you by the time.

Thursday, March 22, 2007

Abstract Model to deploy MA3/MA3-LM on multi-robot system using BDI concepts

After entering the station, each robot will evaluate itself for completing every task based on sensor input data (identify relative location, task parameters etc.) and its own abilities, and hence generates a set of A-QoS (Application Quality-of-service) number, such that each robot will believe[B] all tasks can be achieved to a certain degree.

Station 1 was created for some other understanding purpose; let's not consider it for now.


For Station 2:

Upon perceiving that, all robots in the group will have its own desired task which is the local maximum value (i.e. max number of the row), and they will send their set of A-QoS value to the leader robot (one having better computation power or arbitrarily selected) through a communication channel, leader will compute out a set of A-QoS number such that the maximum group gain will be achieved, each robot then will be assigned to attempt one particular task.

For Station 3 (MA3-LM) :
All robots will be initiated to an arbitrary task according to indexing or some other ways (i.e. one arbitrary no. is selected in the row), in the way that robots and tasks are all engaged and one-to-one mapped, then each robot will broadcast its unengaged A-QoS values (i.e. the other two numbers in the row), if there is a positive gain in A-QoS value the robots will have its desire(s)[D] to exchange the tasks with the other robot(s), thereafter if both robots have desire to exchange tasks then it will become both robots’ intention[I]. Subsequently, a new round of BDI reasoning will take place and will continue until no robot has desire to exchange, then exchange will take place.


A-QoS: Application Quality-of-Service
BDI: Belief-Desire-Intention
MA3: Multi-Agent Assignment Algorithm
MA3-LM: Multi-Agent Assignment Algorithm Local Mediation





REFERENCES

  • Seow T.K. AND How K.Y., 2002, Collaborative Assignment: A Multiagent Negotiation Approach Using BDI Concepts
  • Seow T.K. and Sim K.M., 2006, Decentralized Assignment Reasoning Using Collaborative Local Mediation

Saturday, March 17, 2007

Matlab and Simulink exercise

For a good control system design, the system overall performance and system stability are the key measurements, Matlab and Simulink are certainly the good tools to fit in this needs. I have watched a few webinars, which utilizing Matlab, Simulink and Stateflow in automobile, aerospace and large scale model design are really awesome.


Here let me try on a few examples to get my hands warm, I think later on there will be a deployment of these awesome tools in my project.


Blow is a picture shows a very simple close loop control system exercise I did. (REFERENCE: Leonard N.E. AND Levine W. S., 1999, Using Matlab to analyze and design control system 2nd edition)





Wednesday, February 28, 2007

Multi-robot or Multi-agent

There are many papers/theses/journals I have read through come across the terms either “Multi-robot system” or “Multi-agent system” or both. Here, I want to do a parallel comparison of the two to make the terms clearer to me.






From above comparison we can see that “Multi-robot system” is mainly referred as the practical term, commonly used in robotics field; and the “Multi-agent system” is mainly referred as theoretical term, commonly used in computer science field.




REFERENCES
· Wikipedia, 2007, Multi-agent system
· YANG E.F. AND GU D.B., 2004, Multi-agent Reinforcement Learning for Multi-Robot Systems: A Survey
· CLARK, C.M., 2004, Dynamic robot networks: a coordination platform for multi-robot system
· ARAI T., PAGELLO E., PARKER L. E., 2002, Editorial: Advances in Multi-Robot Systems

Tuesday, February 27, 2007

BDI programming flow chart

Michael Wooldridge has mentioned four concrete Architectures for Intelligent Agents
1 Logic-based Architectures
2 Reactive Architectures
3 Belief-Desire-Intention Architectures
4 Layered Architectures


Here we focus on Belief-Desire-Intention (BDI) Architectures, which is the one being widely adopted and studied. I drafted the diagram blow after read Michael Wooldridge's book.




A systematical approach to understand BDI programming architecture, adoped from Michael Wooldridge's explanation.

---------------------------------------------------------------------





iRobot Introduces the iRobot Create! A robust, programmable Robot platform that invites you to stretch your imagination








by Tom Atwood








Saturday, February 24, 2007

Some impotant definations

After following through the first two lectures, I grabed some important concepts/definations which are keys to understand the Multiagent system. (Based on “An Introduction to MultiAgent Systems” by Michael Wooldridge, John Wiley & Sons, 2002.)


1. What is Agent?


An agent is a computer system that is capable of autonomous action on behalf of its user or owner in some environment in order to meet its design objectives.

An intelligent agent is a computer system capable of flexible autonomous action in some environment. By flexible, we mean: reactive, pro-active and social.

A static environment is one that can be assumed to remain unchanged except by the performance of actions by the agent. A dynamic environment is one that has other processes operating on it, and which hence changes in ways beyond the agent’s control.


2. Agent Control Loop

  • Agent starts in some initial internal state i0.

  • Observes its environment state e, and generates a percept see(e)Internal state of the agent is then updated via next function, becoming next(i0, see(e)).

  • The action selected by the agent is action(next(i0, see(e)))

  • Goto 2


3. What are the near/far linked fields?

The field of Multiagent Systems is influenced and inspired by many other fields:
Economics, Philosophy, Game Theory, Logic, Ecology and Social Sciences.


________________________________________________________


The secretive French robotics company, Aldebaran Robotics , has released a sneek-peek of its secretive robotic project, Nao .

Project Nao, launched in early 2005, aims to make available to the public, at an affordable price, a humanoid robot with mechanical, electronic, and cognitive features, based on those of the prototype.

Wednesday, January 31, 2007

Define the start

I have recently taken a FYP project, the title is Multi-robot system design and implementation. For this project my responsibilities start from purchasing the robot kits until robots become real intelligent robots that can perform some given tasks.

The assumed task condition is like a group of mobile robots are randomly allocated in an unknown area, the area has limited boundary and may contain some obstacles.
The robots should be finally programmed to have ability to find their way out to gather at certain desired place in that area; ability to plan their path and avoid collisions; ability to communicate with each peer robot and the server through wireless network; ability to from a line and move alone a line, from a circle and move surround a circle.




-----------------------------------------------------------------------------------

From medicine to military, machines finally arrive By Michael Kanellos Staff Writer, CNET News.comMarch 10, 2004 4:00 AM PT


The robots are coming. And when they get here, they will take out the trash. Mobile, intelligent robots that can perform tasks usually reserved for humans are starting to creep into mainstream society and could become a multibillion-dollar market in a few years.

AddStatistics