OK, I will ask again
Mel Addison  [42 posts]
7 years
OK, since it has been 9 days since I asked the question, I will word it a different way.  

I know how to apply filters and such like photoshop, etc.  I watched the nav plugin software. I just want it to do what the man did in the video. I want to A: go to certain locations (Like his charger). B: not bump into the wall or people, etc and navigate and avoid obsticals. c: Recognize certain objects. I have a Leaf based computer running windows xp MCE.  I am not a professional programmer. That is why I bought the software. It is already made. I can see it is very powerful. But, if it doesn't easily do what the video says for me on my Robot, it is useless.

I guess I just need some guidance. The tutorials  are nice , but they are clear as mud to me. Someone has probably done this before on a Leaf Robot. I just need some coding examples for those three things as applied to Leaf.

You guys are amazing programmers. Thanks for your time. Hope you don't think I am being out of line.


EDV  [328 posts] 7 years
First you should connect Navigator variables to your robot for control.

What robot you use?
Is there robot driver in RoboRealm package?

Variables: NV_FORWARD, NV_BACKWARDS, NV_TURRET_LEFT, NV_TURRET_RIGHT is changing as ramp when turret/body inertia bigger than 0.

The variables: NV_LEFT and NV_RIGHT indicate when the robot should move forward or backwards to the left or right side (0 – off, 1 – on).

If body inertia (for example) is 4 then variables NV_FORWARD and NV_BACKWARDS will increase up to 5 when signal is activated and further will keep in this value.

For example see variables definition for motors in C terms:

int RightMotorForward     = (NV_FORWARD     && !NV_RIGHT) ? NV_FORWARD     : 0;

int RightMotorBackwards = (NV_BACKWARDS && !NV_LEFT  ) ? NV_BACKWARDS : 0;

int LeftMotorForward       = (NV_FORWARD     && !NV_LEFT  ) ? NV_FORWARD     : 0;

int LeftMotorBackwards   = (NV_BACKWARDS && !NV_RIGHT) ? NV_BACKWARDS : 0;
EDV  [328 posts] 7 years
I have not found the robot driver for "Leaf Robot" in Contents\Control\Robots of RoboRealm package.
Also I can't find direct link to the description of "Leaf Robot".
See Google results: http://tinyurl.com/2vzvh9p

So, if RoboRealm not have ready-made driver for your robot then you should make it by yourself (as RoboRealm plugin).

For example I use radio-controlled model that I have connected to my PC and made driver for control (plugin for RoboRealm):
Mel Addison  [42 posts] 7 years
Thanks for the Reply.
Mel Addison  [42 posts] 7 years
Thanks for replying to my question, EDV.

Go to LeafProject.org with a google search. There you will find Leaf.  RR has two API interfaces for Leaf. One is with C and one is with Lisp. I prefer the Lisp one to work with.

Members of the Club are working on interfacing Leaf to RR. Hope that it works.

Any advice appreciated.


Anonymous 7 years

From my last knowledge of how Leaf was working with RR, you have a LISP API that runs within Leaf and communicates out to RR via this API. We don't have a motor driver in RR for Leaf since the LISP code is what is responsible for driving the robot by communicating with Alex's motor control circuitry. Or at least that's how I've understood the platform the last time I saw it. Checking with Bruce would be a good thing since I know he has been working in this area with Leaf more extensively than most others.

So, in the case of Leaf, you'd be talking to RR via the LISP API and getting the AVM Navigator variables back into LISP to react on. To start small setup RR with the AVM navigator module and teach it something within view. Then within LEAF (not sure where though) you'd query for NV_FORWARD & NV_BACKWARDS and determine how to move based on that. But the actual move commands are LISP functions (I think) that you use in Leaf.

In this way you are using RR as a smartsensor and relaying the movements to the Leaf motors via LISP. Unfortunately, you will have to jump into some code in order to make this work. Leaf was created as a platform to experiment in AI and robot control and thus does require coding (although LISP is a lot easier than most) to get things to work. Perhaps the folks in the Leaf forum could help you out with that.

Again, this is my understanding on how the Leaf system works which may be a little dated.

Mel Addison  [42 posts] 7 years
Steven, I really appreciate your information. You are right. Dr. Bruce is working on this. Don't know how long it will take. But, you have at least given me some directions.



This forum thread has been closed due to inactivity (more than 4 months) or number of replies (more than 50 messages). Please start a New Post and enter a new forum thread with the appropriate title.

 New Post   Forum Index