Re: A robot simulator

Leopold Palomo Avellaneda <[email protected]>
Newsgroups gmane.science.robotics.orocos.user
Message-ID <[email protected]>
Hi,

> Some questions:
>
> - what is the basic design of the simulator? 

in the document of the master thesis (pag 107) there's a diagram of the 
architecture of the program.  I have a main class that do the modelization of 
the robot (kinematic direct and inverse) and mantain the state of the robot. 
The state of the robot is update to the representation.

> what "servers" and "clients" do you have?

Well, I think that I don't have a strictly client server architecture, but I 
could say that there's and part that manages the scene, that is done by Open 
Inventor. Another part that manages the robot, that means, interact with the 
robot with a sliders and bottons, a little parser to write instructions in 
VAL-II and another part that manages the menus, dialogs, etc.

>   can you interact in two directions with the simulator (i.e., not just
>   visualize things, but also indicate things on the GUI and have them
>   sent to the robot); ...

Not yet. I don't have colision detection. I hope that the SIM team (Coin) 
develop a good test. There's a think that I think that will be needed.
>
> - from the manual, I seem to get the impression that Qilex allows to
>   interactively build new kinematic chains?

Well, you need the D-H parameters (classical, not Craig) , some more 
information (rank of joints of the robot, speed, etc) and a Inventor file of 
the robot. After, you need to do some simple modification, ( in the Appendix 
are explained) \footnote{I will translate it, ok} to the inventor file and 
that's all.

>  How complex can these be?

I have developed it to modelate a kinematic open chain with any degree of 
freedom, but, by now I have tested only rotation joints, the program can fail 
if you put some model with more than 24 joints, but this can be solved with 2 
lines of code, nothing more. I'm not very glad of the kinematic inverse. We 
are working to have any better algorithm. I have looked a bit your libraries, 
and your method, but I need more information.

>   How are they stored on disk?
good question. Any time that you create a cell a temporal file (uname.qlx) is 
created, so you only need to copy this file as you wish and that all. I hope 
that this summer I will complete this.
>
> - how does one attach an external program, such as a robot controller
>   output, to the simulator? 

By now it's not possible. However, I think that I will modify the arquitecture 
to let this kind of things. I'm working on it.

> How does one do the opposite thing? (I.e.,
>  using the simulator to indicate desired positions.)

I don't understand very much this question. You can indicate to the robot the 
desired position with the sliders joint by joint, or with the interpret, with 
a classical move trans(x,y,z,yaw,pitch,roll)

> - what is the roadmap of this project? I mean, where do you want it to
>   be in one year's time?

- First of all, finish my master thesis. I gave the document, but I have to do 
the public defense. 
- After, I'm thinking in make a reorganitzation of the arquitecture to 
simplify some modules. There's a lot of code that begin to be very difficult 
to mantain. 
- I would like to learn about autotools, becuase I have used kdevelop and I'm 
not sure of a lot of things. So, I will like to improve some questions.
- Construct a better interpret. There's a question that we are thinking about 
languages of programing robots.
- Better organization of the code. 
....
There's a lot of things that I have to concrete. I one year? I don't know. I 
have a lot of things in my personal life that can condicionate this. This is 
one reason that I would like to publish it. I have worked a lot in this 
project, and probably if I don't publish it, it will be in a bookcase and 
nobody would look it.

Leo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.