Page 1 of 1

New project advice needed

PostPosted: Sat Sep 27, 2014 2:05 pm
by Medelwr
Hi,

I'm considering purchasing the Rover 5 Seeeduino / Arduino Robot Kit but as I am a beginner in the robotics area and have no idea what the limitations of the hardware is I would love some advice.

To preface this I did have a look at your workshop version of this robot with the raspberry pi. It seemed very overly complicated and expensive for what I'm trying to accomplish for this project. Also there may be a better way to do it now.

I'm looking to add a low ress camera (No idea which one because there is minimal information on arduino cameras..) onto the existing rover hardware.

I wouldn't be using the wall follower code but rather I would have it roam and when it finds an object it would trigger the camera to take a picture of the object. The picture would then be processed and the height of the object would be determined. This would determine if the robot can go over the object or if it has to go around it. The object could be no higher than a note pad of course if it was to go over it.

So phase 1 of the project would be to get the robot free roaming and the detecting an object.
phase 2 getting the object detection to trigger the camera to take a picture and store it on an on board SD card. For the image processing I would prefer it to be processed on board but another option would be to transfer the image to my PC through a bluetooth or wifi shield and then sending a command string back to the bot.

I have until next April to get this working and want to get the hardware sorted as soon as possible. Is this a viable project with the hardware in the kit or how could I make this work with minimal expense.

I did look at your raspberry pi camera robot but I don't think it would be capable of getting over objects without tank threads.

Re: New project advice needed

PostPosted: Mon Sep 29, 2014 3:15 pm
by Alan
Hello,

Thank you for your interest in our kit. I agree with your assessment that the Raspberry Pi robot we built for the workshop was a bit overcomplicated, although we were under a bit of time pressure whilst building it, having agreed to run the workshop before we had a working robot. ;)

For your project, I think that a Raspberry Pi would give you a lot of flexibility, and not add too much to the cost. It is possible to add cameras to an Arduino project using something like the Pixy, or alternatively an analog camera, but it can be expensive, and you'll start to eat into the already limited memory of the Arduino.

To add a Raspberry Pi to our Rover 5 kit, the items you need are

  • Raspberry Pi (Model B or B+ needed due to requirement for 2 USB ports)
  • Raspberry Pi camera
  • USB battery pack (to power the Pi)
  • USB WiFi dongle (preferably the Edimax EW-7811UN, but others will work)
  • SD Card (4GB or greater)
  • Modified version of our raspberry_pi_camera_bot, I have a new rover experimental branch whilch I'll check in later today

Now, I'd love it if you bought those parts from us, but you'll notice on our website, that our prices for those are not the most competitive. :roll: This is because we're not currently buying in the quantities needed to get a useful discount, and so I mainly stock the items as a convenience for people who want to quickly get everything in one place. If you shop around, or if you already have some of those items then you'll probably find that the cost of turning the Rover 5 kit into a Raspberry Pi kit is comparable to adding a camera to an Arduino robot. Also, development just becomes a bit more comfortable when you have 512MB of RAM and Python to play around with. :D

Hope that gives you the main info you need. Please let me know if you need more detail anywhere.

Regards

Alan

Re: New project advice needed

PostPosted: Mon Sep 29, 2014 9:19 pm
by Medelwr
Thank you for the great response.

The PIXY camera looks very promising. Do you know if it can do ALL of it's own processing without a computer. It seems to work that you can teach it an object without a computer and then it'll look for a similar object. I'm a bit confused on how this works. The goal as I said is to make this robot independent from a computer or user input apart from the initial teaching.

I would certainly love to give you my business because I love how active you are with your responses and feedback and feel like it would be very easy to get any issues resolved. But, I'm a bit skeptical about your Rover 5s hardware for my project needs. Does it have an actual Arduino UNO on board or what exactly is this Seeeduino.

I'm trying to determine if this PIXY camera would be compatible with the basic Rover 5 or would I need more hardware.

I've revised my projects end goal as I don't think the height thing is viable, at least not easy to do with image processing.

Phase 1 of the project will remain the same. The robot will free roam and if it detects and object in its path it'll find a new path.

Phase 2 will still be processing an image but I think a more viable end game would be to make the robot a search robot which is made possible by the PIXY. So I would show it an object and let it free roam as outlined in phase 1. The camera would be mounted on the pan/tilt arm on it's own and would scan around the robot looking for the object. I assume the PIXY gives a feed and doesn't just take pictures. I'm also assuming that the PIXY can independently look for the object without help from the arduino. When it finds the object it will tell the arduino and then the bot will go over to it or do some other task.

What hardware setup would you recommend for the project that I outlined. Would you recommend me to get the Rover 5 and add a PIXY cam? Like I said I have no idea what this seeeduinos capabilities are in comparison with an Arduino UNO.

As you know I'm attempting to make an autonomous robot that won't require a computer. The PIXY cam allows for this I believe because I can show it the object and it'll know what to look for without a computer which is great.

Again, thanks for the response it's great to have someone to ask who knows about this because for a beginner in robotics the sheer amount of hardware you can buy is daunting to say the least.

Re: New project advice needed

PostPosted: Tue Sep 30, 2014 12:42 pm
by Alan
Hi there,

The Pixy finds objects by learning their colour signature. This page explains in more detail about how it works, but the main thing to realise is that if two items are close enough in colour, then they will look the same to the Pixy. Now, the Pixy does offer the option of using colour codes, which identify objects that have a number of colour tags placed next to each other (so you can have more unique objects). Are you allowed to place tags or markers on objects for your robot to identify?

The Pixy consists of an LPC4300 microcontroller, talking to a camera chip (you can find loads of useful stuff on their documents page). Reading the start of the LPC4300 manual, it looks like it's a pretty powerfull microcontroller. Much more powerful than the microcontroller on the Arduino, but also harder to program. Because the software for the Pixy is open source, this means that you can either modify the software (see here, and here) or alternatively you could take its object (blob) detection code and convert it to run on something else like the Raspberry Pi.

With regards to the Rover 5, the Seeeduino is an Arduino compatible board made by Seeedstudio. The Seeeduino is compatible with the Arduino Duemilanove (which was the version of the Arduino before the Uno). They both use the same main chip however (Atmega328p) and apart from a change in the USB to serial convertor and a smaller bootloader, there isn't really a noticeable difference. The main reason that we use the Seeeduino board over the Uno is that the Seeeduino exposes an extra 2 ADC pins so you get an extra two anlog input pins which can be useful. This is possible because the Seeeduino uses the surface mount version of the Atmega328p. The process of programming the Seeeduino is exactly the same as programming an official Arduino.

For your project, the best approach depends on a number of factors. The ultrasonic sensor on the Rover 5 robot can be used to roughly detect the presence of obstacles, and you can then definitely program the Pixy to identify objects based on their colour. If you want to get the robot to do any image processing beyond identifying objects by their colour then you can do that by reprogramming the Pixy, but it will likely involve a fair bit of C/C++ programming. Alternatively you can add a Pi and Pi camera to the robot (for probably a similar price to the Pixy). This may involve a bit of extra work to begin with, but you'll have extra flexibility in terms of extra computing power from the Pi, Python, the OpenCV library for computer vision, and WiFi for remote control.

Whichever way you decide to go, you project should be doable, although I can't say that it will be easy. But then that's all part of the fun of doing robotics. :D

Regards

Alan