Author Topic: 21 Wireless Robots...Programming Advice Needed!  (Read 2654 times)

0 Members and 1 Guest are viewing this topic.

Offline joemcm63Topic starter

  • Beginner
  • *
  • Posts: 3
  • Helpful? 0
21 Wireless Robots...Programming Advice Needed!
« on: February 04, 2009, 06:40:10 PM »
I am part of a engineering senior project team tasked with creating a design for 21 robots that are able to reliably avoid obstacles for an art exhibit.  We have decided to use the MIT Cricket indoor positioning system to determine each robot's position.  Position data will be sent wirelessly to a base station with RS232.  Each robot has a Roboteq AX500 motor controller, which can be controlled by RS232.  We are programming an application to "map" the room and robot positions, then choose a new position and calculate L and R motor commands for each robot.

What is the best programming language to interface with several virtual COM ports at once and easily create a GUI?  We will also be running fairly complex triangulation algorithms and behavior algorithms, hopefully in parallel.

Right now we are looking at Visual Basic .NET, C# .NET, and C++.  Any advice or insight will help.  Thanks!

Offline cosminprund

  • Robot Overlord
  • ****
  • Posts: 284
  • Helpful? 8
Re: 21 Wireless Robots...Programming Advice Needed!
« Reply #1 on: February 05, 2009, 01:20:14 AM »
VB.NET and C# will generate exactly the same code and will use exactly the same libraries because they're both NET languages. Out of those two languages select the one you're more comfortable with.

C++: If you're talking about the C++ for .NET compiler then it's the same as with the VB.NET and C# compiler.
If it's not the "for .NET" compiler then it's a good choice; I'm pretty sure you'll find a nice library for serial communication. I personally don't like .NET so I'd never use but this is a matter of personal preference.

In my opinion your problem will mostly be at the algorithm level, there's *nothing* any of the languages brings to the table to really recommend it! I'll reiterate the same thought: Select the one you're most comfortable with and use that.

Offline madhephaestus

  • Beginner
  • *
  • Posts: 3
  • Helpful? 0
Re: 21 Wireless Robots...Programming Advice Needed!
« Reply #2 on: February 12, 2009, 06:00:24 PM »
right off the bat I would suggest using Python and the PySerial libraries. Talking to a serial port is as easy as a one line config to set up the port, one line to send a byte and one line to receve a byte. Python is one of the easiest langauges to pick up, it is interpreted so there is no need for strange compilers, and code that works on windows works with one small change (COM1 to /dev/ttyS0) on unix systems. It also has the glade gui maker, which is WYSIWYG.

Offline cosminprund

  • Robot Overlord
  • ****
  • Posts: 284
  • Helpful? 8
Re: 21 Wireless Robots...Programming Advice Needed!
« Reply #3 on: February 13, 2009, 01:06:42 AM »
Quote
it is interpreted so there is no need for strange compilers

Right. No need for strange compiler, you just need the strange interpreter on EVERY computer that runs the software. This argument doesn't usually work in favor of the interpreted languages.

Other then that I agree, Python is an nice language, too bad they had the strange idea of using indentation to mark blocks of code! It makes maintaining the code difficult, it makes copy-pasting code a pain: why didn't they use curly braces or begin/end or whatever to mark blocks, like all the sane people? Actually this is the only thing I hate about Python, the strange indented blocks concept.