Modification of the Cursor Task Application

Forum for discussion on different user applications
Locked
aloplop
Posts: 41
Joined: 03 Sep 2008, 07:20

Modification of the Cursor Task Application

Post by aloplop » 03 Sep 2008, 07:30

Hello,

I would like to ask you if it is possible to develop an application like the one developed in the ASPICE project by modifying the CursorFeedBackTask Application.

I mean, I want to use mu rhythms to move a robot (unidimensional signal) by sending some commands (up, back, left, right), so I would like to see in the screen these buttons with two targets (left and right). Also the image from a webcam installed on the robot.

I do not know if it would be possible or if I need some help from another programs.

Thank you.

gschalk
Posts: 615
Joined: 28 Jan 2003, 12:37

CursorTask

Post by gschalk » 03 Sep 2008, 12:07

Hi,

Of course this is possible. Probably the best thing to do is to make sure you get good BCI control using the cursor task. Then, you may write an application that has the buttons and display that you need, and have this application fetch the cursor position from the CursorTask using the AppConnector protocol described on doc.bci2000.org.

Let us know if you have any additional questions.

Gerv

aloplop
Posts: 41
Joined: 03 Sep 2008, 07:20

CursorTask

Post by aloplop » 04 Sep 2008, 07:25

Hi,

thanks for your quick response Gerv. I forgot to mention that I am studying a degree in Telecommunications and this application will be used for my end-of-degree project. I have some additional questions about the application:

1) Would it be better if I develop it in the Borland C++ Builder using forms? What programme would you recommend to me instead of Borland Builder 6?

2) Is it possible to include the window offered by the CursorTask in my own application or I have to create a window including two rectangles and a circle which moves according to the position obtained using the AppConnector protocol?

3) If I type the IP and the port of the camera of the robot in a navigator, a java applet appears. Does anyone know if it is possible to include a java applet or load the content of an IP address (with the port) in a Builder form? I have not found anything about this on the internet yet.

Thank you.

gschalk
Posts: 615
Joined: 28 Jan 2003, 12:37

programming

Post by gschalk » 05 Sep 2008, 20:06

Hi,
1) Would it be better if I develop it in the Borland C++ Builder using forms? What programme would you recommend to me instead of Borland Builder 6?
If you use the AppConnector protocol, it is completely irrelevant what programming language or compiler you use. Borland Builder is fine, but so would Java, c#, or anything else you are comfortable with.
2) Is it possible to include the window offered by the CursorTask in my own application or I have to create a window including two rectangles and a circle which moves according to the position obtained using the AppConnector protocol?
Not really. You would have to create a window yourself. However, BCI2000 v2.0 has the capability to "mirror" the application window (just turn it on in the Visualization tab). This way, you could have a copy of the Application window on a different monitor (on the same machine). While technically it would be rendered by BCI2000, and not your program, you could position the windows such that it looked like it was part of your program.
3) If I type the IP and the port of the camera of the robot in a navigator, a java applet appears. Does anyone know if it is possible to include a java applet or load the content of an IP address (with the port) in a Builder form? I have not found anything about this on the internet yet.
Because the java applet is stored on the robot, I am not sure how you would do that.


Gerv[/quote]

aloplop
Posts: 41
Joined: 03 Sep 2008, 07:20

CursorTask

Post by aloplop » 12 Sep 2008, 04:10

Hi,

thanks for your useful help Gerv. Finally I have developed a simple GUI using the AppConnector protocol and the Borland C++ Builder 6.
To develop my application I have followed the method used in the AppConnector Example.

1) To see the applet stored in the Robot I use a component called TCppWebBrowser which allows you to load a web page into it (it´s a kind of window). It works correctly.

2) The AppConnector protocol works properly but only in one way: from the CursorTask Application to my programme. So the recConnection described in the AppConnector Example documents is the one which works. If I execute "cmd" and then type "netstat -a" only the UDP port associated with the recConnection appears, but the other associated with sendConnection doesn´t.

3) If I go to the Connector tab in the operator module, writing a ConnectorOutput Address is possible (my cursor moves perfectly) but when I try to include a ConnectorInput Address in the System Log appears:
Application: caught exception _STL::out_of_range (vector),
terminating module.
Finally, I think I won´t use this capability of the AppConnector protocol (writing a state in the BCI2000, just reading them to show what I want), but the solution may help someone in the future.

Thanks.

mellinger
Posts: 1097
Joined: 12 Feb 2003, 11:06

Post by mellinger » 12 Sep 2008, 09:19

Thanks for reporting the bug--it's fixed now.

Regards,
Juergen

Locked

Who is online

Users browsing this forum: No registered users and 1 guest