Author Topic: Image Processing with Robot  (Read 3577 times)

0 Members and 1 Guest are viewing this topic.

Offline IdunnitTopic starter

  • Beginner
  • *
  • Posts: 2
  • Helpful? 0
Image Processing with Robot
« on: February 16, 2009, 11:59:15 AM »
Hello people,

As a part of long project involving industry and academic collaboration, we have to develop a controller for the robot (SRV-1). The robot drives around an area by identifying certain path markers. While following the path, it has to recognize targets and recognize them. The targets are colored balloons. The controller runs on a personal computer and communicates to the robot via 802.11g. Its simple enough till here.

The problem is that the the controller has to be written in this proprietary language which is like a subset of C without File IO, and very limited dynamic memory allocation. I have several doubts:

1. Conversion from Jpeg to raw because I am not sure how image processing occurs on Jpeg.
2. I have written low level histogram, edge detection algorithms for Greyscale after referring to the tutorial on this website. But I am not sure how they port to color images.
3. Also I was thinking of Edge detection for path following and blob for target recognition. Does that sound plausible?
4. Low resolution and fast frames vs high resolution and slow frame rates?

Please comment on the project and give me any sources that you know of. I have already did google C and Image Processing.  ;D
Keep in mind, before his project, I did not know C and I had never heard of image processing, so please do not flame me.

Offline hgordon

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 373
  • Helpful? 7
Re: Image Processing with Robot
« Reply #1 on: February 16, 2009, 01:08:12 PM »
If you are doing the image processing on your host computer (PC) instead of the Blackfin, consider using RoboRealm software for the image processing and scripting.  www.robotrealm.com .  RoboRealm has direct support for the SRV-1 robot.

You can also perform the task on the SRV-1.  There is new neural network pattern processing in firmware that will be supported soon by the on-board C interpreter.  You can use blob processing for path following and blob + neural net for target recognition.

You should post something as well on the Surveyor Robot Forum to get direct help from that user group - http://www.surveyor.com/cgi-bin/yabb2/YaBB.pl?board=srv1sw .  Perhaps you can include a detailed description of the path markers and targets.
« Last Edit: February 16, 2009, 01:10:11 PM by hgordon »
Surveyor Corporation
  www.surveyor.com

Offline MaltiK

  • Robot Overlord
  • ****
  • Posts: 300
  • Helpful? 2
Re: Image Processing with Robot
« Reply #2 on: February 16, 2009, 04:34:17 PM »
If you are doing the image processing on your host computer (PC) instead of the Blackfin, consider using RoboRealm software for the image processing and scripting.  www.roborealm.com .  RoboRealm has direct support for the SRV-1 robot.

You can also perform the task on the SRV-1.  There is new neural network pattern processing in firmware that will be supported soon by the on-board C interpreter.  You can use blob processing for path following and blob + neural net for target recognition.

You should post something as well on the Surveyor Robot Forum to get direct help from that user group - http://www.surveyor.com/cgi-bin/yabb2/YaBB.pl?board=srv1sw .  Perhaps you can include a detailed description of the path markers and targets.



Roborealm.com not "robot" :)

Otherwise, nice answer
Warranty

Offline IdunnitTopic starter

  • Beginner
  • *
  • Posts: 2
  • Helpful? 0
Re: Image Processing with Robot
« Reply #3 on: February 23, 2009, 01:44:17 AM »
The image processing and the controlling is being done on the Computer, but I cannot use Roborealm. The focus of the project is not the robot, its the proprietary language I mentioned. The aim of the project is to prove that the language is functional enough to handle real world problems.

Our constraints include that all image processing has to be done on the computer itself. Only basic commands can be used, that is, forward, reverse, turn left, turn right and image capture. Therefore all my questions still stand.

I did download RoboRealm, are there any tutorials on the algorithms implemented in RoboRealm?

Thank you for your replies.

Offline HyperNerd

  • Robot Overlord
  • ****
  • Posts: 139
  • Helpful? 5
  • N3rd1n80r
Re: Image Processing with Robot
« Reply #4 on: February 23, 2009, 01:48:40 AM »
Check out the RoboRealm website - there's loads of tutorials and information :)

 -HyperNerd
There are 10 types of people in the world - those who understand binary, and those who don't.

Offline hgordon

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 373
  • Helpful? 7
Re: Image Processing with Robot
« Reply #5 on: February 23, 2009, 10:44:52 AM »
Quote
The problem is that the the controller has to be written in this proprietary language which is like a subset of C without File IO, and very limited dynamic memory allocation. I have several doubts:

1. Conversion from Jpeg to raw because I am not sure how image processing occurs on Jpeg.
2. I have written low level histogram, edge detection algorithms for Greyscale after referring to the tutorial on this website. But I am not sure how they port to color images.
3. Also I was thinking of Edge detection for path following and blob for target recognition. Does that sound plausible?
4. Low resolution and fast frames vs high resolution and slow frame rates?


Are you referring to the onboard C interpreter on the SRV-1 ?

If you are doing the image processing on the SRV-1 using the C interpreter, here is some clarification -

1.  The raw image caputre on the SRV-1 is not in JPEG format.  It is in YUV colorspace - http://en.wikipedia.org/wiki/YUV - which is better for image processing than RGB

2/3.  There are built-in fuctions in the SRV-1 for edge detect and histogram.  There aren't any interfaces currently to these functions in the C interpreter, but they could be added.  There is a C interface for the blob function.

4.  SRV-1 captures to internall memory at 28 frames/sec, so you can decide which resolution works best based on image processing time.

Take a look at the Surveyor forum for more discussion of these topics - http://www.surveyor.com/cgi-bin/yabb2/YaBB.pl?board=srv1sw

Also, I should note that we will have a new version of the C interpreter in a few weeks which has much more complete support for the C language, including pointers, arrays, structs, switch statements, etc.  It will be a big improvement over the current version.
« Last Edit: February 23, 2009, 10:46:30 AM by hgordon »
Surveyor Corporation
  www.surveyor.com

Offline superchiku

  • Supreme Robot
  • *****
  • Posts: 953
  • Helpful? 5
  • cooll
Re: Image Processing with Robot
« Reply #6 on: February 23, 2009, 11:27:25 AM »
Mr hgordon...i would like to ask...the srv1 has a full embedded c compiler then why not go for opencv and visual c++....it suits ur need too...and in roborealm...u have to use visual basic scripts to code out ur purpose...but the fasteest will be opencv
JAYDEEP ...

IT AND ROBOTICS ENGINEER

"IN THE END IT DOESNT EVEN MATTER"

Offline hgordon

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 373
  • Helpful? 7
Re: Image Processing with Robot
« Reply #7 on: February 23, 2009, 12:35:25 PM »
Mr hgordon...i would like to ask...the srv1 has a full embedded c compiler then why not go for opencv and visual c++....it suits ur need too...and in roborealm...u have to use visual basic scripts to code out ur purpose...but the fasteest will be opencv
SRV-1 firmware is built with GCC compiler, and we have users who have ported portions of OpenCV to the SRV-1, but the library is very large, so it will not completely fit on SRV-1 with 4MB flash and 32MB ram.

The onboard C interpreter is only a subset of the C language - we basically just use it for scripting.

I'm actually unclear about Idunnit's requirements.  He mentions a "proprietary language which is like a subset of C", but I don't know if he is referring to the SRV-1's onboard C interpreter or to some other language environment that runs on a host PC.
Surveyor Corporation
  www.surveyor.com

Offline superchiku

  • Supreme Robot
  • *****
  • Posts: 953
  • Helpful? 5
  • cooll
Re: Image Processing with Robot
« Reply #8 on: February 23, 2009, 12:37:49 PM »
any compiler may it be...it needs gud amount of teting and coding...roborealm..cv..java or matlab...a subset of c compiler really doesnt make any sense...may be he is talking abt open cv..but this is the 1st time iam hearing abt a competition which has fixed its language requirement in building a robot..
JAYDEEP ...

IT AND ROBOTICS ENGINEER

"IN THE END IT DOESNT EVEN MATTER"

 


Get Your Ad Here

data_list