HOW TO CONTROL ROBOT
HOW TO CONTROL ROBOT
I have designed the modularEEG board by myself... Its work perfectly with openvibe..
Now i want to generate command to be send to microcontroller to control my robot to turn left, right and to go straight... i hav placed the electrode at cz for foot(straight), c3 and c4 for right and left...
but i dont know how to design the boxes in openvibe designer to generate those commands... CAN YOU HELP ME PLEASE???
Now i want to generate command to be send to microcontroller to control my robot to turn left, right and to go straight... i hav placed the electrode at cz for foot(straight), c3 and c4 for right and left...
but i dont know how to design the boxes in openvibe designer to generate those commands... CAN YOU HELP ME PLEASE???
Re: HOW TO CONTROL ROBOT
Hi ash06005,
Thanks for your interest in this project !
I deleted the duplicate topics.
We are doing our best to answer questions on the forum with a reduced staff these weeks.
Please be patient, adding more and more topics doesn't help
First, I must warn you: multiclass classification usually requires much more electrodes to be efficient. For example the given scenarios in share/openvibe-scenarios/bci/motor-imagery uses 10 electrodes to handle the 2 classes right/left hand movements.
- motor-imagery-bci-classifier-trainer.xml shows how to train a 2-class classifier.
- motor-imagery-bci-online.xml shows how to use a classifier processor to generate the online classification results.
If you are talking about "how to connect openvibe to your robot controller", you can use VRPN protocol, with the 2 usual parts :
- A VRPN button server box for the openvibe side
- A home-made VRPN client that will read the classification results on the VRPN server and transmit orders to your robot.
hope this help !
Laurent
Thanks for your interest in this project !
I deleted the duplicate topics.
We are doing our best to answer questions on the forum with a reduced staff these weeks.
Please be patient, adding more and more topics doesn't help
Good job ! and thanks for the feedback...I have designed the modularEEG board by myself... Its work perfectly with openvibe..
Ok so you want to control a robot with a 3-classes BCI (movements of the feet/right hand/left hand), am I right ?Now i want to generate command to be send to microcontroller to control my robot to turn left, right and to go straight... i hav placed the electrode at cz for foot(straight), c3 and c4 for right and left...
First, I must warn you: multiclass classification usually requires much more electrodes to be efficient. For example the given scenarios in share/openvibe-scenarios/bci/motor-imagery uses 10 electrodes to handle the 2 classes right/left hand movements.
If you want the signal processing chain, we can't give you a plug-and-play solution. But you can look at the sample scenarios:but i dont know how to design the boxes in openvibe designer to generate those commands...
- motor-imagery-bci-classifier-trainer.xml shows how to train a 2-class classifier.
- motor-imagery-bci-online.xml shows how to use a classifier processor to generate the online classification results.
If you are talking about "how to connect openvibe to your robot controller", you can use VRPN protocol, with the 2 usual parts :
- A VRPN button server box for the openvibe side
- A home-made VRPN client that will read the classification results on the VRPN server and transmit orders to your robot.
hope this help !
Laurent
Re: HOW TO CONTROL ROBOT
Thank you very much for ur suggestion
I have tested with simple program to know what commands that vrpn server sends I checked with the hyperterminal but it receive only the vrpn version only once.... CAN OPENVIBE SEND COMMANDS DIRECTLY TO SERIAL PORT
I have tested with simple program to know what commands that vrpn server sends I checked with the hyperterminal but it receive only the vrpn version only once.... CAN OPENVIBE SEND COMMANDS DIRECTLY TO SERIAL PORT
Re: HOW TO CONTROL ROBOT
If you are not running a VRPN client, the server won't send a thing to your hyperterminal. The server only sends the vrpn version number, and wait for the same number from a client side.I have tested with simple program to know what commands that vrpn server sends
If you want to know more about VRPN protocol, I suggest you look here. You can also find under openvibe-application/vr-demo/branches/wip-lbonnet some examples of VRPN use (in this case to interact with a VR application made with Ogre3D). The file you may want to look is CAbstractVrpnPeripheral.cpp/h.
No. But feel free to contribute by implementing a box that does that !CAN OPENVIBE SEND COMMANDS DIRECTLY TO SERIAL PORT
Regards
Laurent
Re: HOW TO CONTROL ROBOT
Hi.
To complete what you want you have to pass thought VRPN.
OpenVibe act as a VRPN device (aka VRPN server) and the "thing" you want to control have to be a VRPN client.
How to do ?
It's depend on your "thing". For a robot connected via USB or Serial port to a PC, you have to write a program to catch VRPN events and throw command using you transfert protocol.
If you can detect the brainstates with OV, send them via "VRPN Button" box... you just have to take a look at the VRPN website to know how to create a VRPN client.
ps : I am working on VRPN Manager to simplify VRPN Client code, If you can wait I think I can finish it for sunday night.
To complete what you want you have to pass thought VRPN.
OpenVibe act as a VRPN device (aka VRPN server) and the "thing" you want to control have to be a VRPN client.
How to do ?
It's depend on your "thing". For a robot connected via USB or Serial port to a PC, you have to write a program to catch VRPN events and throw command using you transfert protocol.
If you can detect the brainstates with OV, send them via "VRPN Button" box... you just have to take a look at the VRPN website to know how to create a VRPN client.
ps : I am working on VRPN Manager to simplify VRPN Client code, If you can wait I think I can finish it for sunday night.
Naëm Baron
CV : http://bee-oh.esiea-ouest.fr/baron/index.xml
CV : http://bee-oh.esiea-ouest.fr/baron/index.xml
Re: HOW TO CONTROL ROBOT
THANKYOU very much Mr.Naëm Baron,
HAV U SIMPLIFY THE VRPN CLIENT CODE. send the code as soon as u finish... since i am not familiar with codings give me guidance how to implement it.. I am using atmega8 microcontroller for controlling my robots....
HAV U SIMPLIFY THE VRPN CLIENT CODE. send the code as soon as u finish... since i am not familiar with codings give me guidance how to implement it.. I am using atmega8 microcontroller for controlling my robots....
Re: HOW TO CONTROL ROBOT
hi asho6005,
I am also doing my BCI project to control LEGO robot movement using EEG signal(eye movements -left, right and blink).Can you give me some idea how to proceed in the project and about this VRPN protocol
I am also doing my BCI project to control LEGO robot movement using EEG signal(eye movements -left, right and blink).Can you give me some idea how to proceed in the project and about this VRPN protocol
Re: HOW TO CONTROL ROBOT
Dear pickku,
you should be aware that eye movements -left, right and blink is not EEG. EEG stands for Electroencephalography ; this is a measurement method for brain activity. Eye movements and blinks mostly generate muscular activity and this is called Electromyography or EMG. By the way, both kind of information can be measured with the same device most of the time. And still, controlling a robot with EMG could be fun but this is probably not BCI as the Brain is not involved here.
Hope this helps,
Yann
you should be aware that eye movements -left, right and blink is not EEG. EEG stands for Electroencephalography ; this is a measurement method for brain activity. Eye movements and blinks mostly generate muscular activity and this is called Electromyography or EMG. By the way, both kind of information can be measured with the same device most of the time. And still, controlling a robot with EMG could be fun but this is probably not BCI as the Brain is not involved here.
Hope this helps,
Yann
Re: HOW TO CONTROL ROBOT
thankyou for reply. First step in my project I want to do is controlling robot using eye movements then if the process succeeds I will move on controlling robot using EEG.I read your post I hope you can help and guide me,since you have done somewhat related to my project.Can you help me sir,because this is new area in our domain and no one knows about openvibe or Emotiv.
Yesterday I acquired signal using Emotiv and it works fine for blink and left and right eye movements.After this I am strucked what to do.????:(
Yesterday I acquired signal using Emotiv and it works fine for blink and left and right eye movements.After this I am strucked what to do.????:(
Re: HOW TO CONTROL ROBOT
Dear pickku,
thank you for this positive feedback. As regarding to your question "what to do next", I suggest you try to tell us more about what you want to do. Giving us more details will help you know what knowledge is missing, then you will be able to ask questions where we can help, not do it for you... hopefully you will even be able to find the answers in the documentation yourself
I sincerely hope this helps you !
Yann
thank you for this positive feedback. As regarding to your question "what to do next", I suggest you try to tell us more about what you want to do. Giving us more details will help you know what knowledge is missing, then you will be able to ask questions where we can help, not do it for you... hopefully you will even be able to find the answers in the documentation yourself
I sincerely hope this helps you !
Yann
Re: HOW TO CONTROL ROBOT
Thankyou for your reply sir.
My project is based on EEG.I acquired signals using Emotiv EPOC for eyemovements(left,right,up,down and blink)and visualized in openvibe, I want to extract the features saying eye blink or up/down movement happened and I want to classify it and training should be done if any eye movement is occuring to notify which type of eye movement occured whether blink,up or etc.
After this I want to use this signal to control the movement of NXT LEGO robot.
This I want to do with short period can u help me.
My project is based on EEG.I acquired signals using Emotiv EPOC for eyemovements(left,right,up,down and blink)and visualized in openvibe, I want to extract the features saying eye blink or up/down movement happened and I want to classify it and training should be done if any eye movement is occuring to notify which type of eye movement occured whether blink,up or etc.
After this I want to use this signal to control the movement of NXT LEGO robot.
This I want to do with short period can u help me.
-
- Posts: 2
- Joined: Tue Jun 14, 2011 7:07 am
Re: HOW TO CONTROL ROBOT
sir, we are from India ....doing a project on brain actuated robotic control........
we need to communicate openvibe with the visual
basic program (created for our robot control)....as per my knowledge openvibe offers only one
possible way to communicate with an external device (robot ) as a VRPN
(VIRTUAL REALITY PERIPHERAL NETWORK) client.....ie we must initialize
our robot as a vrpn client and the vrpn server of the openvibe
communicates through this......unfortunately we cant understand the
initialization (vrpn client) program......can you help us.......??
is there any other options for interfacing visual basic pgm with openvibe?
sir pls do answer its urgent,i need ur reply..............
..........anticipating your reply.
we need to communicate openvibe with the visual
basic program (created for our robot control)....as per my knowledge openvibe offers only one
possible way to communicate with an external device (robot ) as a VRPN
(VIRTUAL REALITY PERIPHERAL NETWORK) client.....ie we must initialize
our robot as a vrpn client and the vrpn server of the openvibe
communicates through this......unfortunately we cant understand the
initialization (vrpn client) program......can you help us.......??
is there any other options for interfacing visual basic pgm with openvibe?
sir pls do answer its urgent,i need ur reply..............
..........anticipating your reply.
Re: HOW TO CONTROL ROBOT
Hi,
To my knowledge it is the best (and maybe only way) to communicate with an external device if you do not want to write your own box for communication over usb, serial port or even http...
On http://www.thewired.be/blog/wp-content/ ... enViBE.zip you can find a sample Analog VRPN project. The code you're interested in is in Openvibe.cpp
It first creates an analog vrpn object with a name that identifies the analog openvibe server (as defined in OpenViBE's corresponding box)
then it registers a function handle that it will call to process the incoming data
finally you call the vrpn mainloop
Then you still need to implement the function that you registered with the vrpn object
Also, the example code that lbonnet posted above could help you out in finding out how VRPN works:
Hope this puts you on the right track,
Best regards,
Dieter Devlaminck
To my knowledge it is the best (and maybe only way) to communicate with an external device if you do not want to write your own box for communication over usb, serial port or even http...
On http://www.thewired.be/blog/wp-content/ ... enViBE.zip you can find a sample Analog VRPN project. The code you're interested in is in Openvibe.cpp
It first creates an analog vrpn object with a name that identifies the analog openvibe server (as defined in OpenViBE's corresponding box)
Code: Select all
ana = new vrpn_Analog_Remote("openvibe-vrpn@localhost");
Code: Select all
ana->register_change_handler(NULL, &handle_analog);
Code: Select all
while ( 1 ){
// Let the analog device do its thing
ana->mainloop();
}
Code: Select all
void VRPN_CALLBACK handle_analog(void *userdata, vrpn_ANALOGCB b){
}
lbonnet wrote:If you want to know more about VRPN protocol, I suggest you look here. You can also find under openvibe-application/vr-demo/branches/wip-lbonnet some examples of VRPN use (in this case to interact with a VR application made with Ogre3D). The file you may want to look is CAbstractVrpnPeripheral.cpp/h.
Hope this puts you on the right track,
Best regards,
Dieter Devlaminck
-
- Posts: 2
- Joined: Tue Jun 14, 2011 7:07 am
Re: HOW TO CONTROL ROBOT
thank you sir .......thanks for the reply ..........happy that you people are there to help us....i will contact u if any doubt arises in between...........