Robot composition

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Robot composition

Franziska Zacharias
Hi,

I finally got back to implementing the custom kinematics.

(up to know our workarounds where enough)

I wanted to add addtional subrobot kinematics.

For this I used the robot composition to build our humanoid from its
parts (arms, head, torso)

using the below scheme.

1. A robot can reference other robots through:

<Robot>
 <Robot file="torso.robot.xml"/>
 <Robot file="arm.robot.xml"/>
</Robot>

I then wanted to tell Openrave that the torso robot actually is a custom
robot:

<Robot>
 <Robot type="torsorobot" file="torso.robot.xml"/>
 <Robot file="arm.robot.xml"/>
</Robot>


Can it be that openrave just checks the type of the encasing robot?

Do I have access to the subrobots from which the toprobot is build->
can I get a pointer to the arm robot? To then query it for its links etc

Ciao
Franziska


--
___________________________________________________________________

  Dipl. Inform. Franziska Zacharias

  DLR  German Aerospace Center
  Institute of Robotics and Mechatronics
  P.O.Box 1116, D-82230 Wessling

  Phone:  ++49-8153/28-2415              Fax:    ++49-8153/28-1134
  E-Mail: [hidden email]
                                                            /|
                                                         --/-/--
_______________________________________________________ /_/_/__/___
                                                          |/ DLR


------------------------------------------------------------------------------
This SF.net email is sponsored by

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev 
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users
Reply | Threaded
Open this post in threaded view
|

Re: Robot composition

Rosen Diankov
Administrator
Hi Franziska,

Unfortunately, a robot can be of only one type. However, it would be
possible to achieve what you are trying to do by creating a
ComposedRobot class deriving from RobotBase. The ComposedRobot would
then be a collection of robots of their own types (and each robot
would have its own controllers). Then the component robot would
override all kinbody methods to return the aggregate of all the joints
and links of all the robots. We could also make it possible to join
the links of different robots with a joint.

It would be possible to do this all through a plugin, but XML
processing part would be a little complicated.

Perhaps we can draw up a spec of exactly what is necessary. In order
to motivate such a composition, it would be great if openrave had a
robot inside of its repository that showed its necessity.

rosen,

What do you think about this?

2010/8/12 Franziska Zacharias <[hidden email]>:

> Hi,
>
> I finally got back to implementing the custom kinematics.
>
> (up to know our workarounds where enough)
>
> I wanted to add addtional subrobot kinematics.
>
> For this I used the robot composition to build our humanoid from its
> parts (arms, head, torso)
>
> using the below scheme.
>
> 1. A robot can reference other robots through:
>
> <Robot>
>  <Robot file="torso.robot.xml"/>
>  <Robot file="arm.robot.xml"/>
> </Robot>
>
> I then wanted to tell Openrave that the torso robot actually is a custom
> robot:
>
> <Robot>
>  <Robot type="torsorobot" file="torso.robot.xml"/>
>  <Robot file="arm.robot.xml"/>
> </Robot>
>
>
> Can it be that openrave just checks the type of the encasing robot?
>
> Do I have access to the subrobots from which the toprobot is build->
> can I get a pointer to the arm robot? To then query it for its links etc
>
> Ciao
> Franziska
>
>
> --
> ___________________________________________________________________
>
>  Dipl. Inform. Franziska Zacharias
>
>  DLR  German Aerospace Center
>  Institute of Robotics and Mechatronics
>  P.O.Box 1116, D-82230 Wessling
>
>  Phone:  ++49-8153/28-2415              Fax:    ++49-8153/28-1134
>  E-Mail: [hidden email]
>                                                            /|
>                                                         --/-/--
> _______________________________________________________ /_/_/__/___
>                                                          |/ DLR
>
>

------------------------------------------------------------------------------
This SF.net email is sponsored by

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev 
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users
Reply | Threaded
Open this post in threaded view
|

Re: Robot composition

Nick Hillier
This sounds like a useful feature of which we would probably also take
advantage.

regards,
Nick

On Fri, 2010-08-13 at 00:52 +1000, Rosen Diankov wrote:

> Hi Franziska,
>
> Unfortunately, a robot can be of only one type. However, it would be
> possible to achieve what you are trying to do by creating a
> ComposedRobot class deriving from RobotBase. The ComposedRobot would
> then be a collection of robots of their own types (and each robot
> would have its own controllers). Then the component robot would
> override all kinbody methods to return the aggregate of all the joints
> and links of all the robots. We could also make it possible to join
> the links of different robots with a joint.
>
> It would be possible to do this all through a plugin, but XML
> processing part would be a little complicated.
>
> Perhaps we can draw up a spec of exactly what is necessary. In order
> to motivate such a composition, it would be great if openrave had a
> robot inside of its repository that showed its necessity.
>
> rosen,
>
> What do you think about this?
>
> 2010/8/12 Franziska Zacharias <[hidden email]>:
> > Hi,
> >
> > I finally got back to implementing the custom kinematics.
> >
> > (up to know our workarounds where enough)
> >
> > I wanted to add addtional subrobot kinematics.
> >
> > For this I used the robot composition to build our humanoid from its
> > parts (arms, head, torso)
> >
> > using the below scheme.
> >
> > 1. A robot can reference other robots through:
> >
> > <Robot>
> >  <Robot file="torso.robot.xml"/>
> >  <Robot file="arm.robot.xml"/>
> > </Robot>
> >
> > I then wanted to tell Openrave that the torso robot actually is a custom
> > robot:
> >
> > <Robot>
> >  <Robot type="torsorobot" file="torso.robot.xml"/>
> >  <Robot file="arm.robot.xml"/>
> > </Robot>
> >
> >
> > Can it be that openrave just checks the type of the encasing robot?
> >
> > Do I have access to the subrobots from which the toprobot is build->
> > can I get a pointer to the arm robot? To then query it for its links etc
> >
> > Ciao
> > Franziska
> >
> >
> > --
> > ___________________________________________________________________
> >
> >  Dipl. Inform. Franziska Zacharias
> >
> >  DLR  German Aerospace Center
> >  Institute of Robotics and Mechatronics
> >  P.O.Box 1116, D-82230 Wessling
> >
> >  Phone:  ++49-8153/28-2415              Fax:    ++49-8153/28-1134
> >  E-Mail: [hidden email]
> >                                                            /|
> >                                                         --/-/--
> > _______________________________________________________ /_/_/__/___
> >                                                          |/ DLR
> >
> >
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by
>
> Make an app they can't live without
> Enter the BlackBerry Developer Challenge
> http://p.sf.net/sfu/RIM-dev2dev 
> _______________________________________________
> Openrave-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/openrave-users



------------------------------------------------------------------------------
This SF.net email is sponsored by

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev 
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users