Legacy Forum: Preserving Nearly 20 Years of Community History - A Time Capsule of Discussions, Memories, and Shared Experiences.

Bioloid Vision Module

Created by Prof. Hamid Moballegh of The Robocup Humanoid Team of Freie Universität Berlin - fumanoids.de
261 postsPage 5 of 181, 2, 3, 4, 5, 6, 7, 8 ... 18
261 postsPage 5 of 181, 2, 3, 4, 5, 6, 7, 8 ... 18

Post by JonHylands » Thu Jan 03, 2008 8:10 pm

Post by JonHylands
Thu Jan 03, 2008 8:10 pm

Hamid,

I'd like to start playing with the vision module, but I don't use the CM-5. Is there any way to calibrate and use the vision module without requiring a CM-5? I use a direct serial (USB) connection to the bus from my PC at 1.0 Mbps...

- Jon
Hamid,

I'd like to start playing with the vision module, but I don't use the CM-5. Is there any way to calibrate and use the vision module without requiring a CM-5? I use a direct serial (USB) connection to the bus from my PC at 1.0 Mbps...

- Jon
JonHylands
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 512
Joined: Thu Nov 09, 2006 1:00 am
Location: Ontario, Canada

Post by hamid_m » Fri Jan 04, 2008 12:44 pm

Post by hamid_m
Fri Jan 04, 2008 12:44 pm

Hi Jon,

Happy new year! :D
It is possible to connect the device to a PC. to find the routines you need, just take a look at the example I have attched in one of my previous posts. you should change them slightly to match your hardware(PC). Would you also inform us about your progress.

Best regards,
Hamid.
Hi Jon,

Happy new year! :D
It is possible to connect the device to a PC. to find the routines you need, just take a look at the example I have attched in one of my previous posts. you should change them slightly to match your hardware(PC). Would you also inform us about your progress.

Best regards,
Hamid.
hamid_m
Savvy Roboteer
Savvy Roboteer
Posts: 133
Joined: Thu May 03, 2007 4:56 pm

Post by JonHylands » Sun Jan 06, 2008 3:13 am

Post by JonHylands
Sun Jan 06, 2008 3:13 am

That example code shows me how to use the camera in implementation mode, but it doesn't show how to do calibration. Specifically, how do I:

- use the "LUT MANAGE" command
- use the "RAW SAMPLE" command

In order to use your module from a PC/gumstix/hammer, I need to be able to do those two things...

- Jon
That example code shows me how to use the camera in implementation mode, but it doesn't show how to do calibration. Specifically, how do I:

- use the "LUT MANAGE" command
- use the "RAW SAMPLE" command

In order to use your module from a PC/gumstix/hammer, I need to be able to do those two things...

- Jon
JonHylands
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 512
Joined: Thu Nov 09, 2006 1:00 am
Location: Ontario, Canada

Post by billyzelsnack » Sun Jan 13, 2008 3:07 am

Post by billyzelsnack
Sun Jan 13, 2008 3:07 am

billyzelsnack
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 618
Joined: Sat Dec 30, 2006 1:00 am

Post by hamid_m » Sun Jan 13, 2008 6:51 am

Post by hamid_m
Sun Jan 13, 2008 6:51 am

Hi Jon,

I am just back from vacations an so lucky that I have not been blocked there for weeks because of heavy snow :wink:

Ummm...These two commands are using a nonbioloid packet structure, This means you should write other routines after you enter these two modes.

"RAW SAMPLE" is pretty esay. After you send the packet, you recieve 160*120 bytes, each of which contains the Y value of an individual pixel packed in a nibble, and another nibble containing Cr or Cb shared between two neighbor pixels.
I suggest that you try finding the Y value fisrt and form a BW image and then try to use the Cr,Cb values.

for "LUT MANAGE" I should take a look at my source code. It is a little bit complex... let me do it and inform you during the next week.

Best regards,
Hamid.
Hi Jon,

I am just back from vacations an so lucky that I have not been blocked there for weeks because of heavy snow :wink:

Ummm...These two commands are using a nonbioloid packet structure, This means you should write other routines after you enter these two modes.

"RAW SAMPLE" is pretty esay. After you send the packet, you recieve 160*120 bytes, each of which contains the Y value of an individual pixel packed in a nibble, and another nibble containing Cr or Cb shared between two neighbor pixels.
I suggest that you try finding the Y value fisrt and form a BW image and then try to use the Cr,Cb values.

for "LUT MANAGE" I should take a look at my source code. It is a little bit complex... let me do it and inform you during the next week.

Best regards,
Hamid.
hamid_m
Savvy Roboteer
Savvy Roboteer
Posts: 133
Joined: Thu May 03, 2007 4:56 pm

Post by JonHylands » Sun Jan 13, 2008 3:12 pm

Post by JonHylands
Sun Jan 13, 2008 3:12 pm

Thanks Hamid.

- Jon
Thanks Hamid.

- Jon
JonHylands
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 512
Joined: Thu Nov 09, 2006 1:00 am
Location: Ontario, Canada

Post by hamid_m » Wed Feb 20, 2008 3:59 pm

Post by hamid_m
Wed Feb 20, 2008 3:59 pm

Hi Jon and others,

Sorry for my long delay, so I go directly to the subject:

After sending the LUT_MANAGE command to the module replies with a '*' character. so you enter the LUT programing mode.
there are several commands wich will be accepted in this mode. which are listed as follows:
'e' : Erases the LUT
'A' : followed with two other bytes which are the address of the current byte to be read or written.
'R' : Read the contents of the LUT at the current address. Returns 2 bytes.
'w' : Write in the flash buffer at the current Address. Followed with 2 bytes.
'm' : Write the flash buffer into the flash.
'x' : leaves LUT programming mode. a standared Dynamixel return packet is replied.

Note that after completion of each command (except 'R' and 'x') a retund (0x0D) will be replied. to write to the flash, all contents of a sector should be written, else unwritten bytes will be replaced with 0xFF.
'R' and 'w' commands have auto address increment.
Adress Range is only allowed between 0x100 and 0x500. other adresses are translated internally to 0x500.
each color is indexed in the LUT using 12 bits, each 4 presenting one of the channels (Y,Cr,Cb) the result schoud be added with (0x100) to evaluate the right index to flash.
I recommend to read the documents of Bootladers for ATMEGA8 in order to get a better knowledge about the configuration and accessing of the flash.

I would be very glad to here from your experiments with the module. so keep on writing :wink:

Best regards,
Hamid.
Hi Jon and others,

Sorry for my long delay, so I go directly to the subject:

After sending the LUT_MANAGE command to the module replies with a '*' character. so you enter the LUT programing mode.
there are several commands wich will be accepted in this mode. which are listed as follows:
'e' : Erases the LUT
'A' : followed with two other bytes which are the address of the current byte to be read or written.
'R' : Read the contents of the LUT at the current address. Returns 2 bytes.
'w' : Write in the flash buffer at the current Address. Followed with 2 bytes.
'm' : Write the flash buffer into the flash.
'x' : leaves LUT programming mode. a standared Dynamixel return packet is replied.

Note that after completion of each command (except 'R' and 'x') a retund (0x0D) will be replied. to write to the flash, all contents of a sector should be written, else unwritten bytes will be replaced with 0xFF.
'R' and 'w' commands have auto address increment.
Adress Range is only allowed between 0x100 and 0x500. other adresses are translated internally to 0x500.
each color is indexed in the LUT using 12 bits, each 4 presenting one of the channels (Y,Cr,Cb) the result schoud be added with (0x100) to evaluate the right index to flash.
I recommend to read the documents of Bootladers for ATMEGA8 in order to get a better knowledge about the configuration and accessing of the flash.

I would be very glad to here from your experiments with the module. so keep on writing :wink:

Best regards,
Hamid.
hamid_m
Savvy Roboteer
Savvy Roboteer
Posts: 133
Joined: Thu May 03, 2007 4:56 pm

Post by hamid_m » Mon May 12, 2008 10:25 am

Post by hamid_m
Mon May 12, 2008 10:25 am

Hi everybody,

so, we have made a lot as I have not been so active here, we have won the 1st place of RoboCup Iran Open and the 2nd Place of German Open.
We are still using only the CM5 and HaViMo and have still a dozen of more plans.... :wink:

back to the subject: We have prepared a video showing how to use HaViMo in calibration and implementation phases. so enjoy watching...

phpBB [media]
Hi everybody,

so, we have made a lot as I have not been so active here, we have won the 1st place of RoboCup Iran Open and the 2nd Place of German Open.
We are still using only the CM5 and HaViMo and have still a dozen of more plans.... :wink:

back to the subject: We have prepared a video showing how to use HaViMo in calibration and implementation phases. so enjoy watching...

phpBB [media]
hamid_m
Savvy Roboteer
Savvy Roboteer
Posts: 133
Joined: Thu May 03, 2007 4:56 pm

Bioloid Vision

Post by joerg.wolf » Mon Jun 09, 2008 12:51 am

Post by joerg.wolf
Mon Jun 09, 2008 12:51 am

Hi everybody,

Using an Atmel to do the vision is quite tricky.
How about an embedded PC ? I am using a PDA with a SD-Card camera in the first design. I found the PDA is too heavy for the Bioloid, so our team has transfered the software onto a Toradex Colibri board. That runs under Windows CE with a USB camera.

Here is a link to the site showing the old system with the PDA:
http://www.swrtec.de/swrtec/hurosot/

Some more info here:
http://www.swrtec.de/swrtec/research/publications/Plymouth-HuroSot-Robot-2007-camera-ready.pdf

We are just working with the HUV-Robotics IMU (gyro) to improve the robots stability. Thanks Jon for sending the IMU to Exeter/Plymouth, UK!

Keep up the good work, humanoids with vision are cool !

Joerg 8)
Hi everybody,

Using an Atmel to do the vision is quite tricky.
How about an embedded PC ? I am using a PDA with a SD-Card camera in the first design. I found the PDA is too heavy for the Bioloid, so our team has transfered the software onto a Toradex Colibri board. That runs under Windows CE with a USB camera.

Here is a link to the site showing the old system with the PDA:
http://www.swrtec.de/swrtec/hurosot/

Some more info here:
http://www.swrtec.de/swrtec/research/publications/Plymouth-HuroSot-Robot-2007-camera-ready.pdf

We are just working with the HUV-Robotics IMU (gyro) to improve the robots stability. Thanks Jon for sending the IMU to Exeter/Plymouth, UK!

Keep up the good work, humanoids with vision are cool !

Joerg 8)
joerg.wolf
Robot Builder
Robot Builder
User avatar
Posts: 8
Joined: Wed Jun 20, 2007 4:57 pm

Troubles with the HaViMo module

Post by 5932XC » Wed Jul 23, 2008 7:05 am

Post by 5932XC
Wed Jul 23, 2008 7:05 am

Hello Hamid:

Some days ago , I bought the HaViMo camera, yesterday I did try to use it , but I am experienced some troubles:

The following are the steps that I do (maybe somthing is wrong there)
1) The camera must be connected alone to the CM5 ( no others devices connected)
2) The program calib.hex must be uploaded to CM5 , using the Robot Terminal (Bioloid Software)
3) Shutdown the CM5
4) Start of the camera_calib.exe program
5) Select the right COM ie COM1 (default)
6) Power ON the CM5
7)Select PLAY mode and press START in CM5

The results are:
a)camera_calib.exe not found the camera.
b)the TXD led in CM5 remains ON, actually it makes very fast blinks.
c)when I look for a Sample Pic , the program be freeze

I did repeat this for a 23 times ... always the same result.

Please help me

Thank you Hamid by your attention

Edwin
Hello Hamid:

Some days ago , I bought the HaViMo camera, yesterday I did try to use it , but I am experienced some troubles:

The following are the steps that I do (maybe somthing is wrong there)
1) The camera must be connected alone to the CM5 ( no others devices connected)
2) The program calib.hex must be uploaded to CM5 , using the Robot Terminal (Bioloid Software)
3) Shutdown the CM5
4) Start of the camera_calib.exe program
5) Select the right COM ie COM1 (default)
6) Power ON the CM5
7)Select PLAY mode and press START in CM5

The results are:
a)camera_calib.exe not found the camera.
b)the TXD led in CM5 remains ON, actually it makes very fast blinks.
c)when I look for a Sample Pic , the program be freeze

I did repeat this for a 23 times ... always the same result.

Please help me

Thank you Hamid by your attention

Edwin
5932XC
Newbie
Newbie
Posts: 5
Joined: Wed Jul 23, 2008 6:47 am

Post by hamid_m » Thu Jul 24, 2008 8:12 am

Post by hamid_m
Thu Jul 24, 2008 8:12 am

Hi Edwin,

After uloading Calib.hex to CM5 it is automatically ready to connect to the camera, so you do not need to press the START button, just MODE(reseting the CM5) is enough.

in order to find out what the problem is, would you please open the terminal program instead of camera_calib.exe, and check whether it responses with character "r" to pressing the space bar.

if yes, check if it does the same after typing once "r".

inform me about the results, and I will give you further instructions.

Best regards,
Hamid.
Hi Edwin,

After uloading Calib.hex to CM5 it is automatically ready to connect to the camera, so you do not need to press the START button, just MODE(reseting the CM5) is enough.

in order to find out what the problem is, would you please open the terminal program instead of camera_calib.exe, and check whether it responses with character "r" to pressing the space bar.

if yes, check if it does the same after typing once "r".

inform me about the results, and I will give you further instructions.

Best regards,
Hamid.
hamid_m
Savvy Roboteer
Savvy Roboteer
Posts: 133
Joined: Thu May 03, 2007 4:56 pm

The results

Post by 5932XC » Fri Jul 25, 2008 9:10 am

Post by 5932XC
Fri Jul 25, 2008 9:10 am

Hello again Hamid, thank you for yout fast answer.
I did as follows:
1) Upload of the calib.hex file
2) press MODE in CM-5
3) press "r" , pressing the space bar

the results:
The robot terminal: nothing in the screen
The CM5 : TXD and RXD blinking

I used the Robot Terminal with CM5 in manage mode in order to do more test with the comands:
1) CID 100 , chans the promt:OK
2)DUMP , display the memory map of the device #100 , your camera:OK
3)r command , display some information (two lines)

I hope that this be useful for you in order to help me.

Regards

Edwin :cry:


hamid_m wrote:Hi Edwin,

After uloading Calib.hex to CM5 it is automatically ready to connect to the camera, so you do not need to press the START button, just MODE(reseting the CM5) is enough.

in order to find out what the problem is, would you please open the terminal program instead of camera_calib.exe, and check whether it responses with character "r" to pressing the space bar.

if yes, check if it does the same after typing once "r".

inform me about the results, and I will give you further instructions.

Best regards,
Hamid.
Hello again Hamid, thank you for yout fast answer.
I did as follows:
1) Upload of the calib.hex file
2) press MODE in CM-5
3) press "r" , pressing the space bar

the results:
The robot terminal: nothing in the screen
The CM5 : TXD and RXD blinking

I used the Robot Terminal with CM5 in manage mode in order to do more test with the comands:
1) CID 100 , chans the promt:OK
2)DUMP , display the memory map of the device #100 , your camera:OK
3)r command , display some information (two lines)

I hope that this be useful for you in order to help me.

Regards

Edwin :cry:


hamid_m wrote:Hi Edwin,

After uloading Calib.hex to CM5 it is automatically ready to connect to the camera, so you do not need to press the START button, just MODE(reseting the CM5) is enough.

in order to find out what the problem is, would you please open the terminal program instead of camera_calib.exe, and check whether it responses with character "r" to pressing the space bar.

if yes, check if it does the same after typing once "r".

inform me about the results, and I will give you further instructions.

Best regards,
Hamid.
5932XC
Newbie
Newbie
Posts: 5
Joined: Wed Jul 23, 2008 6:47 am

Re: The results

Post by hamid_m » Fri Jul 25, 2008 9:24 am

Post by hamid_m
Fri Jul 25, 2008 9:24 am

Hi Edwin,

5932XC wrote:
I did as follows:
1) Upload of the calib.hex file
2) press MODE in CM-5
3) press "r" , pressing the space bar

the results:
The robot terminal: nothing in the screen
The CM5 : TXD and RXD blinking


don't worry, it seems that the firmware is not substituted (correctly) with "Calib.hex".
after uploading calib.hex, the only response of the CM5 should be "r".
it means you will have no more access to the command line and sure you can not use commands like CID any more!

would you please tell me how you have uploaded calib.hex?

another question, do you know that you can not use HaViMo and SX-100 simultaneusly?

Best regards,
Hamid.
Hi Edwin,

5932XC wrote:
I did as follows:
1) Upload of the calib.hex file
2) press MODE in CM-5
3) press "r" , pressing the space bar

the results:
The robot terminal: nothing in the screen
The CM5 : TXD and RXD blinking


don't worry, it seems that the firmware is not substituted (correctly) with "Calib.hex".
after uploading calib.hex, the only response of the CM5 should be "r".
it means you will have no more access to the command line and sure you can not use commands like CID any more!

would you please tell me how you have uploaded calib.hex?

another question, do you know that you can not use HaViMo and SX-100 simultaneusly?

Best regards,
Hamid.
hamid_m
Savvy Roboteer
Savvy Roboteer
Posts: 133
Joined: Thu May 03, 2007 4:56 pm

Re: The results

Post by 5932XC » Fri Jul 25, 2008 9:45 am

Post by 5932XC
Fri Jul 25, 2008 9:45 am

Hello Hamid, I think that we are close of the solution of this.
Well the way to upload the file calib.hex is a simple transmit in the robot terminal, I read in you documentation that the calib.hex must be the bootloader program, then I tried to use the behavior control program and updating CM5 , but I receive errors, so like no other way to send data to the CM5 was found, only the Robot terminal ... and I think that I did a bad procedure ... It make me happy, please tell me what is the right way for uploading the calib.hex file.

Thanks a lot

Edwin :)




hamid_m wrote:Hi Edwin,

5932XC wrote:
I did as follows:
1) Upload of the calib.hex file
2) press MODE in CM-5
3) press "r" , pressing the space bar

the results:
The robot terminal: nothing in the screen
The CM5 : TXD and RXD blinking


don't worry, it seems that the firmware is not substituted (correctly) with "Calib.hex".
after uploading calib.hex, the only response of the CM5 should be "r".
it means you will have no more access to the command line and sure you can not use commands like CID any more!

would you please tell me how you have uploaded calib.hex?

another question, do you know that you can not use HaViMo and SX-100 simultaneusly?

Best regards,
Hamid.
Hello Hamid, I think that we are close of the solution of this.
Well the way to upload the file calib.hex is a simple transmit in the robot terminal, I read in you documentation that the calib.hex must be the bootloader program, then I tried to use the behavior control program and updating CM5 , but I receive errors, so like no other way to send data to the CM5 was found, only the Robot terminal ... and I think that I did a bad procedure ... It make me happy, please tell me what is the right way for uploading the calib.hex file.

Thanks a lot

Edwin :)




hamid_m wrote:Hi Edwin,

5932XC wrote:
I did as follows:
1) Upload of the calib.hex file
2) press MODE in CM-5
3) press "r" , pressing the space bar

the results:
The robot terminal: nothing in the screen
The CM5 : TXD and RXD blinking


don't worry, it seems that the firmware is not substituted (correctly) with "Calib.hex".
after uploading calib.hex, the only response of the CM5 should be "r".
it means you will have no more access to the command line and sure you can not use commands like CID any more!

would you please tell me how you have uploaded calib.hex?

another question, do you know that you can not use HaViMo and SX-100 simultaneusly?

Best regards,
Hamid.
5932XC
Newbie
Newbie
Posts: 5
Joined: Wed Jul 23, 2008 6:47 am

Post by hamid_m » Fri Jul 25, 2008 9:57 am

Post by hamid_m
Fri Jul 25, 2008 9:57 am

Hi Edwin,

yes it seems to be so,

the only way I know is to hold the key "#" and reset the CM5 while it is connected to the terminal to enter the bootloader.

then give the command "Load" or simply "L" and select the hex file from transmit menu.

after it is successfully finished, send command "Go"

if everything is Ok you should receive a letter "r" as the response.

do this and give me the reseult.

regards,
Hamid.
Hi Edwin,

yes it seems to be so,

the only way I know is to hold the key "#" and reset the CM5 while it is connected to the terminal to enter the bootloader.

then give the command "Load" or simply "L" and select the hex file from transmit menu.

after it is successfully finished, send command "Go"

if everything is Ok you should receive a letter "r" as the response.

do this and give me the reseult.

regards,
Hamid.
hamid_m
Savvy Roboteer
Savvy Roboteer
Posts: 133
Joined: Thu May 03, 2007 4:56 pm

PreviousNext
261 postsPage 5 of 181, 2, 3, 4, 5, 6, 7, 8 ... 18
261 postsPage 5 of 181, 2, 3, 4, 5, 6, 7, 8 ... 18