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 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[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-11-17T19:54:39+01:00 2015-11-17T19:54:39+01:00 http://forum.dawnrobotics.co.uk/viewtopic.php?t=1275&p=1999#p1999 <![CDATA[Software • Re: Explanation of the code]]>
Is this a different sensor beyond the claw you mention here?

If so, then if you're just passivley reading the sensor then you may be able to get away with the sensor reading approach shown in this tutorial. To actively control a sensor, the approach I outline in your other post should hopefully get you started. :)

Regards

Alan

Statistics: Posted by Alan — Tue Nov 17, 2015 7:54 pm


]]>
2015-11-17T19:50:24+01:00 2015-11-17T19:50:24+01:00 http://forum.dawnrobotics.co.uk/viewtopic.php?t=1403&p=1998#p1998 <![CDATA[Software • Re: Raspberry Pi Camera Robot Modification]]>
Welcome to the forums. :)

You will probably need to modify a number of files to get this working, but there are a couple of different approaches which will affect that precise number needed.

First off, do you think that perhaps you could get away with disabling one of the neck servos and using the connector for the claw servo instead? The pan servo for example (you can always turn the robot if you want to look left or right). If you were ok to do this then you could get away with just modifying the web interface.

Anyway, the first file to modify would be the web interface index.html. If you're changing the function of the pan servo then I'd suggest providing seperate sliders for the tilt servo, and the claw (pan) servo and using the command

socket.send( "SetNeckAngles " + clawAngle + " " + tiltAngle );

whenever one changes.

Otherwise, if you're adding an extra servo, you'd need to define an extra command, something like SetClawAngle and use it like this

socket.send( "SetClawAngle " + clawAngle );

Moving onto the Python code, you'd first need to modify robot_web_server.py to handle the SetClawAngle command. See line 184 for how the SetNeckAngle command is handled.

At this point, you're faced with a choice. If you can attach the signal line of the servo motor to one of the Pi GPIO pins, you can write Python code in robot_web_server.py to set the claw angle, using code similar to that given in this tutorial.

If on the otherhand you'd like to attach the servo to the mini driver, you still have a way to go... Basically you'd need to follow the path of a command like robot.setNeckAngles( panAngle, tiltAngle ) (line 200 of robot_web_server.py) into robot_controller.py, then into mini_driver.py before the angle is sent over USB to the mini_driver_firmware.ino sketch, at this point you'd need to receive the angle and modify the update loop of the sketch to output the claw angle.

So hopefully that gives you some ideas on how you can approach this. My advice would be to try the simple method of co-opting the pan servo first and then maybe move onto one of the more involved approaches if you want a bit more control. If there's any further information you need, please let me know.

Regards

Alan

Statistics: Posted by Alan — Tue Nov 17, 2015 7:50 pm


]]>
2015-11-17T19:22:36+01:00 2015-11-17T19:22:36+01:00 http://forum.dawnrobotics.co.uk/viewtopic.php?t=1402&p=1997#p1997 <![CDATA[Technical Support • Re: Seeed Arduino 4a motor shield only uses in3 & in4]]>
Glad to hear that you're up and running with the shield. Sorry you had problems with it, I've updated the product page to point here, explaining that there's a bug in the supplied Arduino library.

Also, for people coming to this post later on I'm assuming that you meant Seeed Studio, not Pololu, in your second post? We never stocked Pololu products, but as far as I know, they have a reputation for not being sloppy. ;)

Regards

Alan

Statistics: Posted by Alan — Tue Nov 17, 2015 7:22 pm


]]>
2015-11-17T19:09:13+01:00 2015-11-17T19:09:13+01:00 http://forum.dawnrobotics.co.uk/viewtopic.php?t=1383&p=1996#p1996 <![CDATA[Technical Support • Re: WARNING:root:Got message with invalid checksum]]>
Looking back at my previous post, I'm not sure that I gave the link to the test sketch correctly. Did you upload the sketch here?

If you did upload the sketch, and the motors didn't start moving then it suggests that power is not getting through to the motors for some reason. Alongside checking the power switch on the mini driver, could you also please try powering the mini driver using AA batteries? You should find that a 4xAA battery holder and a 6xAA battery holder were included in the kit, either one should work for powering just the mini driver and motors, as long as the Pi is powered separately.

Regards

Alan

Statistics: Posted by Alan — Tue Nov 17, 2015 7:09 pm


]]>
2015-11-16T17:00:03+01:00 2015-11-16T17:00:03+01:00 http://forum.dawnrobotics.co.uk/viewtopic.php?t=1275&p=1995#p1995 <![CDATA[Software • Re: Explanation of the code]]> What files would i need to look at to add control of a further sensor via the web streamer...?

Statistics: Posted by adamrobots — Mon Nov 16, 2015 5:00 pm


]]>
2015-11-16T16:55:44+01:00 2015-11-16T16:55:44+01:00 http://forum.dawnrobotics.co.uk/viewtopic.php?t=1403&p=1994#p1994 <![CDATA[Software • Raspberry Pi Camera Robot Modification]]>
Many thanks
adamrobots :mrgreen:

Statistics: Posted by adamrobots — Mon Nov 16, 2015 4:55 pm


]]>
2015-11-15T22:08:32+01:00 2015-11-15T22:08:32+01:00 http://forum.dawnrobotics.co.uk/viewtopic.php?t=1402&p=1993#p1993 <![CDATA[Technical Support • Re: Seeed Arduino 4a motor shield only uses in3 & in4]]> The scheme of the shield published by Pololu is wrong. (Can be checked with a multimeter.)
In line with that the pinsettings of the Pololu library are also wrong! (A bit sloppy of Pololu)

The right pinsettings should be:

const unsigned int MOTORSHIELD_IN1 = 5;
const unsigned int MOTORSHIELD_IN2 = 6;
const unsigned int MOTORSHIELD_IN3 = 7;
const unsigned int MOTORSHIELD_IN4 = 8;
const unsigned int SPEEDPIN_A = 9;
const unsigned int SPEEDPIN_B = 10;

The #defines can be easily edited in the .cpp file, but one might as well code the statements directly in a sketch (The library is in fact just a module, coded in C++)

Cheers!

Statistics: Posted by Bastian — Sun Nov 15, 2015 10:08 pm


]]>
2015-11-14T18:14:35+01:00 2015-11-14T18:14:35+01:00 http://forum.dawnrobotics.co.uk/viewtopic.php?t=1402&p=1992#p1992 <![CDATA[Technical Support • Seeed Arduino 4a motor shield only uses in3 & in4]]>
What I've tried so far:
- installed the Seeed library (MotorDrive20121210) and ran the example sketch through the arduino ide
- switched motors => both worked fine with in3 and in4 but stayed dead while connected to in1 and in2
- switched several times the power source: lipo 7.4V/2200mAh, NiMh 9V/2400mAh, powerbank 5V/12000mAH
- switched to another (brand new) arduino uno
- used a sketch to address the pins directly (without using the Seeed library) The pins used in1=8, in2=11, in3=12, in4=13, pwmA=9, pwmB=10.

Using a multimeter I can read in3 and in4 while a sketch runs and get a positive value (or negative when I switch the polarity) between 6 and 9 volts.

So now I think there are 2 options left:
- I'm using the wrong pins for in2/3 (but they're the same as in the Seeed library)
- The shield is malfunctioning (also brandnew and recieved it in a originally sealed box)

I'm realy looking forward to some help/advice here.

Statistics: Posted by Bastian — Sat Nov 14, 2015 6:14 pm


]]>
2015-11-14T18:12:33+01:00 2015-11-14T18:12:33+01:00 http://forum.dawnrobotics.co.uk/viewtopic.php?t=1399&p=1991#p1991 <![CDATA[Technical Support • Re: Unable to connect to correct firmwa]]>
After running the robot for some days the problem returned.

This time I did not want to reinstall a new operating system because I had already installed a lot of stuff. However, I soldered four cables with a 1K resistor and tried Alan's idea. It worked but I needed to unplug the pan/tilt kit and the motors from the board before.

Dirk

Statistics: Posted by dirk123 — Sat Nov 14, 2015 6:12 pm


]]>
2015-11-14T14:50:27+01:00 2015-11-14T14:50:27+01:00 http://forum.dawnrobotics.co.uk/viewtopic.php?t=1383&p=1990#p1990 <![CDATA[Technical Support • Re: WARNING:root:Got message with invalid checksum]]> Apologies for taking so long in getting back to your reply! Your post about closing down prompted my son to put some pressure on me!

I have opened the IDE as suggested and loaded the sketch but nothing happens!

Is it possible to reflash the original firmware manually? (ie download an image and using mac to upload??)

Failing that I would be keen to get a replacement minidriver before you shut shop permanently.

{I am sorry to hear that this venture didn't work out but you should know that it has piqued an interest in my son about robots and the practicalities of developing their functionality. Before Dawn Robotics, he thought all robots were like R2D2!! We had great craic building ours. - Thank You for that and Well Done for trying something new and innovative}

John

Statistics: Posted by derrywinnen — Sat Nov 14, 2015 2:50 pm


]]>
2015-11-03T18:18:51+01:00 2015-11-03T18:18:51+01:00 http://forum.dawnrobotics.co.uk/viewtopic.php?t=1399&p=1987#p1987 <![CDATA[Technical Support • Re: Unable to connect to correct firmwa]]>
thanks for the instructions. However, in the meanwhile I was able to "fix" the problem. I formatted the SD card and transferred the operating system again to the SD card because I hoped that on the first start it will flash the bootloader again. And it worked, the problem vanished. Maybe this dirty fix can help other users, too.

The not moving wheel was due to a broken solder joint. The camera did not worked because amazon delivered a broken one... I sent it back and have a working one now.

My robot is fully working now :-)

Next project: Adding infrared sensors and making the robot autonomous :-) The robot is really a very nice toolkit.

Statistics: Posted by dirk123 — Tue Nov 03, 2015 6:18 pm


]]>
2015-11-03T17:42:43+01:00 2015-11-03T17:42:43+01:00 http://forum.dawnrobotics.co.uk/viewtopic.php?t=1399&p=1986#p1986 <![CDATA[Technical Support • Re: Unable to connect to correct firmwa]]>
Welcome to the forums. Apologies that I've taken so long to reply to this post.

I think perhaps that the bootloader on the mini driver may be corrupt. I'm hoping that your order will have contained a 'programming' cable for the mini driver with 4 built in resistors that you can use to fix the mini driver using the instructions on this page.

If you don't have this cable, or have trouble following the instructions then please let me know, and I'll provide more help.

Apologies that you're experiencing this problem, it seems to be a fairly intermittent problem with the mini driver, which not everyone encounters, but it is annoying when it does happen.

Regards

Alan

Statistics: Posted by Alan — Tue Nov 03, 2015 5:42 pm


]]>
2015-11-03T17:28:52+01:00 2015-11-03T17:28:52+01:00 http://forum.dawnrobotics.co.uk/viewtopic.php?t=1278&p=1985#p1985 <![CDATA[Technical Support • Re: problem with dagu mini driver stopped working]]>
Welcome to the forums. :)

In answer to your questions.

1. That jumper sets the voltage that is passed to the central voltage pin for the set of 3 pin connectors that run down the same side of the mini driver as the power switch. The default setting is to have +V=5V which means that all sensors and servo motors connected to those pins will run off 5V. For most situation this will be fine, but the problem is that the 5V is provided the the linear regulator on the mini driver which can provide a maximum of 1A current. In situations where you're connecting multiple servo motors to the mini driver that require a higher voltage, or which will draw more current then you have the option to run them directly off battery voltage by moving the jumper so that +V=+BAT. If you choose this option then it requires some care so that you don't damage your hardware, basically

  • The maximum input voltage to the mini driver should not exceed 9V
  • If VBAT is higher than 5V then be careful not to attach 5V sensors to those pins, you may fry the sensors

More information can be found in the mini driver manual.

2. When connecting the Pi to the mini driver. The Pi (running at 3.3V) needs to be protected from the mini driver (running at 5V). The easiest way to do this is to put 1K resistors on the connecting wires (as shown on the pi_isp page). This doesn't actually shift the voltage down. What it does do though is limit the current that flows into the Pi GPIO pins (I = V/R), the current is what would burn and damage the Pi. Now, this is a rather hacky solution, which has never caused me any problems, (I've flashed a lot of Arduino compatible devices like this using a number of Pis) but you may be uncomfortable doing it. If you'd like a proper level shifting solution, then I'd suggest using something like Adafruit's level shifting board.

Hope that helps, and gives you some useful information.

Regards

Alan

Statistics: Posted by Alan — Tue Nov 03, 2015 5:28 pm


]]>
2015-11-03T17:07:18+01:00 2015-11-03T17:07:18+01:00 http://forum.dawnrobotics.co.uk/viewtopic.php?t=1401&p=1984#p1984 <![CDATA[Technical Support • Re: Robot tuning - tilt data]]>
Your robot looks great. Glad to hear that you got it working. :)

Your goal of displaying the current pan/tilt angle of the robot's neck could be a little bit tricky, because currently the web front end sends over just a joystick command asking for a 'relative' change. There are 2 possible ways I can think of to acheive what you want though.

The first option would just involve javascript programming and involves modifying index.html in the www folder. What you'd need to do is to maintain status variables for the absolute pan/tilt angles in javascript and then you would replace line 153 in index.html with something like

Code:
socket.send( "SetNeckAngles " + panAngle + " " + tiltAngle );


Basically 'SetNeckAngles' is another command that the web server running on the robot understands, but which accepts absolute angles.

The other option involves editing some Python code, but I think that it may actually be an easier change, and will give a more flexible result. What you'd need to do is change line 97 of robot_controller.py to the following

Code:
statusDict = {
        "batteryVoltage" : self.miniDriver.getBatteryVoltageReading().data,
        "presetMaxAbsMotorSpeed" : presetMaxAbsMotorSpeed,
        "presetMaxAbsTurnSpeed" : presetMaxAbsTurnSpeed,
        "neckPanAngle" : self.panAngle,        # Add these
        "neckTiltAngle" : self.tiltAngle,           # 2 lines...
        "sensors" : self.getSensorDict()
}


Now, with any luck, this should mean that the values neckPanAngle and neckTiltAngle are returned automagically in a status dictionary. The file config.html shows how this works, with a periodic callback (line 63) polling for the robot status, and a socket onmessage function processing the status dictionary. There is a possiblity that repeatedly polling for, and receiving the status dictionary may slow the web interface down a bit, but if that is a problem, then you should be able to deal with it by reducing the frequency at which you poll for the status i.e. I think asking for the robot status just 1 or 2 times a second will keep the interface running quickly, and would probably keep the display of the neck angle updated frequently enough.

Anyway, I hope that helps. If you need any further explanation or pointers when modifying the code, please let me know.

Regards

Alan

Statistics: Posted by Alan — Tue Nov 03, 2015 5:07 pm


]]>