Dawn Robotics Forum Support and community forums for Dawn Robotics Ltd 2015-11-17T20:08:47+01:00 http://forum.dawnrobotics.co.uk/feed.php?f=13 2015-11-17T20:08:47+01:00 2015-11-17T20:08:47+01:00 http://forum.dawnrobotics.co.uk/viewtopic.php?t=1404&p=2000#p2000 <![CDATA[Rover 5 Seeeduino/Arduino Robot Kit • Dawn Robotics Closing Down - Support Implications]]>
Some people may already know this based on this blog post, and the fact that we're running a closing down sale, but if not, unfortunately we're closing down, and indeed may already be closed, depending upon when you read this.

For people who have bought our products, please don't worry that you're going to be hung out to dry, support wise. I'll keep monitoring these forums periodically to try to answer any questions people may have. If you post here and don't get a reponse within a couple of days, please email helpdesk@dawnrobotics.co.uk, as notifications from the forum don't always seem to come through. Also please send me an email if parts you've bought recently, break or are faulty in some way, as I've held back some components to deal with this.

Many thanks to all of Dawn Robotics' customers over the last couple of years. It's been fun. :)

Regards

Alan

Statistics: Posted by Alan — Tue Nov 17, 2015 8:08 pm


]]>
2015-09-01T12:10:28+01:00 2015-09-01T12:10:28+01:00 http://forum.dawnrobotics.co.uk/viewtopic.php?t=1380&p=1912#p1912 <![CDATA[Rover 5 Seeeduino/Arduino Robot Kit • Re: Rover 5 Scratch Interface]]>
That's awesome, very nice work. :)

To get values for the constants I'd advise working from the chassis manual linked from the product page. The manual says you get 1000 encoder ticks over 3 revolutions so I'd assume 330 to 350 ticks per wheel revolution.

If you're still based in the Bristol area and fancy coming over to the BRL at some point, it would be great to see it in action. Drop me an email at info@dawnrobotics.co.uk to arrange a time.

Regards

Alan

Statistics: Posted by Alan — Tue Sep 01, 2015 12:10 pm


]]>
2015-08-31T20:59:35+01:00 2015-08-31T20:59:35+01:00 http://forum.dawnrobotics.co.uk/viewtopic.php?t=1380&p=1910#p1910 <![CDATA[Rover 5 Seeeduino/Arduino Robot Kit • Re: Rover 5 Scratch Interface]]>
Thanks for your reply. I've now developed the scratchx interface using your API and it works for both the live and simulated environments.

It uses the existing python code to provide an interface between scratch and the robot/simulator. I've just tweaked it so that it works using the scratchx javascript plugin. See basic diagram below.

[ScratchX] <-> [ScratchXPlugin] <---> [Scratch Environment] <---> [Robot Webserver]

Red = Javascript
Blue = Python on client
Green = Python (py_bot_webserver) on robot

It seems to work fairly well but I need to play around with the constants (MOVE_SPEED_PER_SECOND, TURN_SPEED_PER_SECOND, ENCODER_TICKS_PER_CM, ENCODER_TICKS_PER_DEGREE] to make sure that the live and simulator environments tie together better. Any advice on this would be welcomed! I'm happy to give you a demo of this if you want to see it in action?

Cheers,

Phil

Statistics: Posted by bennalar — Mon Aug 31, 2015 8:59 pm


]]>
2015-08-18T17:03:32+01:00 2015-08-18T17:03:32+01:00 http://forum.dawnrobotics.co.uk/viewtopic.php?t=1380&p=1896#p1896 <![CDATA[Rover 5 Seeeduino/Arduino Robot Kit • Re: Rover 5 Scratch Interface]]>
Sorry for the delayed reply on this. I've got to say, I haven't looked at Scratch for ages as the move seemed to be towards Scratch 2, and with a move to something Flash based it didn't look like it was going to work on the Pi. I have been thinking for a while, that in order to get something like Scratch working with our robot kits on the Pi, then it might be better to use something like Blockly, which is built using just HTML5 and Javascript.

I'd love to know your take on it though, and what your experience has been of using Scratch 2.

Not had time to grok your javascript code, although at a glance it looks great. :) I would say that for future development, yes you're definitely better off using the work I've done for our Raspberry Pi Camera Robot. Briefly this works by running a Python webserver on a Raspberry Pi which communicates with an Arduino compatible board in order to control the robot's motors, servos etc. If you haven't seen it already then there's a forum post describing the code here.

For our Raspberry Pi Camera Robot kit we use the Mini Driver (a small arduino compatible board) but as you've found we also have an experimental branch which is targetted at controlling the Rover 5 using an Arduino Uno. This was intended to work with our Pi Co-op board, but with a bit of fiddling it should also work with the Seeeduino in the Rover 5 kit.

Once the Raspberry Pi robot is up and running, you can send it commands, and get sensor readings back from it by talking to the webserver using websockets. Now, you can either do this using the py_websockets_bot library, or you can also do this using the websockets functionality in Javascript, which I imagine if it works, could simplify your code setup somewhat. :) For an example of talking to the robot in Javascript please look at the web interface for the robot here.

Hopefully that all make sense. Please let me know if you have any more questions, or need clarifaction on anything.

Regards

Alan

Statistics: Posted by Alan — Tue Aug 18, 2015 5:03 pm


]]>
2015-08-16T15:35:17+01:00 2015-08-16T15:35:17+01:00 http://forum.dawnrobotics.co.uk/viewtopic.php?t=1380&p=1893#p1893 <![CDATA[Rover 5 Seeeduino/Arduino Robot Kit • Rover 5 Scratch Interface]]>
I've made progress on extending your scratch interface with the Rover 5. I managed to develop a scratchx plugin that has nice clean command blocks that wait for a response before moving onto the next instruction (i.e. getting rid of the clunky broadcasts that used to have).

You can see the plugin at http://scratchx.org/?url=http://bennalar.github.io/rover-ext/rover.js but it won't currently work unless you're running the https://github.com/bennalar/digimakers_scratch_workshop/blob/master/scripts/scratch_js.py python script in the background.

It works fine for the simulator but I had lots of issues with the bluetooth stack so I gave up on that approach. I recently noticed that you've built a python library, so I'm thinking of adapting that instead to work with the scratchx interface. This also means that I can make use of the pi_camera_bot webserver code too as a bonus.

I started porting your code from https://bitbucket.org/DawnRobotics/raspberry_pi_camera_bot/src/89323d4120ea95c897a98948c62305d2ca508096/?at=master but then spotted that you have two branches new-experimental-rover and experimental-rover. I'm going to have a go at using the new-experimental-rover code on my robot to see how that works.

Am I taking the right approach here? I really want to get this up and working before the new term starts. It seems to make sense to use the updated python library rather than the old workshop code.

Cheers,

Phil

Statistics: Posted by bennalar — Sun Aug 16, 2015 3:35 pm


]]>
2015-01-19T11:55:36+01:00 2015-01-19T11:55:36+01:00 http://forum.dawnrobotics.co.uk/viewtopic.php?t=1327&p=1622#p1622 <![CDATA[Rover 5 Seeeduino/Arduino Robot Kit • Re: Rover 5 Ultrasonic sensor]]>
Welcome to the forums. :)

Sorry to hear you're having problems with your Rover 5 kit. On the main product page for the kit there's a link to a zip file which contains 5 example programs showing how to use the different parts of the robot kit.

Could you please try downloading the zip file and running the ultrasonic sample? When you run it and then look at the serial output from the robot you should see it returning the measured distance.

Regards

Alan

Statistics: Posted by Alan — Mon Jan 19, 2015 11:55 am


]]>
2015-01-17T12:05:37+01:00 2015-01-17T12:05:37+01:00 http://forum.dawnrobotics.co.uk/viewtopic.php?t=1327&p=1620#p1620 <![CDATA[Rover 5 Seeeduino/Arduino Robot Kit • Rover 5 Ultrasonic sensor]]> Statistics: Posted by Mark — Sat Jan 17, 2015 12:05 pm


]]>
2014-12-29T12:13:37+01:00 2014-12-29T12:13:37+01:00 http://forum.dawnrobotics.co.uk/viewtopic.php?t=1312&p=1562#p1562 <![CDATA[Rover 5 Seeeduino/Arduino Robot Kit • Re: Rover 5 Pan/tilt servos]]>
Welcome to the forums. :)

I think that the problem may be in how the pan/tilt servo was assembled. I probably didn't make it clear enough in the instructions, but ideally the pan servo should be assembled so that 90 degrees corresponds to the head pointing forward. There is a bit of an art to this as the range of motion of each servo can vary somewhat. One useful technique can be to turn the pan servo all the way left and then detach and reattach the metal bracket so that it points roughly 90 degrees to the left. The commands that you can send to the servo are limited to the range 0 to 180 degrees so you need to assemble the pan/tilt head so that the key angles (0, 90, 180 etc) correspond to directions you want.

The following short Arduino sketch may also help you when assembling the pan/tilt head
Code:
#include <Servo.h>

const int SERVO_PIN = 9;           // The signal pin for the servo
const int SERVO_ANGLE = 90;    // Set this to the desired angle

Servo gServo;

void setup()
{
    gServo.attach( SERVO_PIN );
}

void loop()
{
    gServo.write( SERVO_ANGLE );
}


Hope that helps, please let me know if you need more info or if I've misunderstood something.

Regards

Alan

Statistics: Posted by Alan — Mon Dec 29, 2014 12:13 pm


]]>
2014-12-28T16:43:48+01:00 2014-12-28T16:43:48+01:00 http://forum.dawnrobotics.co.uk/viewtopic.php?t=1312&p=1558#p1558 <![CDATA[Rover 5 Seeeduino/Arduino Robot Kit • Rover 5 Pan/tilt servos]]>
I've run into problems with the rovers pan/tilt servos and the wall follower program (and I guess any future programs). It started with the rover not looking forward so I altered the look_forward angles to 40 degrees for pan and 0 for tilt. Ideally I would want a value of about -10 but negative values don't seem to work. This causes another problem when, as the rover is driving forward and looking slightly up, it will reach the wall and turn left as planned but then it is unable to look more than 40 degrees right to keep following the wall. Is there any way to use negative values to control the servos or, failing that, reset the zero of the servos to a more practical point (say pan facing backwards and tilt upside down).

Sorry, if I'm missing some really obvious solution,

Thanks for your help,

Aidan

Statistics: Posted by Aidan — Sun Dec 28, 2014 4:43 pm


]]>
2014-09-30T12:42:13+01:00 2014-09-30T12:42:13+01:00 http://forum.dawnrobotics.co.uk/viewtopic.php?t=1281&p=1472#p1472 <![CDATA[Rover 5 Seeeduino/Arduino Robot Kit • Re: New project advice needed]]>
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

Statistics: Posted by Alan — Tue Sep 30, 2014 12:42 pm


]]>
2014-09-29T21:19:45+01:00 2014-09-29T21:19:45+01:00 http://forum.dawnrobotics.co.uk/viewtopic.php?t=1281&p=1469#p1469 <![CDATA[Rover 5 Seeeduino/Arduino Robot Kit • Re: New project advice needed]]>
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.

Statistics: Posted by Medelwr — Mon Sep 29, 2014 9:19 pm


]]>
2014-09-29T15:15:47+01:00 2014-09-29T15:15:47+01:00 http://forum.dawnrobotics.co.uk/viewtopic.php?t=1281&p=1467#p1467 <![CDATA[Rover 5 Seeeduino/Arduino Robot Kit • Re: New project advice needed]]>
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

Statistics: Posted by Alan — Mon Sep 29, 2014 3:15 pm


]]>
2014-09-27T14:05:17+01:00 2014-09-27T14:05:17+01:00 http://forum.dawnrobotics.co.uk/viewtopic.php?t=1281&p=1459#p1459 <![CDATA[Rover 5 Seeeduino/Arduino Robot Kit • New project advice needed]]>
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.

Statistics: Posted by Medelwr — Sat Sep 27, 2014 2:05 pm


]]>
2014-02-28T09:19:57+01:00 2014-02-28T09:19:57+01:00 http://forum.dawnrobotics.co.uk/viewtopic.php?t=1229&p=1253#p1253 <![CDATA[Rover 5 Seeeduino/Arduino Robot Kit • Re: Adding additional shields]]>
That's a good question. You're right in assuming that it's going to be a bit tricky to add shields to the robot as pretty much all of the Seeeduino's pins are already used up controlling the robot.

You should be able to add a Bluetooth shield as the RX/TX lines on the Seeeduino are free, although you won't be able to easily use any functionality that relies on extra pins For exaple, I think the Seeedstudio bluetooth shield has a pin that lets you check to see if a connection has been made.

For other shields, then depending upon how you wanted to use the robot, it should be possible to free up some of the Seeeduino pins by disabling certain sensors. For example, the IR corner sensors use up 6 pins in total, if you could live without them, then that would be 6 pins that you could use to control a shield.

Using a Mega is also a possiblilty, as you could move all of the pins used by the robot onto the spare pins of the Mega. However, you should be aware that there can also be issues with using the Mega with some shields. For example, I only found out recently that the SPI pns on the Mega are not in the same place as those on a standard Arduino, so if SPI is used to communicate with a shield, jumper wires may be needed to get everything to work.

Regards

Alan

Statistics: Posted by Alan — Fri Feb 28, 2014 9:19 am


]]>
2014-02-27T13:34:39+01:00 2014-02-27T13:34:39+01:00 http://forum.dawnrobotics.co.uk/viewtopic.php?t=1229&p=1250#p1250 <![CDATA[Rover 5 Seeeduino/Arduino Robot Kit • Adding additional shields]]>
I am thinking about getting some shields at some point in the future to add more functionality.

I am currently thinking about adding a Bluetooth shield for remote control and adding a music shield so my robot can make sounds in certain events.

I see you can stack shields but I assume this would not be an option as the rover chassis already uses most of the pins?

Would I therefore need to buy the mega board with the extra pins in order to allow me to add shields?

Thanks,

Shane

Statistics: Posted by kenjara — Thu Feb 27, 2014 1:34 pm


]]>