Distributed Video Surveillance System based on Android

Security and Surveillance Systems have always been demand in the industrial and home environment. The cameras, which human eyes are able to collect all visual information from the environment. Extensions necessary and highly desirable in these systems, and that few possess, are integration and interconnection with other systems, video surveillance and display all the information on a mobile device, which lately is becoming essential in a peripheral daily life. Most existing surveillance systems are based on the hardware, and software is old and have not a good design, so it’s difficult allowing scalability and increased functionality. 

This project, called Surveillance, raises the development of a distributed video system integrated in mobile device based on Android. For this we have designed a distributed system, multi-platform, multi-lenguage and high scalability. The system performs records through the cameras installed and it is associated with an alarm generation by motion detection. All this is managed and viewed from a mobile device based on Android with intelligent touchscreen. One of the most important features has been developed is receiving real-time video in mobile device, both the cameras and recordings made. 

 

 

The system has been experimentally validated and proven correct operation. For the implementation of this project is used software platform architecture and JDEROBOT, distributed component programming six main functions that are: get the images from the camera, motion analysis, centralize the management of the recordings, making the recordings, display information on mobile and manage logical recordings and alarms. It has also opted to use frameworks, consolidated libraries and tools (ICE, GStreamer and VLC) to provide robustness to the system. Finally, we have integrated and improved several components of this infrastructure, obtaining a correct and efficient functioning.

Of sourse, this project is a FLOSS (Free Libre Open Source Software) project. You can obtain the source code and documentation in the next links:

 

Posted via email from rocapal’s posterous

Uncategorized No Comments

Written by:

Nao robot in Gazebo

I am pleased to present GNao, a Nao Robot simulated in Gazebo.

gnao

I have created GNao using Gazebo and we can control it with his own library (libgazebo) or with NaoOperator(an aplication created by Francisco Rivas).

GNao has the same height, weight and degrees of freedom that real Nao.

In this link you can see some videos.

jderobot No Comments

Written by:

Moving a virtual Y1 module with JDErobot 5.0

blog-jderobot5-servo1-test1

Currently I am working on supporting modular robots in JDERobot 5.0. As a first example, I have created the Servo1 component. It is a virtual Y1 module that can be moved to any position in the range [-90,90]. It has been programmed using the OpenMR plug-in for OpenRave (in C++). The client is another C++ program that just let the user to type in the desired position for the servo.

ICE is used for the communication between the client and server.

Here there is a Video demostrantion. The sources can be found in this SVN repository.

Obijuan

jderobot No Comments

Written by:

MonoSLAM at jderobot

We’re glad to present the first prototype of monoSLAM working inside jdeRobot platform.

MonoSLAM is for monocular Simultaneous Location And Mapping, a computer vision technique which permits to estimate in real-time the relative position of a moving camera with respect to several landmarks extracted from the environment, using only the image sequence that provides the camera.

It is potentially helpful in visual odometry for robots, specially for those whose mechanical odometry is poor (e.g. legged robotssuch as Nao). It can also be used for augmented reality systems and scene reconstruction from video sequences.

You will always find a video of the latest prototype by following this link:

Latest video

jderobot No Comments

Written by:

Talk: vision on mobile robots

Dr. Pilar Bachiller from Universidad de Extremadura has presented the system developed on her PhD in order to get the robot behavior based on visual attention for mobile robots. The design of a control architecture for a mobile robot involves seeking solutions to issues such as analysis and interpretation of sensory information provided about the environment, the limited scope of the sensors, the limited time to process image and maintenance of multiple behavioral objectives.
You can download the PDF slides and also you can see or download full recorded speech on .avi video here.

Uncategorized 2 Comments

Written by:

Connecting Android to JDEROBOT through ICE

Today, it seem impossible that we can’t control anything from our mobile device. I’m using JDEROBOT software to create a video-surveillance system based in software libre and low cost hardware.

A good feature for this system is the total control from the mobile device. In this case, we use a Android device (HTC Magic) and our problem is connect both systems: JDEROBOT (linux) and SecurityApp (Android). There are many options for this as: rpc, webservice (xml+soap) or some distributed framework. We opted for ICE (Internet Communications Engine) that is a distributed system based in definition of interfaces language.

“The Internet Communications Engine (Ice) is a modern object-oriented toolkit that enables you to build distributed applications with minimal effort. Ice allows you to focus your efforts on your application logic, and it takes care of all interactions with low-level network programming interfaces. With Ice, there is no need to worry about details such as opening network connections, serializing and deserializing data for network transmission, or retrying failed connection attempts (to name but a few of dozens of such low-level details).”

· The Android/Java Code: We try show the image captured by webcam in the Android mobile.

 Ice.Communicator communicator = Ice.Util.initialize();
 Ice.ObjectPrx base =
     communicator.stringToProxy("varcolorA:tcp -h 193.147.51.113 -p 9999");

 // Varcolor and Image are interfaces defined by us.
 if (base == null)
    Log.e("Main","Could not create proxy");
 else
 {
     VarColorPrx vprx = VarColorPrxHelper.checkedCast(base);
    if (vprx != null) {
        ImageData image;
        image = vprx.getData();

        // In image variable we obtain the image data.
    }
 }

Easy, right? ;-)

· The Result: The next photo shows how the android mobile can show the image captured by webcam. The webcam is connected to laptop where JDEROBOT is running.

Test Android-JDEROBOT-ICETest Android-JDEROBOT-ICE
jderobot No Comments

Written by:

jderobot meets Python

jderobot is now able to load Python code with a new command “aload” allowing any kind of script to be loaded and executed inside an embedded interpreter. Thank you to the Python/C API this task has been easier. Most of the code to do it can be found here.
Now to load a Python script is as simple as:
jderobot $> aload hello.py
Loading hello.py…
Hello world!
jderobot $>

Future jderobot4.4 will be able to load schemas programmed in Python through Swig wrappers. Almost all the API will be available within Python and schemas will be able to “talk” to other ones, no matter their programming language.

Go to Source

jde, jderobot 1 Comment

Written by:

Seminar: how to compile, link and debug our C applications on linux

Today, Jose María Cañas and Julio Vega have given a talk about how to compile, link and debug C/C++ applications over Linux platform.
Maybe sometimes there are many problems about how to compile our applications with gcc (GNU C Compiler) or link them with dynamic libraries and how to check the correct linked. Moreover, we usually prefer to include all this process in a simple makefile. So they’ve explained how to build a makefile.
On the other hand, when we have perfectly build our application or executable, we want to know why our application doesn’t work fine… so we need to debug it. They’ve talked about two important tools: gdb (GNU Debugger) and valgrind. Gdb in order to check the internal structure of the program and valgrind, specially indicated to help us to check dynamic memory use.

You can download the PDF slides and also you can see or download full recorded speech on .avi video here.

Uncategorized 1 Comment

Written by:

Invited talk on jderobot at University of Malaga

Some days ago I gave a talk at the University of Málaga on jderobot, describing its main features as middleware for robot programming. I was invited by Cristina Urdiales, from the Robotics and Artificial Vision Group of the Department of Electronic Technology.

You can find here the slides that I used in the presentation (in Spanish) . They provide a good overview of the current state of the jderobot project, its principles, foundations and software design. They also present the collection of currently available drivers, developed components, sample applications, etc.

Talk on jderobot at U. Málaga

jderobot No Comments

Written by:

jderobot-4.3.0 launched

The new stable release of jderobot has been launched, it is the 4.3.0 release. You can find it here for download or simply install it from debian packages. Many bugs have been fixed, it includes many improvements and new features:

  1. Project code managed with AutoTools
  2. Debian packages created (for ubuntu-hardy, debian-lenny and debian-sid)
  3. Application name changed to JDEROBOT
  4. All the code is now licensed by GPL v3.0
  5. Improved shell
  6. New drivers: video4linux2, evi (for Sony VID30PTZ) and wiimote.
  7. New schemas: a camera calibrator, extrinsics, opencvdemo, wiioperator, etc.

Check its release notes for further details.

In addition, several development tools are now used: mediawiki web site, svn repository, trac…. A community has been gathered around the project. We mainly use two mailing lists for communication: jde-users@gsyc.es and jde-developers@gsyc.es.

Most of the developer team gathered at a pizza party on 2009/03/20 to celebrate the jderobot-4.3.0 launch.

Pizza Party for jderobot-4.3.0 launch

Enjoy!

Uncategorized 1 Comment

Written by:

« Previous Entries