UPDATE - 04/30/2014

 

 

     Hi guys! Short update... Well, it's working! Just the first tests with Maxbotix ultrasonic range finder LV-EZ1. I'm working on an autonomous routine.

 


 

UPDATE - 04/27/2014

 

 

     I've got a good progress on my project this week. It's not in action yet, but have the most of the parts assembled. Got to work now on the electronics and programmation.

 


 

FIRST POST - 02/03/2014

 

 

 

Hi guys!

It's been a long time since my last post here. Well, I needed some time to inspire me again, and about three weeks ago I started to rebuild my butler with some new features. Just a bit of work is done. As it progresses I'll show you here.

On the video you can see the head controlled by a Xbox 360 joystick using MRL services.

Below you see the building progress.

 

Here you see the parts that will form the neck.

 

Neck done...

 

Building the head.

 

Some parts of the hands.

 

Main chassis.

 

Tracks brackets.

 

Locomotion part done.

borsaci06

10 years 10 months ago

Great build Mech... looks neat and I loved the drive mechanism of the head... I am using a more or less similar mech to move my head... I am curious about the code for 3pid steering... can you post your code please?... 

Mech-Dickel

10 years 10 months ago

Hi, borsaci06. Thank you very much!

For now, I'm not using PID, just a simple code with a joystick and predefined values for servo positions. Below you see full code.

arduino = Runtime.createAndStart("arduino","Arduino")
joystick = Runtime.createAndStart("joystick","Joystick")
pan = Runtime.createAndStart("pan","Servo")
tilt1 = Runtime.createAndStart("tilt1","Servo")
tilt2 = Runtime.createAndStart("tilt2","Servo")
 
arduino.setBoard("uno")
arduino.connect("COM3")
joystick.setController(2)
joystick.startPolling()
arduino.attach(pan.getName(),2)
arduino.attach(tilt1.getName(),3)
arduino.attach(tilt2.getName(),4)
joystick.addListener("hatSwitchRaw", python.name, "directional")
joystick.addListener("XAxisRaw", python.name, "leftStickX")
joystick.addListener("YAxisRaw", python.name, "leftStickY")
 
dp = 0
sx = 0
sy = 0
pan.setSpeed(0.9)
tilt1.setSpeed(0.9)
tilt2.setSpeed(0.9)
pan.moveTo(87)
tilt1.moveTo(106)
tilt2.moveTo(118) 
 
def directional():
    global dp
    dp = msg_joystick_hatSwitchRaw.data[0]
    print dp
    check()
 
def leftStickX():
    global sx
    sx = msg_joystick_XAxisRaw.data[0]
    print sx
    check()
 
def leftStickY():
    global sy
    sy = msg_joystick_YAxisRaw.data[0]
    print sy
    check()
 
def check():
    if (sy == -1):
     tilt1.moveTo(135)
     tilt2.moveTo(89)
    elif (sy == 1):
     tilt1.moveTo(60)
     tilt2.moveTo(167)
    elif (sx == 1):
     tilt1.moveTo(135)
     tilt2.moveTo(167)
    elif (sx == -1):
     tilt1.moveTo(60)
     tilt2.moveTo(89)
    elif (dp == 0.5):
     pan.moveTo(174)
    elif (dp == 1.0):
     pan.moveTo(0)
    else:
     print "Nothing pressed. Just waiting..."
     pan.stopServo()
     tilt1.stopServo()
     tilt2.stopServo()

borsaci06

10 years 10 months ago

In reply to by Mech-Dickel

Thx.. It will be helpful for me... I am a complete noob at python scripting... I am using an Arduino and Pololu Maestro servo controller for my head... hopefully Grog or Aless will develop an nPID py script for me if he can find time to create a Meastro service... Your robot is very cute, like Wall-E... :)

GroG

10 years 8 months ago

WOW MECH !

That is one fine looking bot !  Your revisions get better and better...  Quality with a capital Q !
You have a great style too, I could spot one of your builds easily..  yep, that's a Mech ;)

Very curious on the springs in the torso - I remember version 2 - there seemed to be a lot of jitter in the camera - were the springs a way to smooth camera image during movement?  What size brain will it have - of course it will be wired via wifi to the rest of your computers - but on board will it be a raspi, udoo, beagle board black, odroid?

Mech-Dickel

10 years 8 months ago

In reply to by GroG

Actually the springs (shock absorbers) are more aesthetical than functional, just to complete the parallel linkage mechanism. What will reduce the jitter on the image of the camera are the reinforced parts. The plan is to use the Raspberry Pi as brain for this robot.

dwilli9013

10 years 8 months ago

Mech that is over the top. Awesome control with the controller. Man just shows that the new Bot Space is working out for you. Cant wait to see more on this build.

Dwilli9013 Dwayne

ambroise

10 years 8 months ago

wouaaa a very nice progress my friend

your robot is so nice and with no 3d printer lol

i loove your post and i am exiting each day s for see more news

do you think put your plans in free down load? for everybody build it the same?

thank you best regards amby

I do intend to publish this as an open source project, and share all the files used to build this robot.

hairygael

10 years 7 months ago

Very nice work!!! I love styrofoam aspect.

Very well done.

 

Mech-Dickel

10 years 7 months ago

It's a great material: strong, easy to work with and cheap. I love it too!

GroG

10 years 7 months ago

Beauty !  Let's start  Slam !

So with the LV-EZ1 you got range. 

 

You could start with dead-reconning, but that gets pretty difficult and sloppy. So more sensors would be useful.

Camera - OpenCV - even low FPS - you could set an LKPoint and begin rotating - which would give you angular change + distance with the sonar - which would give you a map.  A good start.

Othere sensors which might be helpful.

  • Bumpers - i thought about doing a tiny robot which "feels" its way along the walls and as it moves it maps - similar to how a mouse crawls along the edges of a room
  • Encoders
  • Laser mouse - thought this would be a good hack - considering how accurate a cheap mouse is -  mount one on the bottom and in the middle & then you have a very accurate encoder

Looks real good Mech