Hi,
This is perhaps more a Coin question, but is there any way to model stretchable bodies in OpenRAVE? I'm not interested in springs or the like, but would like to display a set of cylinders whose length changes dynamically. Specifically, I'm modeling an inverted Stewart platform, and would like to visualize the cables that suspend the platform. Thanks, -Brennan |
Hi Brennan,
If this is just for visualization, you can use any of the plotting functions: drawlinestrip drawlinelist drawtrimesh drawbox (not implemented at the moment, but tell me if you need it) At every new frame, just delete the old plot and start a new one. This is fast, so you won't notice any lag unless you render 100,000+ primitives. rosen, 2008/8/28 Brennan Peter Sellner <[hidden email]>: > Hi, > > This is perhaps more a Coin question, but is there any way to model > stretchable bodies in OpenRAVE? I'm not interested in springs or the > like, but would like to display a set of cylinders whose length changes > dynamically. > > Specifically, I'm modeling an inverted Stewart platform, and would like to > visualize the cables that suspend the platform. > > Thanks, > > -Brennan > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Openrave-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/openrave-users > |
Rosen,
I'm trying to set the linear and angular velocity of a knibody. From the openrave API I found the KinBody::SetVelocity function that would appear to do what I want. However, when I looked closer at the openrave code, it appears that this function passes the velocities on to the physics engine interface, which just outputs a message saying that this is not supported. Is there a non-physics based way to do this within openrave, or should a create my own monitoring function that increments the position for all my bodies at each simulation step? Seth |
Hi Seth,
In order to set velocities through the physics engine, you'll have to switch to a non-dummy engine. Currently the only one supported is ODE. Check out this tutorial on how to do it: http://openrave.programmingvision.com/index.php?title=Tutorials:Simulations However, all your bodies will now be affected by collisions and gravity, so it might be very hard to work with. Another way is to create a Trajectory file with waypoints and timestamps and SetTrajectory on the robot. You can control both joint velocities and velocity of the entire body. I recommend this method over creating your own monitoring function. Rosen, PS: I'll add functionality for no joint limits in a week or two necessary for physics experiments (if you can wait). 2008/9/5 Seth Koterba <[hidden email]>: > Rosen, > I'm trying to set the linear and angular velocity of a knibody. From > the openrave API I found the KinBody::SetVelocity function that would > appear to do what I want. However, when I looked closer at the openrave > code, it appears that this function passes the velocities on to the > physics engine interface, which just outputs a message saying that this > is not supported. > > Is there a non-physics based way to do this within openrave, or should a > create my own monitoring function that increments the position for all my > bodies at each simulation step? > > Seth > > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Openrave-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/openrave-users > |
Rosen,
What is the difference between creating a KinBody and a Robot? Within a plugin, I'm trying to create a robot with env->CreateRobot(name), but the result is NULL, however creating a kinbody does not return NULL. By looking at the difference between CreateKinBody and CreateRobot, it seems that there is something fundamentally different between the two. Is it possible to create a robot from within a plugin? Seth |
Hi Seth,
CreateRobot takes a robot type. For a list of the current types supported by plugins type ./openrave -listplugins For example, env->CreateRobot("GenericRobot") should work. KinBodies do not have types, that is why you can create a KinBody without specifying anything. Once you create a robot, you should call RobotBase::Init and specify and xml file to load the robot with geometry. rosen, 2008/9/5 Seth Koterba <[hidden email]>: > Rosen, > What is the difference between creating a KinBody and a Robot? Within a > plugin, I'm trying to create a robot with env->CreateRobot(name), but > the result is NULL, however creating a kinbody does not return NULL. By > looking at the difference between CreateKinBody and CreateRobot, it > seems that there is something fundamentally different between the two. > Is it possible to create a robot from within a plugin? > > Seth > > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Openrave-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/openrave-users > |
Free forum by Nabble | Edit this page |