Sunday, 11 December 2011

First Run

This is a video of the first run at doing a square this was done just using a timed loop in ROS. calibration of the casters need work

Friday, 9 December 2011

Testing the drive

We now have a basic control of the robot with ROS (ros_serial and new_omni_ros.pde) it responds to cmd_vel and i can drive it in a triangle pattern ie straight for 3 seconds turn about 90 degrees then crab at a 45 degree angle and then repeat. I tried a crab and a rotate at the same time but the drive became unstable. Using the joy stick in ROS is also unstable. using ros_serial seems a bit unstable

Take 2 using new_omni_servo.pde and is more stable and still responds to the above commands but getting encoder values out of the arduino is still on working.

hardware problems that have crept in
steering drive sprockets sloppy
front steering driver to week
drive motors sill driving with 0 vel
need a external reset button for arduino
LED for servo power
move motor power LED so we can see it
steering need to be more snappy and accurate 

Monday, 5 December 2011

Omni and ROS

Today I had omni_bot listening to the ROS topic of cmd_vel/twist we were trying to drive in a square it worked better than expected but still needs work the steering accuracy is to low and the speed is to slow
to do
Steering chains need a tensioner
PID loop for steering (use loop time!!!!)
move cmd_vel publisher to zeno
start base link /.odom publisher

Friday, 18 November 2011

Wiring (or the rats nest)

The wiring is almost complete in that it works as intended but it looks a mess
i need a couple of days for a tidy up maybe its time to use RC style motor controllers and put them next to the motors the single wire would make it look cleaner

Monday, 14 November 2011

Steering Update

After a week off driving and testing most things work as expected crab steering works well with the potentiometers limit of 300 deg and no reverse drive at the moment being the main limit Ackerman steering works to about 22 deg off center, but spin in place results in skidding of the wheels. With the above in mind I changed the steering to independent 4 wheel steering and drive

Sunday, 30 October 2011


Now that the base construction is complete its time to add all the functions back in
like arm movement, navigation and the AI. The previous arm was to low to the ground to be useful so this time we will raise the arm higher in the torso where we will add equipment like speakers , microphones and other parts with out the need to dive into the base

Stage 1 complete

Over the weekend we completed stage 1
  • The motors are wired and working
  • steering works but still need making more robust
  • We had to rewire the encoders to use ports they work but not in the program
  • we added the torso mount and the kinect
After a couple of test we were ready for our first run,  Robbie was making good speed with smooth acceleration and no belt slippage   steering is a bit off to the right. The steering encoders are a bit agricultural they need groves to hold the o ring and the correct size o ring. The wiring around the pod bays need to be cleaned up and tied back to stop wires getting snagged. 1 thing i have noticed is the base seems stable when transitioning from forwards to reverse (I felt there might be some wobble in the caster legs).

Sunday, 23 October 2011

Omni Base Update

The original idea of routing the motor wire over the side was not going to work so using PVC pipe fittings I made a hollow shaft to pass the wires. The streeing encoders will now be shifted to the side and be belt driven .
Things to do before first test
Fit steering encoders
secure PC cards to stop wobbling
secure VGA plug
tidy up wireing

Monday, 17 October 2011

Omni Base update

All the drive motors were fitted to the casters and the computer was installed in the base a new power board was made. I made the sides to fold out to make is easier to work on the parts the left side holds the arduino annd motor controllers the rear holds the switch board the right side has access to the computer rear conectors
and usb hubs.

Tuesday, 11 October 2011

Python program

The program is based on the Arduino mega with a python interface using a xbox 360 wireless controller
The streering system uses 2 HB25 motor controllers for and aft there 2 1K pots for controlling the wheel position. The 4 drive motors are controlled by 1 polou dual VNH2SP30 motor driver with encoders for the front wheels to start with. the joy stick control is throttle  left and right ackerman steering with the rear opposite to the front and a straffe mode to move side ways

Sunday, 9 October 2011

Omni Base 2

The base has the casters install and the first steering drive is installed the steering  motor is 160 RPM and 25 Kc/cm torque the speed is to slow but it will do for now.

Wednesday, 5 October 2011


The base is starting to take shape I turned the drill press into a wood lathe to make the bearing spacers and end caps. The new base is stronger than the first and much lighter. The outer race of the bearings will be held in place with epoxy to remove the alignment problems of the first base. The first caster is only missing the encoder. For reference the axle bolt goes in the other way to make fitting the encoder easier 

Sunday, 2 October 2011


Over the last few days i started constructing The first prototype type caster. One of the main problem has been accuracy small alignment issues cause the casters wobble but that aside movement is smooth i may need to add a slip mechanism to the top of the casters for alignment or make all wheels steerable

Monday, 5 September 2011

The Omni Base

Omni Base construction
The base is powered by 4 12 volt gear motors and a 2:1 reduction belt drive to 150mm wheels
steering is done via #25H chain and 2 12 volt gear motors the left and right steering is linked as 1 with a 4:1 reduction. Absolute position encoders are located on the right steering wheels. Each drive wheel has its own incremental encoder.

Sunday, 28 August 2011

The start

This is the story of Robbie the robot and his evolution
In this blog i will show my ideas and experiments to help Robbie become more
First this is what Robbie is at the moment is a differential drive robot running the ROS system hes has one 7 DOF arm and a Kinect for vision on a pan and tilt post.
The servos are AX12 dynamixels and a USB2Dynamixel for control. The base is controlled by a robotics connection serializer the main computer is a I3 with 6 gigs of ram. His capabilities are navigation basic arm control head tracking and the AI system uses to voice control to move to selected targets and a basic meet and greet routine of about 4 questions using NLTK where he will remember the question of the current session