Fischertechnik+smartphone
Forumsregeln
Bitte beachte die Forumsregeln!
Bitte beachte die Forumsregeln!
Fischertechnik+smartphone
I'm happy to annonce a new project I've been working on which could be pretty usefull to some robotics fans. I was looking into alternate ways of controlling fischertechnik robots and I figured it would be interesting to control robots using a smartphone. I've been working on a nice solution for controlling robots with a smartphone. I've written an iOS and android app which connects to the robo tx controller through a desktop application I wrote. In this way its possible to control fischertechnik models using your smartphone's accelerometer/touchscreen.
Here's a demo video: http://www.youtube.com/watch?v=9I6dy1hK9vE
The software will be avaiilable soon, I just have to finish up a few more things.
I would have wrote this in german, but my german isn't that good...
Feel free to ask me any questions if anything isn't clear (I can read german, dutch and english)
Here's a demo video: http://www.youtube.com/watch?v=9I6dy1hK9vE
The software will be avaiilable soon, I just have to finish up a few more things.
I would have wrote this in german, but my german isn't that good...
Feel free to ask me any questions if anything isn't clear (I can read german, dutch and english)
Re: Fischertechnik+smartphone
Hello,
I think it's a really great idea to use a smartphone or an iPod touch to control robots witht the TX-C, I miss(ed) it, so I am really happy to read this. As I saw in the video it works great, but is it possible to change the motor outputs in your program of the motors, which drive the car? And what are your ideas for the future? Do you will programm something as 'RoboPro' for smartphones?
Thanks for answering.
Regards McDoofi
I think it's a really great idea to use a smartphone or an iPod touch to control robots witht the TX-C, I miss(ed) it, so I am really happy to read this. As I saw in the video it works great, but is it possible to change the motor outputs in your program of the motors, which drive the car? And what are your ideas for the future? Do you will programm something as 'RoboPro' for smartphones?
Thanks for answering.
Regards McDoofi
Re: Fischertechnik+smartphone
Can you be more clear about the architecture of your connection?
You are using the phone as a simple controller.
If I understood well:
-) TX-C in the online mode, connected with a desktop (under Windows?)
-) The smartphone is communicating with the PC.
But were you are running the implemention of the control algoritmes?
In general, it is not so difficult to bring the TX-C under control of a webserver or SOAP server which is running under Windows.
MS robotics Developer Studio does offerr for these kind of application a very good frame work.
Event for distribution over the internet, this means that several (Robot) devices can be connected with different WIndow machine and controlled in one MS-RDS program.
There are probably Services for the integration of resource like mobile phones into the MS-RDS system.
Like there are also services for the use of WII controllers, XBOX Kinect controller, etc.
You are using the phone as a simple controller.
If I understood well:
-) TX-C in the online mode, connected with a desktop (under Windows?)
-) The smartphone is communicating with the PC.
But were you are running the implemention of the control algoritmes?
In general, it is not so difficult to bring the TX-C under control of a webserver or SOAP server which is running under Windows.
MS robotics Developer Studio does offerr for these kind of application a very good frame work.
Event for distribution over the internet, this means that several (Robot) devices can be connected with different WIndow machine and controlled in one MS-RDS program.
There are probably Services for the integration of resource like mobile phones into the MS-RDS system.
Like there are also services for the use of WII controllers, XBOX Kinect controller, etc.
Re: Fischertechnik+smartphone
I have a server application which runs on windows, this application receives basic, commands like, left, right, stop, etc. from the smartphone. This application then reads a configuration file containing which outputs should be on and off and sends the correct commands to the robo tx interface. I'm not using MS-RDS at the moment, I still have to explore it's possibilities. The server application is just a C# .net application using the fishface libraries from ftcomputing.de. I built the server in a way that only one robot can be connected and only one client can be connected at once. The server also supports control from a webbrowser using websockets.
Re: Fischertechnik+smartphone
At the moment there's just a text file where you can add commands like M1Stop, M3Right, etc.McDoofi hat geschrieben:Hello,
I think it's a really great idea to use a smartphone or an iPod touch to control robots witht the TX-C, I miss(ed) it, so I am really happy to read this. As I saw in the video it works great, but is it possible to change the motor outputs in your program of the motors, which drive the car? And what are your ideas for the future? Do you will programm something as 'RoboPro' for smartphones?
Thanks for answering.
Regards McDoofi
For the future I'm looking into a system where the device connects to the tx controller directly over Bluetooth. Though this will be pretty complicated and I don't know if I'll succeed in doing that.
Re: Fischertechnik+smartphone
My suggestion is to add the dotNet application that is responsable for the connection with the smartphone into the MS-Robotics Developer Studio system as a Joystick like device.
See for example the Virtual Desktop Joystick.
For the algorithmes which are controlling the (Fichertechnik) Robot, it does not matter if the control commands are coming from the smartphone, IPad, Ipot, WII controller or balance board, XBOX Kinect, web application, etc.
This is the nice and powerful concept in MS-RDS.
See for example the Virtual Desktop Joystick.
For the algorithmes which are controlling the (Fichertechnik) Robot, it does not matter if the control commands are coming from the smartphone, IPad, Ipot, WII controller or balance board, XBOX Kinect, web application, etc.
This is the nice and powerful concept in MS-RDS.
Re: Fischertechnik+smartphone
Thanks for the suggestion, I'll try out some stuff in MS-RDS. I just have one question though, can I easily distribute something made in MS-RD, will the end-user need to install any dependencies to use my application?
Re: Fischertechnik+smartphone
Distribution is easy.
You can create a MS-RDS install package with
.\bin\dssdeploy.exe deployment tool.
The end user will only need the service binaries.
The tool need only the contract name of your service and it create the package with all the alternated services in it.
You can create a MS-RDS install package with
.\bin\dssdeploy.exe deployment tool.
The end user will only need the service binaries.
The tool need only the contract name of your service and it create the package with all the alternated services in it.
Re: Fischertechnik+smartphone
I was wondering, what is the real advantage of using MS-RDS instead of just calling the functions from the ftscmlib dll?
Re: Fischertechnik+smartphone
@justins:
Did you already use the new ftMscLib.dll for the TX-C firmware 1.24 for your project?
Did you already use the new ftMscLib.dll for the TX-C firmware 1.24 for your project?
Gruß ftDirk
Re: Fischertechnik+smartphone
I'm currently using the old FtMscLib for TX-C firmware 1.18, did allot change in version 1.24?
Re: Fischertechnik+smartphone
With MS-RDS you get a complete infrastructure for robot interfacing and sing other resources.
VPL is offering a way to control robot on a very abstract level.
A nice visual programming language. Message flow oriented concept is nice and more powerful then work flow oriented concept,
A 3D simulation environnement.
The CCR and DSS technologie.
Real concurrency both in case of more cores or more CPU’s (also distribution over a network).
Because of the layer concept of MS-RDS, you don’t notice these technologies at the top level.
The ability to develop you own Visual elements. In fact the Visual element is a kind of a summary from your text based development.
Notification (event) driven programming.
etc
VPL is offering a way to control robot on a very abstract level.
A nice visual programming language. Message flow oriented concept is nice and more powerful then work flow oriented concept,
A 3D simulation environnement.
The CCR and DSS technologie.
Real concurrency both in case of more cores or more CPU’s (also distribution over a network).
Because of the layer concept of MS-RDS, you don’t notice these technologies at the top level.
The ability to develop you own Visual elements. In fact the Visual element is a kind of a summary from your text based development.
Notification (event) driven programming.
etc
Re: Fischertechnik+smartphone
1.24 firmaware is part of RoboPro 3.1.2.
1.24 differens on some points from 1.18.
See the new FtMscLib documentation on the Fischertechnik download site.
1.24 differens on some points from 1.18.
See the new FtMscLib documentation on the Fischertechnik download site.
Re: Fischertechnik+smartphone
Hello justins,
I like your idea. I'm also working on application that allow to control the robotx with the handy directly through bluetooth. Check this link - http://robotxcontrol.sourceforge.net.
I like your idea. I'm also working on application that allow to control the robotx with the handy directly through bluetooth. Check this link - http://robotxcontrol.sourceforge.net.
==
ft-ninja
ft-ninja
Re: Fischertechnik+smartphone
Suggestion:
This problem can be solved very simple in case the cell phone is able to act as a node in the TX-C Bluetooth message system.
I that case the cell phone can send and receive the normal command messages as they are in use inside RoboPro.
I that case a RoboPro program is able to dela with the messages.
I did this before white the RoboInterface on RS232 level and the message system that runs on the Robo Interface
This problem can be solved very simple in case the cell phone is able to act as a node in the TX-C Bluetooth message system.
I that case the cell phone can send and receive the normal command messages as they are in use inside RoboPro.
I that case a RoboPro program is able to dela with the messages.
I did this before white the RoboInterface on RS232 level and the message system that runs on the Robo Interface
Re: Fischertechnik+smartphone
@ft-ninja, wow great job, I see you managed to make a direct connection from your handy to the robot. Pretty soon I won't need to bring my computer to exhibitions anymore. I've been trying to do something like this with the iPhone, but I think I probably have to gain some more knowledge about Bluetooth before I'll get anything working.
I guess my server solution has one great advantage though, I could have anyone control my robot over the internet using this little control panel.
@vleeuwen having the cell phone act as a node in the TX-C Bluetooth message system is a good idea, but still very difficult for me to accomplish I think. Though I was also thinking of making my server application hook onto robo pro and send it messages, so people can integrate the smartphone control into their existing robo pro programs.
I guess my server solution has one great advantage though, I could have anyone control my robot over the internet using this little control panel.
@vleeuwen having the cell phone act as a node in the TX-C Bluetooth message system is a good idea, but still very difficult for me to accomplish I think. Though I was also thinking of making my server application hook onto robo pro and send it messages, so people can integrate the smartphone control into their existing robo pro programs.
Re: Fischertechnik+smartphone
@Justin
You need to determine the right BT protocol but that seems to be rather difficult.
Do you have an idea of how to hook onto your program to RoboPro?
Do you now how RoboPro operates?
WIth the Robo Inerface FtLib (FtLib) there were two calls which enable data exchange in the offline mode.
This call does not exist in the FtMscLib.
Before the integration of the FT(Msc)Lib into the executable there was an other possibility but this is past.
A good web server to connect the FtMscLib is not new. In the past there were more example of Ipad etc. doing the same.
The MS-RDS build in web server HTTP part is also offering bidirectional HTTP traffic, this enables you to see the actual Input state on you virtual joystick. In case of the use of AJAX and SIlverlight this can gice a very nice virtual control screen.
The main problem with two BT connection (TX-C<->PC PC<-> smartphone) is that the double latency would be a problem in case of a closed control loop that is running on the smartphone.
You need to determine the right BT protocol but that seems to be rather difficult.
Do you have an idea of how to hook onto your program to RoboPro?
Do you now how RoboPro operates?
WIth the Robo Inerface FtLib (FtLib) there were two calls which enable data exchange in the offline mode.
This call does not exist in the FtMscLib.
Before the integration of the FT(Msc)Lib into the executable there was an other possibility but this is past.
A good web server to connect the FtMscLib is not new. In the past there were more example of Ipad etc. doing the same.
The MS-RDS build in web server HTTP part is also offering bidirectional HTTP traffic, this enables you to see the actual Input state on you virtual joystick. In case of the use of AJAX and SIlverlight this can gice a very nice virtual control screen.
The main problem with two BT connection (TX-C<->PC PC<-> smartphone) is that the double latency would be a problem in case of a closed control loop that is running on the smartphone.
Zuletzt geändert von vleeuwen am 11 Feb 2012, 16:16, insgesamt 1-mal geändert.
Re: Fischertechnik+smartphone
Yes, I managed to hook my program onto Robo pro, using a couple windows APIs to send it messages, simulating button presses. This isn't the perfect sollution yet, but it seems to work pretty well. Here's a small demo: http://youtu.be/vuiZ4zEf_m0
Re: Fischertechnik+smartphone
Looks intresting and this could also opens another way to a connection with the XBOX Kinect.
With MS-RDS this is very easy.
With MS-RDS this is very easy.
Zuletzt geändert von vleeuwen am 11 Feb 2012, 17:10, insgesamt 1-mal geändert.
Re: Fischertechnik+smartphone
I'll be open sourcing all the software I wrote pretty soon.