Posts

Showing posts with the label ros

Using ROS to control GPIO pins on a Raspberry Pi 3

Image
As the title says, it was time for me to document how to do the "simple" task of using ROS (Robot Operating System) to turn an LED on/off (well, we can do a LOT more than that by using the GPIO pins, but as a baseline, it's a starter). Because I've installed ROS onto the Raspberry Pi itself, I can create ROS nodes directly on the RPi. So let's get on with it and create a simple demo to blink an LED using ROS topics from the RPi. First step, we have to download " wiringPi " $ git clone git://git.drogon.net/wiringPi $ cd wiringPi $ sudo ./build The interesting thing is that everyone decides how they are going to refer to the GPIO pins on the RPi ...I just keep track of the physical pin (as that doesn't change!) And here is the GPIO pin layout in relation to wiringPi: https://projects.drogon.net/raspberry-pi/wiringpi/pins/ Now that we've installed the library we're going to be using, let's switch to creating a ROS package...

T1ll13 robot step 2

Image
As explained here:   http://www.cs.bham.ac.uk/internal/courses/int-robot/2015/notes/concepts.php ROS is a  message-passing  framework which allows you to create fully-fledged robotic systems quickly and easily. Rather than writing a single, large program to control the robot, we run a number of smaller, process-specific programs ( e.g. to analyse images from a camera ) and run them side-by-side, passing messages between them to share data and other variables. The core component in ROS is called a Node: Each Node performs a particular process, such as processing sensor data or controlling a laser scanner. You can think of them as code modules. However, rather than calling a Java method to get the robot to do something, we  publish messages . Messages are published on topics , which are like separate channels.  Nodes subscribe  to these topics: Whilst one Node publishes messages on a certain topic ( for example, robot movement commands ...

Saturday status

Image
Making some great progress with ROS , RPi3, PCA9685 and a couple of HK 15298s and some Python code... (and yes, Jelena is just "resting" in the background) I'll write-up the notes from the center of the desk a little later.  Small steps, but certainly moving in the right direction!

T1ll13 robot step1

Image
After a couple of long nights, a lack of appetite and a fair amount of headaches, I finally have something meaningful setup as a framework/platform to build on for the new robot called T1ll13 - it's a new (Millennial) species, so it needs a new type of naming structure. (It's short for Matilda) (this is not T1ll13 - just a stock photo) I originally went the RPi3 route of installing Raspbian/Jessie and then attempting to build upwards from there to install the ROS, as explained here: http://wiki.ros.org/ROSberryPi/Installing%20ROS%20Kinetic%20on%20the%20Raspberry%20Pi All would seem to work okay, until it got to the rosbag install and it would fail, with no sensible way of recovering....trust me, I tried. I even went backwards a version to the Indigo, but still had no joy: http://wiki.ros.org/ROSberryPi/Installing%20ROS%20Indigo%20on%20Raspberry%20Pi ....that just gave me issues at another point further down the line. Not being one to admit defeat, I adopted my ...

InMoov open source robot

Image
Whilst I like the Poppy robot, the cost of £4,500 just for the actuators blows it out of the realms of affordability - (hey, I have a custom car that eats all my money!), now, if I didn't have the car I would probably have bought this kit already .... yeah, that'll set you back about £8,500.  Whilst that is about a 1/3rd of the cost of a commercial robot, I'm not looking to invest that much just yet... My aim was to not spend time on the "small" £500 robots that you can get from the likes of EZ Robot which are pretty cool in their own right, I like the fact this robot is modular and allows you to change and extend it as you want.  But, I want to make something that is about child size, 4foot or so.  That's why I was liking the Poppy.  Legs can be a problem (like the Poppy) and whilst I'm not too fussed about spending a lot of time getting leg/weight/balance co-ordination right, I would rather have a bottom half that is more Pepper like . (Next t...