| davidbuckley.net |
| home > | Bambino-A < Jet-Laser > Bamduino | 2 September 2024 |
| Jet-Laser by David Buckley | March 2013 |
In March 2013 somebody (nameless here) who said they were interested in producing Jets commercially drew up Jet, making some modifications to the legs and head plate, then used the Manchester FabLabs laser cutter to make the parts.
While laser cutting may be fine for architectural models it leaves precision to be desired when making 1.5 or 3mm holes So there was a lot of slop in the bearings. Perhaps with experimentation the fit would be better.
We fitted an Arduino and shield and took some photos but then the FabLab moved and later shut and the nameless person went off on another project so the Jets sat on the shelf for a while.
I was ill from the start of 2017 and couldn't walk and as something to do got down the Jets and fitted the Arduinos on top with the batteries on the feet which left the front free, I saw some 4-way IR obstacle sensors on the web which I thought would just fit on the front and ordered some and then put the Jets back on the shelf.
Jet Laser with better sensors - 2023
I really liked the red PCB for the sensors fitted in 2021, but the sensors didn't work very well on a mobile robot, their threshold adustment had to be altered for every different light level of the day and night.
I had run out of the 20,000mcd orange LEDs I used for the Aesir sensors and they were out of stock and on back-order everywhere until summer 2023, so I used 30,000mcd green LEDs which worked nearly as well, the alternative red and orange LEDs just were not bright enough.
I changed the IR LEDs and sensors on the four remote PCBs and made new chest PCBs to suit the new sensors. Now because the change in illumination with the green LEDs on and off is processed by software the sensors work in nearly all light levels (nothing is perfect and our eyes don't work in the dark or in blinding light).
I also added commands to put the green LEDs under User-Control.
WhiskerBoard connections
Jet Laser with sensors - 2021
It wasn't until the start of 2020 that I felt well again and during Covid-19 lockdown I modified the Bambino Arduino software to suit Jet, and then in March 2021 finally got around to fitting the 4-way IR obstacle sensors and also fitted an IR line sensor to each foot to detect drop-offs or even black lines. I also added a small PCB with a PicAxe08m2 and IR-receiver to receive commands from a Sony IR-HandController (see Jet08IR.bas).
Unfortunately while the red 4-way-IR modules fit nicely on Jet and look good they are no use as obstacle detectors because they are far too sensitive to any daylight from windows which swamps the IR-light returned from obstacles.
The 1.5mm coax sockets on the aluminium brackets at the rear of the hips are for a 5v supply, there are connectors on the legs so the feet batteries can be isolated.

Jet PicAxe08m2 IR-board
Updates
2023-06-11 finally updated the last Jet(k) with the green LED sensors.
2022-10-26 I bought some new S03 servos, removed the hitec_hs422 servos and fitted the S03 because I didn't think the Jets were good enough for the hitec_hs422 servos.
Actually I have used a lot of S03 and really like them, they don't have enough torque to self destruct yet are powerfull enough for these small robots and were low price.
2021-04-26 increased the chamfer on the back top corner of the rear legs so the tilt wire misses it at maximum stride.

2017 I removed the S3003 and fitted hitec_hs422 servos.
2017 I bought some Futaba S3003 and fitted them to the Jets with the intention of using the Corona CS-538BP for something better. However walking was now very stilted because the S3003 servos, once pulsed, never relax, when not being pulsed the the H-bridge brakes the motor so doesn't allow it to coast to a stop. It also makes it very difficult to back-drive the servos which may be fine for some applications but not for life-like movements.
2013 Jets were fitted with Corona CS-538BP servos which are quite fast.
Software
The Jet Arduino software is based on the Bambino software which at the time consisted of a suite of 48 (now 53) programs sarting with setting the servos to a mid position, then flashing the LEDS (Jet doesn't have any), slowly building up step by step. So the Jet programs start at JA48_Do.
The Jets were fitted with a PicAxe08m2 (Jet08IR.bas) which can receive IR commands from a Sony handset so SoftSerial was added to receive the translated IR commands.
JA55_Uif - 24 September 2023
JA55_Uif.zip
Introducing
commands "u<xcmnds}", "u>xcmnds}" - to act on ultrasonic objectRange
Introducing
commands 'iw','0'-'3', to turn Whisker LEDs on or off
commands 'it','0'-'3', to turn Toe LEDs on or off
Introducing
commands 't-', 't+', to turn to object or turn to open space (also as "ax" for IR use)
commands 'a-', 'a+', to turn to object or turn to open space
commands [^][-], [^][+] to turn to object or turn to open space
Introducing
command 'a' to execute coded actions
'a1' beep, 'a2' whee, 'a3' whoa, 'a4' chatter make random sounds
'as','1'-'9' shuffle, 'ar','1'-'9' rock
'*r', '*w' read and write any byte in EEPROM - for higher processor
Jet now fitted with 4way IR obstacle sensors, one on each foot and two on the body
plus an IR line/drop-off sensor on each foot.
'bwf' - set stepping direction forwards in L and R, used in Reactions
'bwb' - set stepping direction backwards in L and R, used in Reactions
Introducing
m - start of a mind
} - end of a Mind
m will give an ability for the robot to randomly change its mind
depending on a probability level 1 - 9 where e.g. 7 will give 70% certainty
of the commands in the mind being executed and 30% probability of them being skippped
and execution continuing after the }.
use - m4FFFVRRR}BBB.
if a generated random number (1 - 9) is less than 4 then FFFVRRR will be skipped
Help was getting long so it has been split into three parts - printHelpActs, printHelpBehaviour, printHelpSystem
added constants rollbyScale =4, pacebyScale =4, turnbyScale =4
used in BA49_Mind - bp,br,bt,printbehaviour, printbehaviours, Help39,varsCons
previously was embeded
Introducing
( - start of a Do, a jump to an Act will on . continue in the Do
will show its location in EEPROM when played.
If a jump is made to an Act which contains another Do then that Do
will not be implemented.
) - end of a Do
will show its location in EEPROM when played
Q or [Esc] to Quit all, needed to quit from Do
b0 - reload current behaviour to RAM BeHaves