BFR-H1 Humanoid robot torso
This is my latest robot, BFR-H1. It is a humanoid robot torso actuated with servos with potentiometers for feedback on each joint position. It's similar in design to my previous humanoid robot but built to a higher standard. The construction is all aluminium, machined from sheet, angle and box section. It uses an Arduino mega to control the 10 servos and read servo positions from the 10 corresponding potentiometers.
With the Arduino connected to a PC, each servo can be controlled individually at the moment by setting a slider position. The Arduino is constantly running a control loop to position each servo using feedback from its associated potentiometer. At the moment this is just proportional control but I hope to play around with this a bit in the future to ensure the movements are as smooth as possible. The object tracking I implemented with my previous robot is now working on this platform, check out the video to see this in action.
The next step is to continue work on the software. I'm hoping to develop some autonomous behaviour, whether it be reacting to coloured objects or faces or even interacting with objects put in front of the robot, I'm not sure yet. I may also add some kind of sensing to the hands, possibly just a switch, to give more sensing ability and help with the autonomous behaviour.
Check out my blog at www.bigfacerobotics.com for more info and pictures of this robot as it was being built. I hope to keep this updated as regularly as possible as the project progresses.
A couple more pictures for you below. The first one shows the range of movement of the arms towards the head.
I decided not to go for a gripper on this robot but I thought there may be a chance that the robot could still pick up items using both hands. I tested this today and sure enough it is possible. I think it will take some work to get it working autonomously but definately an option!
I've written some code to store a series of joint positions along with a delay value. This series can then be replayed with the robot moving its joints to each of the stored positions in turn with a delay between each position. To create the sequence of positions the servo power can be turned off and the robots limbs moved manually to the desired position. A click of a button on the PC stores the current position. The robot can then be moved to the next position and this can be stored and so on. I've added a video of a sequence being replayed. I've also been experimenting with having the robot pick up items and I'm happy with the results. Check out the new video to see this in action!
I have been working on my humanoid robot as much as possible when time allows. I've added a sharp IR sensor to the robots head to give some basic depth perception and I've also been experimenting with simple hand switches so that the robot can detect when it is touching something.
I have made a lot of changes to the software and the tools I'm using to develop the software for the robot. The biggest change is that I'm using Python instead of C++ to develop the code running on the PC. C++ and QT was good but Python makes things a whole lot easier when experimenting and adding functionality. I have re-written most of the code in Python now and added extra functionality along the way. Using Python also means the code can be used on different platforms, and I have been playing with the Raspberry Pi to see what it can do. My latest project has been to use the Raspberry Pi and a Wiimote to control the robots head and arms. Check out the new video to see this in action. I wanted to share this new video with everyone here and if anyone would like more information on what I have been up to, check out my blog at www.bigfacerobotics.com
I've put my robot on wheels! I have built a new wheeled base for my humanoid using modified servos and a fancy castor to help him get around a bit more. I have also mounted my Raspberry Pi to the robot and I'm using this along with the Arduino for control. I plan on sorting out a battery supply for the Pi so the robot is truely mobile, for now he is tethered. I've got OpenCV running to capture an image from the webcam and do some image processing. More updates and video coming soon hopefully!