Notes for Ohbot1 Owners
21st April 2015
Acrylic
The acrylic is strong but quite brittle. If you drop it you can knock bits off. You can glue it back together with glue or stick it with Sugru. If it’s a really bad smash then let us know and we’ll see if we can dig out a spare bit.
Windows versions
Ohbot software works with Windows 7 and Windows 8.
Installation and Licencing
As Ohbot software can be used without an Ohbot in simulation mode we need to limit it to restrict it from being copied everywhere. On the other hand we know that you will be working in groups and not all computers will have an Ohbot attached.
We have resolved this by granting four licences for each Ohbot that you buy and making the software run in Demo mode unless it has been run once with an Ohbot plugged in.
We hope that this gives a good balance. When we update the software you may have to reauthorize it by plugging Ohbot in. You may also have to reauthorize if you change your computer hardware.
Programs
Programs are read from and written to a folder called Ohbot in libraries\documents. You can navigate to other places in file explorer if you like but explorer will always default back to this folder. They are standalone files so they can be emailed or copied. They are human readable but not very easy to understand. There’s also a file in there called motordefinitions.omd which is where your motor settings are saved to. It’s a good idea to take a backup of libraries\documents\ohbot once in a while.
Text to Speech
For the Speech commands Ohbot will use whatever voice is selected in the Windows Text to Speech setting. Search on “Voice” in Windows Control Panel to find how to change this including how to make Ohbot talk slower or quicker.
You get a single voice with Windows 7 although it seems to make a difference if you have 32 bit or 64 bit Windows installed. Windows 8 has two voices. You get an American voice by installing the US language pack.
You can buy voices including Welsh and Gaelic and various accents from:
Ivona
Cereproc
Cereproc advertises that it supplies a Scottish English voice called Heather free to all Scottish schools.
Ivona advertises that it supplies a male and female Welsh voice free in the UK in partnership with RNIB.
Speech Recognition
For the When Word Heard event Ohbot makes use of whatever speech recognition has been set up in Windows. In particular you need to check microphone configuration in order to get speech recognition to work – speech recognition uses the default audio input device so you need to check that this is set to your microphone by searching on sound recording in control panel.
You can select Sensors from the Settings menu in the Ohbot program to choose whether to use a small vocabulary or standard vocabulary. Using a small vocabulary is much more accurate. If you choose small vocabulary you can set the words that Ohbot will try to recognize on the form – separate the individual words with commas.
You could try training the default speech profile through the options in control panel to improve the accuracy on the standard vocabulary but we haven’t tried this.
You can define Speech Locale on the sensors screen from the settings menu but we’ve never been able to get it to work on anything other than en-US.
You can also turn speech recognition off on the sensors screen from the settings menu.
Loudness
The loudness block uses the speech recognition library so, if speech is turned off, it will not produce any values.
Sound
Sounds are read from a folder called Ohbot in libraries\music. Only .wav files are supported. You can copy .wav files to that folder to get more choices in Ohbot.
Camera
For the Camera X, Camera Y, Camera Colour, Faces Detected and Face Size blocks sensing blocks you need to have a camera attached to the computer. You can select the camera that you are using from the ones that are available by selecting Sensors from the Settings menu in the Ohbot program. A high resolution will be slower to process but will give more accurate face recognition.
Face Detect Type
Single - Will stop after finding the first face
No Overlap - If a face is found the area that it’s in will not be scanned again for a second image
Average - If several objects are detected inside each other they will be averaged.
Face Detect Suppression
If you’re using Average and an object has not been detected this many times then reject it. Normally use values between 1 and 6
You can turn the camera off on the Sensors screen from the Settings menu.
Weather Code
The Weather and Temperature sensor blocks get information from the Yahoo weather service. You can set the code for your location in the Weather code box by selecting Sensors from the Settings menu. The code comes from
http://www.weather.com/weather/today/l/UKEN0320:1:UK then type your location into the search top right and read the code from the bit of the top bar that’s marked in red above.
Weather comes back as a number:
public const int WeatherUnusual = 0;
public const int WeatherSnow = 1;
public const int WeatherRain = 2;
public const int WeatherCloud = 3;
public const int WeatherSun = 4;
Minutes to Sleep
Ohbot will go to sleep to stop the motors wearing out when nothing is happening. This is set in the Minutes to Sleep box by selecting Sensors from the Settings menu. It defaults to 3 minutes.
Motors screen
This screen is displayed from the Settings Menu. It’s where the limits, direction, speed and acceleration of the motors are set up. Please be really careful changing these as they have been set up through trial and error and lots of testing. You can click the Motors On check box at the bottom left to turn the motors on and then move the sliders to test moving motors individually. When a program is running this screen will display the motor positions. We’ve put a password lock on this screen to stop children from accessing it. The password is Einstein or ctrl alt E.
Software errors – status bar and debug tab
We hope this doesn’t happen but if you get an internal error in the software you will see a red prompt on the status bar. If you switch to the debug tab you will see the full text of the error. You can copy this to the clipboard using the Copy Debug button and paste it into an email to send it to us.
All errors are also written to libraries\documents\ohboterror.log so you can email this to us.
Missing Scratch blocks
We’ve implemented most of the blocks in Scratch plus many of our own but if you are missing any please let us know.
Code
Just for interest the Ohbot code is written in C# using Visual Studio 2012 and XAML forms.
The simulation is done using the ViewPort3D library with parts drawn in the CAD4U application and extruded in the Blender application then saved as 3ds files.
The 3ds files are loaded into the Viewport when the program starts up and manipulated using the Helix extension library. They are positioned and animated manually in code.
Camera handling and face recognition uses the AForge and Accord extension libraries.
Text to speech and speech recognition use the Microsoft speech libraries.
The Pololu board interface is via Pololu’s Usc and UsbWrapper libraries.
21st April 2015
Acrylic
The acrylic is strong but quite brittle. If you drop it you can knock bits off. You can glue it back together with glue or stick it with Sugru. If it’s a really bad smash then let us know and we’ll see if we can dig out a spare bit.
Windows versions
Ohbot software works with Windows 7 and Windows 8.
Installation and Licencing
As Ohbot software can be used without an Ohbot in simulation mode we need to limit it to restrict it from being copied everywhere. On the other hand we know that you will be working in groups and not all computers will have an Ohbot attached.
We have resolved this by granting four licences for each Ohbot that you buy and making the software run in Demo mode unless it has been run once with an Ohbot plugged in.
We hope that this gives a good balance. When we update the software you may have to reauthorize it by plugging Ohbot in. You may also have to reauthorize if you change your computer hardware.
Programs
Programs are read from and written to a folder called Ohbot in libraries\documents. You can navigate to other places in file explorer if you like but explorer will always default back to this folder. They are standalone files so they can be emailed or copied. They are human readable but not very easy to understand. There’s also a file in there called motordefinitions.omd which is where your motor settings are saved to. It’s a good idea to take a backup of libraries\documents\ohbot once in a while.
Text to Speech
For the Speech commands Ohbot will use whatever voice is selected in the Windows Text to Speech setting. Search on “Voice” in Windows Control Panel to find how to change this including how to make Ohbot talk slower or quicker.
You get a single voice with Windows 7 although it seems to make a difference if you have 32 bit or 64 bit Windows installed. Windows 8 has two voices. You get an American voice by installing the US language pack.
You can buy voices including Welsh and Gaelic and various accents from:
Ivona
Cereproc
Cereproc advertises that it supplies a Scottish English voice called Heather free to all Scottish schools.
Ivona advertises that it supplies a male and female Welsh voice free in the UK in partnership with RNIB.
Speech Recognition
For the When Word Heard event Ohbot makes use of whatever speech recognition has been set up in Windows. In particular you need to check microphone configuration in order to get speech recognition to work – speech recognition uses the default audio input device so you need to check that this is set to your microphone by searching on sound recording in control panel.
You can select Sensors from the Settings menu in the Ohbot program to choose whether to use a small vocabulary or standard vocabulary. Using a small vocabulary is much more accurate. If you choose small vocabulary you can set the words that Ohbot will try to recognize on the form – separate the individual words with commas.
You could try training the default speech profile through the options in control panel to improve the accuracy on the standard vocabulary but we haven’t tried this.
You can define Speech Locale on the sensors screen from the settings menu but we’ve never been able to get it to work on anything other than en-US.
You can also turn speech recognition off on the sensors screen from the settings menu.
Loudness
The loudness block uses the speech recognition library so, if speech is turned off, it will not produce any values.
Sound
Sounds are read from a folder called Ohbot in libraries\music. Only .wav files are supported. You can copy .wav files to that folder to get more choices in Ohbot.
Camera
For the Camera X, Camera Y, Camera Colour, Faces Detected and Face Size blocks sensing blocks you need to have a camera attached to the computer. You can select the camera that you are using from the ones that are available by selecting Sensors from the Settings menu in the Ohbot program. A high resolution will be slower to process but will give more accurate face recognition.
Face Detect Type
Single - Will stop after finding the first face
No Overlap - If a face is found the area that it’s in will not be scanned again for a second image
Average - If several objects are detected inside each other they will be averaged.
Face Detect Suppression
If you’re using Average and an object has not been detected this many times then reject it. Normally use values between 1 and 6
You can turn the camera off on the Sensors screen from the Settings menu.
Weather Code
The Weather and Temperature sensor blocks get information from the Yahoo weather service. You can set the code for your location in the Weather code box by selecting Sensors from the Settings menu. The code comes from
http://www.weather.com/weather/today/l/UKEN0320:1:UK then type your location into the search top right and read the code from the bit of the top bar that’s marked in red above.
Weather comes back as a number:
public const int WeatherUnusual = 0;
public const int WeatherSnow = 1;
public const int WeatherRain = 2;
public const int WeatherCloud = 3;
public const int WeatherSun = 4;
Minutes to Sleep
Ohbot will go to sleep to stop the motors wearing out when nothing is happening. This is set in the Minutes to Sleep box by selecting Sensors from the Settings menu. It defaults to 3 minutes.
Motors screen
This screen is displayed from the Settings Menu. It’s where the limits, direction, speed and acceleration of the motors are set up. Please be really careful changing these as they have been set up through trial and error and lots of testing. You can click the Motors On check box at the bottom left to turn the motors on and then move the sliders to test moving motors individually. When a program is running this screen will display the motor positions. We’ve put a password lock on this screen to stop children from accessing it. The password is Einstein or ctrl alt E.
Software errors – status bar and debug tab
We hope this doesn’t happen but if you get an internal error in the software you will see a red prompt on the status bar. If you switch to the debug tab you will see the full text of the error. You can copy this to the clipboard using the Copy Debug button and paste it into an email to send it to us.
All errors are also written to libraries\documents\ohboterror.log so you can email this to us.
Missing Scratch blocks
We’ve implemented most of the blocks in Scratch plus many of our own but if you are missing any please let us know.
Code
Just for interest the Ohbot code is written in C# using Visual Studio 2012 and XAML forms.
The simulation is done using the ViewPort3D library with parts drawn in the CAD4U application and extruded in the Blender application then saved as 3ds files.
The 3ds files are loaded into the Viewport when the program starts up and manipulated using the Helix extension library. They are positioned and animated manually in code.
Camera handling and face recognition uses the AForge and Accord extension libraries.
Text to speech and speech recognition use the Microsoft speech libraries.
The Pololu board interface is via Pololu’s Usc and UsbWrapper libraries.