Wooden Clock with Gravity Escapement

I have been fascinated by clocks for a long time and finally took the time to build a wooden clock myself.

The clock is based on Brian Law’s plans for his clock 22. I chose it for its fascinating and novel gravity escapement that Brian Law designed (for more details see his blog post with precursor post).

The action of the escapement is best seen in the videos of the running clock.

The wood (cherry for the gears, hard maple for the lighter color parts) was cut on my CNC router. The need for accurate round parts was a great excuse to finally acquire a mini lathe and learn how to use it. The gears have been finished with multiple coats of thin CA glue with a final scuffing of the surface with 0000 steel wool for a semi gloss finish (see Chris Wrong’s article for a description of the process).

Here a few snapshots covering the build.

ROS Indroduction Class with Ardros

Yesterday, at the Robotics Society of Southern California meeting (http://www.rssc.org/), I taught a class about ROS, the Robot Operating System from Willow Garage. In the first part of the presentation (slide deck as pdf file) I focused on generic ROS functionality. For the second half of the presentation I switched to demo mode using the current state of ‘Ardros’, my new Arduino based robot that is controlled via ROS, as a practical example for how ROS can benefit hobby roboticists. Here is a portrait of Ardros decorated with the artsy head that my sister created :-).


Ardros currently publishes odometry and tf transform information as required for future integration with the ROS navigation stack (see http://www.ros.org/wiki/navigation/Tutorials/RobotSetup). In addition it subscribes to the topic cmd_vel to accept velocity commands. The robot can be remotely controlled with a wireless PS3 controller. I use a teleop node that translates joystick messages to properly configured Twist messages to send drive commands to the robot as illustrated in the block diagram below. The teleop concept is explained inhttp://www.ros.org/wiki/ps3joy/Tutorials/WritingTeleopNode.


All the code is open source and can be downloaded from the Google code project http://code.google.com/p/drh-robotics-ros/. I expect the code to evolve quite a bit in the future. To see the code that matches the presentationrevision 51 should be used. The Arduino controller code resides in the folder \Arduino; the Python code for the ROS nodes is located in the folder \ros\ardros. Mike Feguson’s ArbotiX base_controller.py code was a great help for me and not surprisingly the code of my arduino node borrows heavily from Mike Feguson’s implementation (see http://www.ros.org/wiki/arbotix_python).

Building a Self-Balancing Robot – The Base

In my first post about a self-balancing two-wheeled robot I introduced the prototype. Now it is time for the beginnings of the construction of the ‘real’ thing. This post focuses on the platform. In order for it to be sturdy enough to eventually let a human ride on it, I opted for a pair of wheelchair motors with wheels that I bought used from ebay. The pictures show the dimensions (inches) of one of the Pride Jet motors with the attached gear box.

2009-12-30-18-18-12-028-cropped-small   2009-12-30-18-19-42-030-cropped-small

The motors come with an electric brake attached at the end opposite to the gearbox. In the photos the black bowl shaped cover and the electric brake (still attached to two white wires) have been removed from the motor. Instead of the brake I will attach wheel encoders (more about this in a later post). The matching wheels came with the motor.


In a wheelchair the motors are mounted horizontally. However, in order to gain more ground clearance I decided on a vertical mount for the robot. The next pictures show the assembled wooden base of the robot.

2010-01-05-16-36-00-002-cropped-small 2010-01-05-16-37-54-004-small

The gearboxes are attached to a board on the underside of the round base board. On the top of the base board, behind the motors that stick out from below, two sealed lead acid AGM (Absorbed Glass Matt) batteries are mounted. The off center configuration balances out most of the motors’ weight. The two batteries, model RBC6 12V 12Ah SLA Sealed Lead Acid AGM, are offered by Battery Geek on ebay for US $31 plus US $12 shipping.

This covers the construction of the base. Apart from the motors and the batteries all materials can be bought in a local hardware store.

Next I will work on the electrical system and the electronics. Stay tuned …