Showing posts with label CrumbleBot. Show all posts
Showing posts with label CrumbleBot. Show all posts

Saturday 24 September 2016

Crumblebot - explorer bot?

In an earlier post I played with 4Tronix's CrumbleBot to make an edge follower robot (http://robotsandphysicalcomputing.blogspot.co.uk/2015/07/edge-following-crumblebot.html). I wanted to play a little more, so I looked at making it 'explore' a room a bit and recently 4Tronix's have released an add-on panning ultrasonic sensor for the CrumbleBot - how can I resist?



What is a CrumbleBot
The CrumbleBot (http://4tronix.co.uk/store/index.php?rt=product/product&product_id=493) is based around the Redfern Electronic's Crumble Controller (http://redfernelectronics.co.uk/crumble/) and Crumble software (http://redfernelectronics.co.uk/crumble-software/); providing an intuitive graphical interface (similar to Scratch) to control two motors and four inputs/outputs. The CrumbleBot comes with a number sensors including  line-detecting sensors and Light-Dependent Resistors for light detection and you use crocodile clips to connect the sensors to the inputs/outputs. In essence, this is nice little framework for simple robotics and quite forgiving; the commands are kept to a minimum and loading the program to the bot is just one action. One suggestion, is to make sure you order the Crumble Controller at the same time as CrumbleBot, it is easy to forget if you haven't already got a crumble controller already.

Building the 'Bot' is relatively simple and 4Tronix have provided some easy to follow instructions on-line (http://4tronix.co.uk/crumble/CrumbleBot.pdf) that are almost foolproof (I manage to build it!).


Panning sensor

This is an add-on piece (http://4tronix.co.uk/store/index.php?rt=product/product&keyword=crumblebot&category_id=0&product_id=556), at the time of writing this costing around £12 (with VAT), which adds a ultrasonic sensor that pans and is controlled using Crumble. The instructions for setting this up are available at http://4tronix.co.uk/blog/?p=1353 you need to read from about half way down the page, they are detailed and please don't do what I did and skim through them, missing out an important action. 


'Explorerbot' 
The Crumblebot is built, the Panning ultrasonic sensor is connected - in my case IO port A for the servo to pan the sensor and IO port D for the input from the sensor - time to program it. The instructions in the set-up http://4tronix.co.uk/blog/?p=1353 include a useful little starting routine to read the sensor and 'zero' the sensor's position.

So my exploring routine is based around 


  • panning the sensor by +/-20 degrees of the sensor facing forward.
  • if an object is 5cm or less from the sensor; reverse the Crumblebot and make a slight turn; otherwise move forward.
The code is shown below:

The video shows the 'Explorerbot' in action.




Conclusion
It is good fun; this is a relatively simple problem but still fun. The Crumble language is Scratch-like and simple to set up and use. Crumble as a system I have, so far, found quite forgiving and this is useful - less fear of making a mistake.The panning sensor gives this already cute robot an even cuter look. Please feel free to add the discussion using the comment section.





All opinions in this blog are the Author's and should not in any way be seen as reflecting the views of any organisation the Author has any association with. Twitter @scottturneruon

Sunday 22 November 2015

Robot Software

In the previous blog posts for this 'series' "It is a good time...." 


  • Post 1 looked at the hardware unpinning some of this positive rise in robots;
  • Post 2 looked at social robots;
  • Post 3 looked at a collection of small robots;
  • Post 4 looked at further examples of small robots

Robots, such as the forthcoming Buddy and JIBO, will be based some established open sourceand other technologies. Jibo will be based around various technologies including Electron and JavaScript (for more details see: http://blog.jibo.com/2015/07/29/jibo-making-development-readily-accessible-to-all-developers/). Buddy is expected to be developed around tools for Unity3d, Arduino and OpenCV, and support Python, C++, C#, Java and JavaScript (for more details see http://www.roboticstrends.com/article/customize_your_buddy_companion_robot_with_this_software_development_kit). This post continues with some of the software being used with the smaller robots. 

A number of these robots are being programmed via Scratch or Scratch-like environments for example the OhBot (http://ohbot.weebly.com/) or Crumblebot (http://robotsandphysicalcomputing.blogspot.co.uk/2015/07/edge-following-crumblebot.html). Arduino based systems, discussed in Post 1, form the basis of a relatively large number of robots. Some other ways are discussed below.  



LeJOS
LeJOS (http://www.lejos.org/index.php) is an alternative way to program the LEGO Mindstorms Robotic Systems including the oldest RCX to the latest EV3. What it does is allow the robots to be programmed in Java by putting a small virtual machine on the controller/Brick. 

Some examples of it in use or being discussed can be found at:


A relate tool that use LeJOS as one of its underpinning technologies is Enchanting. A Scratch-like way to program LEGO robot based around Mindstorm NXT and EV3. For more details on this go to: http://enchanting.robotclub.ab.ca/tiki-index.php



Tickle


Tickle (https://tickleapp.com/en-us/) is one of my favourite of the physiclal computing programming tools at the moment. It is designed for program a quite range of devices using a 'Blockly-like' graphical programming approach. The Sphero range of robots and some of the Parrot Drone are supported.


When  I recently bought a Parrot Rolling Spider Mini-drone, I used the Tickle App (https://tickleapp.com/en-us/)  to control it. This was the first time I have actual programmed something that flies; the fact you are controlling  something you able to move in all directions is very engaging.

On the left is an example used; essentially lift off, repeatedly move forward, turn and in the end land.

As well as drones, the Sphero robots can be controlled using Tickle (that is how I first came across it). This does also include the entertaining and popular Sphero Star Wars BB-8. Which is well worth a play, if you get an opportunity. Dash and Dot (see http://robotsandphysicalcomputing.blogspot.co.uk/2015/07/cutest-computational-thinking-in-world.html for more details)  are also controllable through Tickle was well. 


Also a number of devices such as Punch Through Design's Arduino-based LightBlue Bean (https://punchthrough.com/bean-teaser), a Bluetooth Low Energy (BLE) microcontroller are supported- I have get to play with this one though.

I like the Tickle App because of its easy of use but mainly for the company's expansion of the range of devices supported.




Feedback
Please add comments with other software choices.



All opinions in this blog are the Author's and should not in any way be seen as reflecting the views of any organisation the Author has any association with. The author does not and can not take responsible for any harm cause by the software discussed - if you are unsure do not use the software.

Saturday 14 November 2015

It is a good time to play with little robots

In the previous two posts, mentioned the low-cost small devices are opening up new opportunities for robotics (http://robotsandphysicalcomputing.blogspot.co.uk/2015/10/it-is-good-time-part-one-introduction.html) and the rise of social robots in the home (http://robotsandphysicalcomputing.blogspot.co.uk/2015/10/it-is-good-time-2-social-robots.html) was considered.

In this post and the next, 'small' robots (my phrase), relatively low cost robots, are considered. A few examples are discussed.


Picobot


One of the most interesting small robots on the market is the PicoBot from 4Tronix (http://4tronix.co.uk/blog/?p=708). 


These are small, relatively low-cost robots with a good range of basic sensors based around Arduino. A nice feature is they are quick to put together (5-10 minutes each for the two above).  The size, time to build and the radio modules make them an interesting option for playing with swarm robotics - if only I had the money.


Don't let the swarm robot idea put you off, as small robots to play with programming they are excellent in their own right. Being small with the ultrasonic sensors gives them an non-threatening/cute look; add in they have some build it programs to play with (select by buttons on the bot) to get you going without any programming.





Crumblebot

CrumbleBot (http://4tronix.co.uk/store/index.php?rt=product/product&product_id=493) is based around the Crumble Controller (http://redfernelectronics.co.uk/crumble/) providing i think an intuitive graphical interface (similar to Scratch) to control two motors and four inputs/outputs. The CrumbleBot comes with line-detecting sensors and Light-Dependent Resistors for light detection, with a few other features that I have yet to play with. So is nice little framework for simple robotics. Make sure you order the Crumble Controller at the same time as CrumbleBot.

So I wanted to experiment with making a edge following robot - where the robot goes around a line by following the edge of the line. The idea is while make small movements,



  • Check that one of the sensors is on the line (in my case the right sensor);
  • If that sensor detects the line, then pull the robot to the left slightly and then forward a small step;
  • If the sensor does not detect the line, the pull the robot to the right slightly.


mBots
Makeblock (http://mblock.cc/mbot/) developed mBot Educational Robot with the subtitle "$49 educational robot for each kid". What they came up with is a interesting system that uses their mBlock software, which resembles Scratch but produces code for Arduino. 

My impression so far it is really quite intuitive to work with, in the example below I fairly quickly got the robot:



  • moves forward;
  • displays 'f' on the LED matrix; 
  • turns right;
  • displays 'r' on the LED matrix;
  • repeats until the on-board is pressed to stop the motors. 


 What I like most though is seeing the graphical code turned into Arduino code - the potential to see the same thing done into two ways adds extra educational value. 




Dash and Dot

Wonder Workshop (https://www.makewonder.com/) produce the Dash & Dot robots (see picture above). It is hard not to be charmed by these robots, they are cute, easy to use, download the Apps and you are ready to go almost out of the box - and add to this an easy to use but fairly powerful tool for developing programming.


 Blockly, available as one of apps, can be used to program the robots. It is a simple looking graphical language (simpler looking but similar to Scratch). A simple example (shown opposite) where Dash (the bigger of the two) does things such as  moves forward,  going left, lights change to orange, , left ear changes colour, head moves forward and it roars like a dinosaur. It relatively easy to then add loops and test (such as checking if it's 'friend' Dot is in view). Below is a very short video of Dash moving around until it 'sees' Dot.





It is difficult not to anthropomorphise these, especially when they are left alone they try and attract your attention with noises. They are just fun as well.


Recently, other developers have been producing alternative programming approaches. The Tickle App (https://tickleapp.com/en-us/) has added these robots to their supported devices.





Now what?
There are new robots coming out all the time at the moment.

As an example an exciting project by Robotix called Phiro (http://www.robotixedu.com/phiro.aspx) with two versions aimed 4-8 years using swipe cards to program it or one aimed at 9-18 years (and probably a lot older) programmed with a variety of programming languages. The robot can be linked with LEGO bricks, a definite plus. Being able to program it on PC or smartphones is a great feature.
  



Two others Ringo and Wink developed by Plum Geek http://www.plumgeek.com are interesting. Ringo, which is out now, is a simple looking and relative inexpensive, arduino-based robot that is actually has quite a few sensors (accelerometers, gyros, line-following, light) and has some predefined routines installed. As it is arduino-based, it is programmable as well. Wink is a new robot that is, at the time of writing, a kickstarter project (https://www.kickstarter.com/projects/plumgeek/wink-learn-to-code-with-a-bug-robots-for-everyone) aimed a teaching programming and based on many of the parts from Ringo.




The next post will consider some of the interesting software that is providing some fun opportunities.




All opinions in this blog are the Author's and should not in any way be seen as reflecting the views of any organisation the Author has any association with.

Sunday 19 July 2015

Edge following CrumbleBot

Recently I have been playing with the CrumbleBot (http://4tronix.co.uk/store/index.php?rt=product/product&product_id=493) based around the Crumble Controller (http://redfernelectronics.co.uk/crumble/) providing a intuitive graphical interface (similar to Scratch) to control two motors and four inputs/outputs. The CrumbleBot comes with line-detecting sensors and Light-Dependent Resistors for light detection, with a few other features that I have yet to play with. So is nice little framework for simple robotics. Make sure you order the Crumble Controller at the same time as CrumbleBot.

Building the 'Bot' is relatively simple and 4Tronix have provided some easy to follow instructions on-line (http://4tronix.co.uk/crumble/CrumbleBot.pdf) that are almost foolproof (I manage to build it!).

So I wanted to experiment with making a edge following robot - where the robot goes around a line by following the edge of the line. The idea is while make small movements,

  • Check that one of the sensors is on the line (in my case the right sensor);
  • If that sensor detects the line, then pull the robot to the left slightly and then forward a small step;
  • If the sensor does not detect the line, the pull the robot to the right slightly.

Accidentally, I end up playing with two ways to detect the line. Started with connecting, using crocodile clips, the two sensors to the Crumble and treating them as analogue signals and if there was a big difference between the one I want to stay on the line and the one off the line then the line's edge is detected. The assumption is the sensor on the black line reflects less light, so a lower value produced and that is what is detected. It work see the video below that used this approach - but the assumption was wrong.

4Tronix contacted me saying the line sensors are digital (thank you for that), so used them as a digital inputs and it did simplify the code a lot and still worked.





All opinions in this blog are the Author's and should not in any way be seen as reflecting the views of any organisation the Author has any association with.

ChatGPT, Data Scientist - fitting it a bit

This is a second post about using ChatGPT to do some data analysis. In the first looked at using it to some basic statistics  https://robots...