Loading
loading..

The two legged reverse knee walker project:
I decided to use a Lynxmotion Biped Scout kit and try out some cheap Hongkong servos MG995 which are widely known and available for about 10-20USD. These servos have metal gears (good) but tend to jitter because of bad electronics or analogue pot.
Anyway, this project should realize an autonomous biped walker with reverse knees.

DSC_0061

Her are two videos of my Biped Scout with (jittering cheap) servos detecting and avoiding walls by use of a SHARP GP12 sensor on a pan head micro servo.
plus a power sensing to go to sleep when power is running short.
Microcontroller board was an Atom Bot Board II
Servo Controller is a Lynxmotion SSC-32

Description of what you will see:
The Biped Scout starts with a sleep (sitting home position) position and then stands up for walking.
(He looks downwards, this could be used to detect gaps, stairs or smaller obstacles. Better would be a second SHARP sensor directed towards the floor)
If the Sharp distance sensor detects an obstacle, the robot stops his walking movement and
turns the Sharp sensor 45° to the left and to the right to check in which direction the distance to the wall is larger (more save to go there..).
Then he turns hisself 45° towards this direction and makes at lest one step forward.
This procedure continues until he does no longer detect a wall in front of him.
At the end he is programmed to demonstrate, what he does when the battery is low –
he stops his current walking cycle and goes down to sleep position.


here some more images:
(to protect the electronics from being damaged by falling backwards I have added two aluminium bumpers, the battery is situated in the lower front chest for better balance)

DSC_0062aDSC_0064aDSC_0071a

Battery sensing has been done this way:

batteriesensor
Here is a program description and the program.bas file:
This program is an example for a movement presentation of the Biped Scout Robot with TowerPro MG995 Servos, SSC-32 and Atom Bot Board
with Atom PRO 24 pin processor.

There is a cable from SSC-32 (any unused servo pin) to the Atom Board PIN 3, this cable makes the Atom aware of
the power supply of the SSC-32 servos and he can detect if power goes down and by this prevent the Robot from falling.
See the power cable image in this folder

The Steps Wordtable was created with the Lynxmotion Sequencer SEQ-01
The following Sequences are possible:

0 home position
1 bow
2 sleep position
3 to step left
4 to step right
5 step left
6 step right
7 step back left
8 step back rigth
9 from left to home
10 from right to home
11 turn 45° right
12 turn 45° left
13 standup slowly

Stategy:

After uploding the program, the robot goes down to a sleep position.
When you press button 5 (green led), a countdown starts and he checks on PIN 3 if his batterie has enough power.

(Therefore a cable goes from PIN 3 to one of the Servopins of the SSC-32 Board. –>batteriesensor.jpg)

If he has enough power the robot stands up slowly, makes a bow, and lifts his right leg.
Otherwhise he announces it with a beep.

In the main loop step right alternates with step left.

If the Sharp distance sensor detects a wall closer than 20cm the sensor is panned 45° to the left and to the right.
He detects in which direction the distance is larger (no or farther away obstacle)
He makes a 45° turn towards this (safer) direction, then makes on step.
He continues until he observes no longer an obstacle in front of him.

Here is the program (runturnwall.bas)

  •  
  •  
  •  
  •  
  •  

14 Comments

  1. symboter August 28, 2009at 2:12 pm

    Hi Tom,
    I did a quick research and checked my old files:
    1) To my knowledge Flowbotics Studio did not evolve further and the requested export to Arduino (BotBoarduino) never happened:
    http://www.robotshop.com/forum/flowbotics-and-botboarduino-t11225
    So you are not able to use Flowbotics with Botboarduino, which means, the Biped Scout will never be autonomous.
    If you want to use Flowbotics, you can discard the Botboarduino.
    If you want to use Flowbotics, you can add bluetooth to your computer and bluetooth to the SSC-32 to get rid of the physical cable connection
    2) My software is written for the Basic Atom which is not compatible with Flowbotics or Arduino, rewrite would be faster than trying to transcode it
    3) Even if you would be able to run the softzware it is not calibrated for your robot and this means you would need to return to Flowbotics or Arduino IDE for the calibration offsets, this requires working code.

    So, go the way with most success and (I never worked with Flowbotics) enter keyframes of steps, then sequence them and see what the robot does.
    Remember, some keyframes are instable, so the robot would not balance on this keyframe, but they make sense in the sequence. Walking is like falling forward.

    If this works and you are familiar with the sequence, then you might start to program the Botboarduino.
    A good starting point would be the code for Botboarduino and BRAT robot here:
    https://github.com/Lynxmotion/Brat/tree/master/BRAT_Arduino

    Hope this helps
    Best regards
    Olaf

  2. Tom Dlugos August 28, 2009at 2:12 pm

    Hi Olaf,
    Here are the 2 boards that we have none of them are Bluetooth,
    1st board is the BotBoarduino
    2nd Board is the SSC-32U USB Servo Controller (as mentioned below)
    The communication application we use is the FlowBotics Studio
    SSC-32 Servo Sequencer Utility. So is there any way to load your code to make this combination work? We are at a loss not sure what to do.
    We did use the FlowBotics Studio to move the servos so we know communication is good, what i do not understand is how to load code to the board if do we use the FlowBotics Studio application and how, sorry i am not a programer, more mechanical.

  3. symboter August 28, 2009at 2:12 pm

    Ok, this is the Servo Controller. If you only have this one and no other controller, you can run the Robot by cable only (if you do not have bluetooth on the robot) and need a PC with SEQ Software from Lynxmotion,
    with this software and a gamepad you can program visually the actions and remote control the robot. I checked the online documentation but they have mixed up the data, can only find the one of a similar robot:
    http://www.lynxmotion.com/images/html/build128.htm
    For autonomous action (walking, obstacle avoidance, turning) you need a microcontroller to which the SSC is connected. Mine was an BasicMicro Atom which was recommended at that time by Lynxmotion.
    Nowadays you would use an Arduino, but my software does only run on BasicMicro. I guess Lynxmotion should have new code but the business was sold to RobotShop years ago and it seems this product has never been updated anymore.
    Hope this brings you one step further
    Best regards
    Olaf

  4. Which controller are you using for the Biped Scout? August 28, 2009at 2:12 pm

    Sorry i have not responded very sorry my Son has been driving me crazy!

    I thought you would e-mail me a reply, sorry.

    Which controller are you using for the Biped Scout?
    SSC-32U USB Servo Controller

  5. symboter August 28, 2009at 2:12 pm

    Which controller are you using for the Biped Scout?

  6. Tom and Cooper Dlugos August 28, 2009at 2:12 pm

    Hi we need your help we purchased a Biped Scout and we need code examples to make is walk, i see the file above who do you load this to the robot?

  7. symboter August 28, 2009at 2:12 pm

    Thank you for letting me know, I did upload the file again and now you can download it. Check my project „Fearbot“ which is my the latest use of the Scout.
    Best regards
    Olaf

  8. Ted Kurtz August 28, 2009at 2:12 pm

    Very nice biped. I want to use the Scout with the SSC-32/Botboarduino for my next project. I tried your link to access your code, runturnwall.bas, but got message that it is not available online. I’d like to look at it, and would be very pleased if you could email it to me. Thank you.

    Best regards,
    Ted

  9. symboter August 28, 2009at 2:12 pm

    Yes you can 🙂
    But if you do not use Botboarduino or Bot Board or any Arduino connected with SSC-32, then the motion can only be stremed by cable or wireless from PC (SEQ-01) to the SSC-32, no autonomous movements possible without microcontroller
    Have fun
    symboter

  10. alimohamed August 28, 2009at 2:12 pm

    can i use this program with lynxmotion visual sequencer only without botboard 2…………how

  11. symboter August 28, 2009at 2:12 pm

    No problem, the procedure was as follows:
    1) Use Lynxmotion SSC-32 Servo Controller board with Lynxmotion SEQ-01 Sequenzer Software to make the keyframes for the steps (Atom Board not connected)
    2) Use SEQ-01 and export the keyframes to ATOM Code
    3) add things to the Atom code such as sensor recognition and so on with Basic Micro IDE
    4) pump the code into the Atom with Basic Micro IDE
    Thats it
    kind regards
    symboter

  12. Korbeau August 28, 2009at 2:12 pm

    @symboter
    many thanks!

    1 but I don’t understand when you say: “ The Steps Wordtable was created with the Lynxmotion Sequencer SEQ-01″.

    2 Do you used a bidirectionnal TTL serial communication between the scc-32 and the bot board ?

    best regards

    Korbeau

  13. symboter August 28, 2009at 2:12 pm

    I guess you assume I did use the Lynxmotion SSC32 with sequencer files.
    No, I did not, it is all Basic Atom code, all motions are stored in the Basic Atom code, see the motions table at the beginning of the .bas file
    best regards
    symboter

  14. Korbeau August 28, 2009at 2:12 pm

    nice project,

    I try to make the same. could you give me your sequencer files (.csv and .shp files)?

    Thank you,

Leave A Comment

Layout mode
Predefined Skins
Custom Colors
Choose your skin color
Patterns Background
Images Background