My Project Jarvis

Rich

United Kingdom
robot video thumbnail
robot video thumbnail
robot video thumbnail

I know I should finish Melvin before starting a new build but Josh's Jarvis has inspired me to give my JARVIS a physical form.

Some already are aware that I already have a JARVIS like system installed in my whole house which carries out a multitude of tasks from being an automatic PVR (like Tivo but better), controlling the heating and hot water system, controlling lights... too much to list really but one day I will attempt it.

Anyway, since it doesn't currently use ARC or an EZ-B I haven't posted much about it on here, but that's changing for 2 reasons...

  1. To inspire you guys to open a can of awesomeness and
  2. Because finally JARVIS will become a real robot rocking an EZ-B.

Basing the design around a RAD V1 robot

So far all I've done to the RAD is stripped it down - why they soldered every connection is beyond me!..

A lot of the choices I make on this project will be chosen by JARVIS. I will be adding some scripting so that I can ask him things like "What colour do you want to be?" and he will choose... this should make it interesting:D

Like I said, his brain is existing and has been for around 2 years, with new features being added all the time. You know what, let JARVIS tell you himself a little bit about him:D

For more, check out Jarvis Youtube Channel or www.JARV15.com (under construction)

User-inserted image

User-inserted image

By — Last update

ARC Pro

Upgrade to ARC Pro

Join the ARC Pro community and gain access to a wealth of resources and support, ensuring your robot's success.

PRO
United Kingdom
#9  

@jstarne1 Yes they are actually the RAD hands cut off, each lobe had a PIR sensor in for right/left human detection, I do this with all my robots now. The face had a custom designed ultrasonic ranger and in the center is a thermal heat detector that measures the actual heat emitted from a target. This is useful as the robot can tell if (say) a ranger target is human or not by its heat signature.

#11  

Can't wait! I will follow this one closely, Great sketch BTW....

United Kingdom
#12  

I jumped the gun a little and started playing with some ideas for the remote control over a web page and adding in some cool stuff on the image, kinda like Iron Man's hud:D (although Melvin helped out with the shot since Jarvis is still in pieces).

User-inserted image

The green/orange/red bar is battery level and is dynamic using some clever PHP The blue is the distance sensor (which isn't working so reported nothing at all in front) The green bar to the side is sound level I plan to add in a bunch more widgets too when I get chance, but that's way down the line, I only did this as a break from burning my hands with a soldering iron...

I've also written the script for Jarvis to pick what colour he wants to be:D A robot that designs itself is just awesome... video of that process to come soon but for those interested, here is the script.


# Colour chooser script for Jarvis self design

# Use voice recognition to ask Jarvis what colour he wants to be
# Use random numbers to choose a colour
# Run the choices until the same is picked twice consecutivly

# Colour options
$black = 0
$brown = 0
$red = 0
$orange = 0
$yellow = 0
$green = 0
$blue = 0
$violet = 0
$grey = 0
$white = 0
$silver = 0
$gold = 0


SayWait("Hummmm let me think")
Sleep(500)

$choice1 = GetRandom(0,11)
Goto(pick1)
SayWait("I quite like $colour")

:loop
$choice2 = GetRandom(0,11)
IF ($choice1 = $choice2)
  Goto(done)
ELSE 
  Sleep(300)
  Goto(pick2)
  IF ($black>3 OR $brown>2 OR $red>2 OR $orange>2 OR $yellow>2 OR $green>2 OR $blue>2 OR $violet>2 OR $grey>2 OR $white>2 OR $gold>2 OR $silver>2)
    goto(done)
  ELSE 
    $phrase = GetRandom(0,3)
    IF ($phrase = 0)
      SayWait("but I also like $colour")
    ELSEIF ($phrase = 1)
      SayWait("although $colour is nice")
    ELSEIF ($phrase = 2)
      SayWait("but theres something to be said about $colour")
    ELSEIF ($phrase = 3)
      SayWait("but $colour is cool")
    ENDIF 
  ENDIF 
ENDIF 
$choice1 = GetRandom(0,11)
IF ($choice1 = $choice2)
  Goto(done)
ELSE 
  Sleep(300)
  Goto(pick1)
  IF ($black>2 OR $brown>2 OR $red>2 OR $orange>2 OR $yellow>2 OR $green>2 OR $blue>2 OR $violet>2 OR $grey>2 OR $white>2 OR $gold>2 OR $silver>2)
    goto(done)
  ELSE 
    $phrase = GetRandom(0,3)
    IF ($phrase = 0)
      SayWait("but I also like $colour")
    ELSEIF ($phrase = 1)
      SayWait("although $colour is nice")
    ELSEIF ($phrase = 2)
      SayWait("but theres something to be said about $colour")
    ELSEIF ($phrase = 3)
      SayWait("but $colour is cool")
    ENDIF 
  ENDIF 
ENDIF 
Goto(loop)

:pick1
IF ($choice1 = 0)
  $colour="black"
  $black++
ELSEIF ($choice1 = 1)
  $colour="brown"
  $brown++
ELSEIF ($choice1 = 2)
  $colour="red"
  $red++
ELSEIF ($choice1 = 3)
  $colour="orange"
  $orange++
ELSEIF ($choice1 = 4)
  $colour="yellow"
  $yellow++
ELSEIF ($choice1 = 5)
  $colour="green"
  $green++
ELSEIF ($choice1 = 6)
  $colour="blue"
  $blue++
ELSEIF ($choice1 = 7)
  $colour="violet"
  $violet++
ELSEIF ($choice1 = 8)
  $colour="grey"
  $grey++
ELSEIF ($choice1 = 9)
  $colour="white"
  $white++
ELSEIF ($choice1 = 10)
  $colour="silver"
  $silver++
ELSEIF ($choice1 = 11)
  $colour="gold"
  $gold++
ENDIF 
Return()

:pick2
IF ($choice2 = 0)
  $colour="black"
  $black++
ELSEIF ($choice2 = 1)
  $colour="brown"
  $brown++
ELSEIF ($choice2 = 2)
  $colour="red"
  $red++
ELSEIF ($choice2 = 3)
  $colour="orange"
  $orange++
ELSEIF ($choice2 = 4)
  $colour="yellow"
  $yellow++
ELSEIF ($choice2 = 5)
  $colour="green"
  $green++
ELSEIF ($choice2 = 6)
  $colour="blue"
  $blue++
ELSEIF ($choice2 = 7)
  $colour="violet"
  $violet++
ELSEIF ($choice2 = 8)
  $colour="grey"
  $grey++
ELSEIF ($choice2 = 9)
  $colour="white"
  $white++
ELSEIF ($choice2 = 10)
  $colour="silver"
  $silver++
ELSEIF ($choice2 = 11)
  $colour="gold"
  $gold++
ENDIF 
Return()

:done
Sleep(1000)
SayWait("Actually I really like $colour")
Halt()

What it does is it will pick a colour based on a random number, it will then pick another colour the same way, if they both match (i.e. two consecutive colours the same) then that's what he "actually really likes" otherwise it continues until either 2 colours the same are picked consecutively or the same colour is picked 3 times in any order. There is also some code to change the responses to stop it becoming repetitive.

What I may do is add in some preference over favourite colours based on real life surveys and lists on the internet such as this one, while still leaving it open for him to almost have free will. I'm not quite sure how I will do this yet without the script running for hours with him chopping and changing his mind but I'm sure I will figure something out.

A pointless script for the operation of the robot but a cool feature if I do say so myself. Hopefully he doesn't decide he likes brown!..

#14  

I think he will pick silver lol

#15  

Very cool Rich!(php)..and Thank you for the script! and I agree with Josh...silver!

PRO
United Kingdom
#16  

Great work Rich, I like that screen graphic display.