Slashdot Mirror


Open Source Robot OS Finds Niches From Farms To Space

jfruh (300774) writes "Blue River Technology built a robot named LettuceBot that uses computer vision to kill unwanted lettuce plants in a field. Rather than build their creation from scratch, they built off of the Robot Operating System, an open source OS that, in the words of one engineer, 'allowed only a few engineers to write an entire system and receive our first check for service in only a few months.' With ROS robots starting to appear everywhere, including the International Space Station, it looks like open source may be making huge strides in this area."

10 of 36 comments (clear)

  1. What ROS is. by Anonymous Coward · · Score: 2, Informative

    For those like me who didn't know, it is the set of Linux packages enumerated here.

  2. The "lettuce bot" is mostly a vision system by Animats · · Score: 4, Informative

    The "lettuce bot" is an agricultural implement towed behind a tractor, not a robot. It's apparently a vision system that triggers fertilizer sprays. It's probably using the vision libraries that come with ROS, which are mostly improved versions of Intel's old OpenCV library.

    Vision-guided weeding is useful, but not new. Here's a computer vision controlled plasma weeding system. As the tractor pulls this implement along, the control system recognizes plants vs weeds, and zaps the weeds with a plasma jet, missing the plants. It's a sentry gun for weeding.

    There are more computer vision systems used in food processing than most people realize. Vegetable sorting is highly automated. The flawless tomatoes go to retail stores, and the flawed ones go to the tomato sauce plant. Vision-based sorting is so fast and cheap it can be applied to peas. This isn't exotic technology - it's production.

    1. Re:The "lettuce bot" is mostly a vision system by K.+S.+Kyosuke · · Score: 2

      You've been smoking too much weed of gray matter destruction.

      --
      Ezekiel 23:20
    2. Re:The "lettuce bot" is mostly a vision system by Missing.Matter · · Score: 2

      True to a point. One thin I've found with ROS is it encourages a lot of "black box" development. "connect these components and you'll have a working robot!" And you do.... until it doesn't work. And then you don't know why. One of the big promises of ROS is code reuse, but in my experience, the stuff that works reliably isn't particular sophisticated to begin with, and the rest you really should be writing yourself to ensure a robust robot you can actually debug. We've tried the "connect black boxes" approach, and by the time you've got a system that works the way you want, you've rewritten most of the code anyway.

    3. Re:The "lettuce bot" is mostly a vision system by PPH · · Score: 2

      Or what you have is an open source component that may work but stil may need some optimization. And once you have identified and fixed its shortcommings, you contribute those back to the community. Eventually, the tool becomes more robust and doesn't need as much parallel effort as a bunch of proprietary systems would.

      --
      Have gnu, will travel.
  3. Re:ROS by rusty0101 · · Score: 2

    Based on your observations, I would suspect that the intent of ROS is to let people get started with building a functional robot, without having to delve into the communications system to begin with. Whether the result is the least processor intensive solution possible is at best a tertiary goal. You don't write code in Java because it provides the fastest possible platform to run your code on. You don't develop in Python because you're planning on writing to the bare metal. You use these systems to put together a system that works for you, or that you can deploy in a changing environment, or across different providers hardware, or because you need something that works now.

    --
    You never know...
  4. On behalf of lettuce everywhere by maroberts · · Score: 2

    I just wish everyone would lettuce alone....

    --

    Donte Alistair Anderson Roberts - hi son!
    Karma: Chameleon

  5. Re:ROS by Anonymous Coward · · Score: 2, Interesting

    I had to write software that's able to send commands to ROS robots. Since ROS is a framework and I only needed the communication part I just wanted to implement the (tiny) communication protocol myself.
    The documentation was extremely vague, incomplete and did not match up with what their code actually did. Some claimed features weren't even implemented, although the code was extremely fundamental and not new or anything.
    The code quality was also terrible for an easy task of serializing some data into a 40 byte packet. It also looked extremely Java-like (they basically reimplemented things like ByteArray in C++ instead of using the standard library). They also obviously didn't understand pointers.
    I'd audit that code to the maximum before even considering actually using it.

  6. Re:ROS by HJED · · Score: 2

    It is designed for systems where you are using a large number of different technologies, possibly across multiple computers within the robot. (Although I raised exactly the same point you did when I started using it). It has a lot of existing libraries for various hardware components and makes it very easy to add more, which is very helpful when you don't have time to find and stick all the different libraries for these components together yourself.
    That being said the documentation, and official tutorials are absolutely terrible and often contain out of date information, or tell you to do things which are no longer available in the current release. This can add a lot of time to projects.

    --
    null
  7. Re:ROS by Missing.Matter · · Score: 2

    I use ROS for two things only: the interprocess communication system (with the nice data logging capabilities) and rviz, the data visualization tool. They can keep the rest. Also, it irks me that they call ROS an operating system, when it runs on top of Linux.