go_away

Author Topic: Choice of Robot Programming Language  (Read 2491 times)

0 Members and 1 Guest are viewing this topic.

Offline AlligatorTopic starter

  • Beginner
  • *
  • Posts: 2
  • Helpful? 0
Choice of Robot Programming Language
« on: May 17, 2014, 01:20:53 PM »
I have a robot that I will be constructing that will have fairly large motors and quite a few sensors (Kinect, ultrasonic, LIDAR, camera, GPS, etc.).  I was considering using a computer with Python and a small Arduino to control this robot.  I could use the Arduino to read some of the sensors, pass information to the computer, and use the computer to do the heavy computational lifting.  I could also use the Arduino to interface to a motor controller, relays, etc.  The computer will be an Intel i5, so it has the horsepower necessary.

I'm also aware of the Robotic Operating System (ROS), but this seems fairly complex to learn.  I understand I could also use LabView (expensive hardware) or Matlab.

Given that I already know some Python and how to program an Arduino, should I stick with these, or go with something a little more robust?  I'm not afraid to learn, I just don't want to go down the wrong path.

What language or software should I use?

Offline muilenta

  • Beginner
  • *
  • Posts: 5
  • Helpful? 0
Re: Choice of Robot Programming Language
« Reply #1 on: October 24, 2014, 12:11:52 PM »
I'm using visual studio, and opencv for computer vision.  You can use rs232 via usb to talk to a sensor board of your choice for input output.

Offline jcicolani

  • Beginner
  • *
  • Posts: 1
  • Helpful? 0
Re: Choice of Robot Programming Language
« Reply #2 on: October 25, 2014, 09:50:08 AM »
If you are familiar with Python and intend to do any high level functions, I strongly suggest investing the time to learn ROS. I spent a year mucking about with other options and in the end turned to ROS. It has a large community of supporters and already has pre-built packages to handle just about anything you want to do. I should have heeded my friends' suggestions and started there.

Offline Kohanbash

  • Supreme Robot
  • *****
  • Posts: 430
  • Helpful? 1
Re: Choice of Robot Programming Language
« Reply #3 on: October 25, 2014, 08:42:02 PM »
Python is great for doing things quick, however it is also slow for doing serious processing.

ROS has a learning curve but it also can save you a lot of time. There are ROS drivers for many devices from motor controllers to sensors. It also has a lot of the infrastructure code for you such as message passing between processes, logging, user interfaces, and visualization tools.
Robots for Roboticists Blog - http://robotsforroboticists.com/

Offline swordmaster2k

  • Jr. Member
  • **
  • Posts: 8
  • Helpful? 1
Re: Choice of Robot Programming Language
« Reply #4 on: November 14, 2014, 06:38:44 AM »
It all depends on what you want from the project, maximum learning outcome via python, or better scaling (ROS). If your using Computer Vision and Kinect ROS is probably the better option, ROS also appears to have a  python API.

I'm currently engaged on a 9 month robotics project based around path planning. I made the decision of python over ROS because I wanted to understand everything from the ground up rather than using preexisting solutions. I have a Arduino/Pi to Host Computer setup using encoders, laser, sonar, optical flow, etc... Python is suitable for most robotics projects and its speed issues can normally be addressed by extending it with C.

Offline SeekingVision

  • Jr. Member
  • **
  • Posts: 14
  • Helpful? 0
Re: Choice of Robot Programming Language
« Reply #5 on: November 19, 2014, 08:52:11 AM »
I'm trying to use a computer to control all decisions and want to use vs c++ for everything but in the interest of moving things along quicker with hardware interactions development, I use vb and pass info back and forth between programs using the clipboard. It the end I will have the whole system running on c++ but that will require a lot of time to accomplish. Use what ever works for you and then if you need more speed just port it to a faster group of code. That's my take anyway.
Robots are our children and will inherit the Earth.

 


Get Your Ad Here