Friday, June 12, 2009

Why RobotC!!!

Why RobotC!!!

Deciding what language to use and which software is the best was very time-consuming due to the variety of the software used on the Mindstorms (NXT). This type of research is very time consuming and it take longer than expected. After extensive research on the different software, RobotC was created at Carnegie-Mellon and it stands out from all the rest of the software simply because it’s amazing, it showed better ability to provide the control needed for the type of work that will be done with the NXTs than any other software for many reasons.

First, it’s unbelievable IDE (integrated development environment, which is also called integrated debugging environment), it includes syntax error checking, the ability to create break-points and step through the code line by line and auto complete functionality. Second, RobotC is a very flexible and easy to use, also help is provided online, web support includes forums, how-to guides and links to global ROBOTC community. Third, it has a great source code editor with many different helpful features such as code indents, unlimited undo feature, two different levels (basic and expert) and many others. Fourth, it works with both NXT and RCX using different updateable firmware which serves as an operating system for the NXT. This software needs to be activated online for $30.00.

Related and Helpful links:

· Lego Mindstorm website: http://mindstorms.lego.com

· A lego Mindstorm NXT community http://nxtasy.org

· Interesting things done with the NXT http://www.nilsvoelker.com/nxt/

· NXT Programming Software http://www.teamhassenplug.org/NXT/NXTSoftware.html

· RobotC website http://www.robotc.net/

Time: 16.5 hrs.

Wednesday, June 10, 2009

The differences between class work and research

Research is a process that can be learned and understood, the main differences between class work and research is “the logistics (definition of goals, ease of obtaining materials, ease of carrying out the work) and time use (gauging how long things will take)”.

In a course the structure is built by someone else, the topic, the syllabus, assignments, texts and others all are decided for you at the start of the term. With all that put in a timetable and must be done on time. By contrast, for the research, effectively you are producing all those things yourself with the help of your research advisor, you have a work schedule and you have more freedom with your work .

“Research is not an altogether orderly process. False leads, insufficient evidence, contradictory findings, changes of goals, and other frustrations are inescapable parts of the process”. Because of this lack of course structure, the fact that there is no syllabus or assignment, it is difficult to predict the amount of time needed to carry out a project. Also, frustration is a popular side-effect of research.

During the starting period you will be doing preliminary research, finding and developing your research problem and reading the background materials necessary. Other aspects of research such as distractions, getting off track for irrelevant material make the process more challenging.

Time 5 hrs.

Tuesday, June 9, 2009

NXT Programming Software

There are many different software that can be used to program the NXT, the ones that we are particularly interested in are those that use C or C++ as their programming language. Some of the popular software that uses C or C++ are NXC, RobotC, and LEJOS OSEK. In this entry I am going to explain the advantages and the disadvantages of each one.

· NXC: This software uses NXC (Not exactly C) language; it is a high level language, similar to C, built on top of the NBC (Next Byte Codes) compiler. It has a built in integrated debugging environment. It works in different operating systems such as Windows, Mac OS, and Linux. It does not support events. It supports multithreading, Bluetooth brick to PC and brick to brick only. It does not support floating points.

· RobotC: This software uses C language. It has a built in integrated debugging environment. It works only on Windows operating systems. It supports events. It supports multithreading, Bluetooth brick to PC, brick to brick and brick to other devices. It supports floating points and it has a data log.

· LEJOS OSEK: This software uses ANSI (American National Standards Institute) C language. It has an add-on integrated debugging environment. It works only on Windows operating systems. It supports events. It supports multithreading, Bluetooth brick to PC only. It supports floating points.

Time 11.5 hrs.

Thursday, June 4, 2009

Distributed Online Evolution for Swarm Robotics

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

This is a summary of the Article “Distributed Online Evolution for Swarm Robotics”

Hettiarachchi, Suranga. Distributed Online Evolution for Swarm Robotics Print.

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

This article discusses some difficulties and challenges in creating a swarm robot system such as noise, limited range of interaction between agents, delayed feed back and many others. Also, solutions to such problems were discuss such as using evolutionary algorithms (EAs). The fact the these algorithms are created and worked in simulation programs does not prepare the system for real life problems, also creating different individual behavior for different agents becomes a problem.

DAEDALUS “Distributed Agent Evolution with Dynamic Adaptation to Local Unexpected Scenarios”, a new interesting framework was presented in this article. This particular paradigm depends mainly on the interaction between the agents in the swarm system or outside it. Many different runs and experiments showed improvement in the swarm system in both collision avoidance and and survival separately. Future research is interested in combining both aspects together “ Collision avoidance can be improved via mutation of the obstacle-robot interaction, while survival can be improved via mutation of the robot-robot interaction and robot-goal interaction”. Also Future research is focusing on creating a credit system in order to reward robots based on their own achievement.


Time: 4hrs.


The Cooperation of Swarm-Bots

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

This is a summary of the Article “The Cooperation of Swarm-Bots”

Mondada, Francesco, Luca Maria Gambardella, Dario Floreano, Stefano Nolfi, Jean-Louis Deneubourg, and Marco Dorigo. "The Cooperation of Swarm-Bots." Physical Interactions in Collective Robotics. (2005): 21-28. Print.

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

This is an article published in the IEEE Robotics & Automation. In general the article considers swarm robotics to be a form of swarm intelligence, and take “distributed control, self assembling mechanisms and collective behavior" as some of the main aspects of such field. The article provides an overview on the SWARM-BOTS project, taking under consideration both the software and the hardware aspects. The article provides different examples of self-reconfigurable robots such as MTRAN and PolyBot both designed with centralized control, then comes CONRO which was the first self-reconfigurable robot with decentralized control.

Many challenges faced the team working on SWARM-BOTS project such as the connection type, the degrees of freedom, mobility and others. The article discusses the many different designs that the team went through and the advantages and disadvantages of each one, moving from cylindrical shape with small tracks, to bigger tracks and better types of connections, adding a string gripper, and eventually using treels (a combination of tracks and wheels) and creating a robot with 9 DOF. The team developed their own simulation platform called Swarmbot3D which was based on Vortex a highly flexible visual-simulation applications. The Project was a success, and there are some great videos on what these robots can do together you can find it on the projects website: www.swarm-bots.org

Time: 5 hrs.