Home   Archive   Permalink



Dialect for Robot (servos, etc.)

I've started working on a robotics kit with Owen, one of the ameriDroid interns. Basically, it is a walking Linux computer with a 320x240 display and four servos. Two of the servos are the hips and two servos are the ankles. I'd like to develop a dialect so people not familiar with Rebol can program the robot to do specific moves. I'm looking for input on how the finished dialect could work. Here's a starting point off the top of my head:
    
[
left-hip: s0 ;assign 'left-hip to servo 0
right-hip: s1 ;etc.
left-ankle: s2
right-ankle: s3
    
right-ankle to 15 in .2
wait .1
right-hip to -45 in .5
]
    
Does anyone have any ideas on what could make the dialect easy to use for newbies?

posted by:   Bo       5-Apr-2015/2:27:22-7:00



You can see a video of the as-of-yet unnamed robot doing its first dance here: https://www.facebook.com/video.php?v=1067525213264295&set=vb.100000204788879&type=2&theater¬if_t=like

posted by:   Bo       5-Apr-2015/2:31:31-7:00



skynet: [overthrow-humanity: true]
    
Still have to work out the issue of whether true is the *word* true, or a literal.

posted by:   Fork       5-Apr-2015/5:50:41-7:00



Fort, this is great. Why not assign default names to each of the servos?

posted by:   Nick       5-Apr-2015/6:54:17-7:00



Nick: I would like it to be a more general dialect so it could also be used for things like autonomous aircraft, etc.

posted by:   Bo       5-Apr-2015/11:18:34-7:00



    left-hip: s0 ;assign 'left-hip to servo 0
could be:
     assign-left-hip-to servo: s0
so need for comments which tend to break up code
    
s0,s1,s2... maybe use descriptive words.    
    


posted by:   Norbert       5-Apr-2015/18:53:20-7:00



You call that 'work' Bo? ;-)
I don't have FB account and I do not want to upgrade my Adobe Flash player, so did not see the video.
Well, perhaps linking the servos to pins they are connected to, to make it usable for more general purpose. Maybe you can get some ideas from the Arduino boards.

posted by:   iArnold       6-Apr-2015/5:00:20-7:00



iArnold, you can also find a video on Google+ if you have an account there. I'll post a video to YouTube once we get some actual motions like walking, etc. The pins are labeled s0 to s7, but I could add aliases for the pins like Servo0.
    
An idea I had was to set up a database where users could upload interesting combinations of moves and optionally audio tracks. The robot could then perform dances or soliloquies and others could download and watch the performances. :-)

posted by:   Bo       7-Apr-2015/1:18:03-7:00



Utilized my JSID dialect to create a webpage to control the walking robot today. Used my smartphone to access the webpage and control the servos. After starting the robot with the battery pack plugged in to wall power, removed the wall power and the robot was entirely under battery power. This was important as it allowed the robot to balance without hindrance from external cables.

posted by:   Robot moved under its own power (pack) today       7-Apr-2015/23:49:42-7:00



Oops, I put the subject in the name line above. :-)

posted by:   Bo       7-Apr-2015/23:50:29-7:00



Juicy stuff - please send more videos.

posted by:   Nick       8-Apr-2015/9:16:34-7:00



Update: I was hoping to get a video out today, but the robot needs some foot modifications to make him a little more stable. He's a bit off balance right now. ;-)
    
My JSID webpage that controls the robot can move the servos individually in real time, and also allows creating "servo macros" to do things like walk, turn, dance, etc. The servo macros are still very basic, but will become more advanced. The servo control dialect is starting to take shape.
    
I hope to have a new video up this weekend.

posted by:   Bo       9-Apr-2015/23:44-7:00



Here's a demo video of my walking robot: <iframe width="560" height="315" src="https://www.youtube.com/embed/kAc7Tz42Mto" frameborder="0" allowfullscreen></iframe>

posted by:   Bo       11-Apr-2015/0:47:17-7:00



I want one of those.

posted by:   Nick       12-Apr-2015/22:58:49-7:00



I need a couple of beta testers willing to give me feedback, and possibly add some of their own touches.
    
Nick, you've already donated to JSID (which is an important component of the robot). If you're willing to help with beta testing and writing some documentation, I'd be more than happy to send you one.

posted by:   Bo       14-Apr-2015/1:18:20-7:00



Looks like you are getting a new toy Nick! Will you be making a video of the robot walking the strings, playing one of your guitars?

posted by:   Arnold       15-Apr-2015/2:45:55-7:00



I'll clear my schedule :)

posted by:   Nick       15-Apr-2015/4:53:11-7:00



LOL :D
I have no schedule, Bo ship me one of those terminators too. ;-)

posted by:   Arnold       16-Apr-2015/14:40:26-7:00