or_cdchomp plug-in dependancy

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

or_cdchomp plug-in dependancy

fred91
This post was updated on .
Hi,

Would or_cdchomp plugin (https://github.com/personalrobotics/or_cdchomp ) work on standalone openRAVE or does it need ROS installed with openRAVE ROS package?

Is there any installation instructions available? If not, could someone guide me on how to install the above plugin? Is there any other dependencies I should install/ check first?

I have installed openRAVE standalone and it seems to be working, but I am unsure how to install 3rd party plugins.

Thanks in advanced for your help.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: or_cdchomp plug-in dependancy

Chris Dellin
Hi Fred,

Would or_cdchomp plugin (https://github.com/personalrobotics/or_cdchomp) work on standalone openRAVE or does it need ROS installed with openRAVE ROS package?

Is there any installation instructions available? If not, could someone
guide me on how to install the above plugin? Is there any other dependencies
I should install/ check first?

The plugin should work with standalone OpenRAVE, but that package is currently set up to be built as a ROS package (either using the older rosbuild or newer catkin ROS build system).  It's OK if you have OpenRAVE itself installed as a regular system package.

Are you using ROS?  If so, it should be pretty easy to get system dependencies installed using rosdep.  You will also need another ROS dependency, openrave_catkin, which you can get from [0].

If you're not using ROS, then it is still possible to install the plugin directly.  There is an alternative source location in SVN [1] which uses the autotools build system.  You should be able to do this:

$ cd orcdchomp
$ autoreconf -i
$ ./configure --prefix=/usr
$ make
$ sudo make install

You will need the following system dependencies: subversion, gsl, blas, lapacke.  Depending on which OS you're using, they have different names.  Once installed, the library will go in /usr/lib/openrave-X.Y/ -- you should make sure that's in your OpenRAVE plugins path (set by the OPENRAVE_PLUGINS environment variable).  Let me know if you have any questions!

Cheers,
- Chris

------------------------------------------------------------------------------
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors
network devices and physical & virtual servers, alerts via email & sms
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: or_cdchomp plug-in dependancy

fred91
This post was updated on .
Hi Chris,

Another question: I assume I would need libcd as well, if so would I install this in a similar manner or would I install libcd as a python package, using pip or something?
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: or_cdchomp plug-in dependancy

Chris Dellin
Hi Fred,

Another question: I assume I would need libcd as well, if so would I install
this in a similar manner or would I install libcd as a python package, using
pip or something?

Ah, yes.  Two options there.  One, you could first install libcd (grab it from https://svn.dellin.net/libcd/trunk/ and install similarly to orcdchomp with autotools). Two, the version called or_cdchomp that you originally referenced (on github) already has the necessary components of libcd included inside .. you could try to edit its CMakeLists.txt file to simple remove stuff related to "caktin", and try to built it using vanilla cmake.

Cheers,
- Chris

------------------------------------------------------------------------------
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors
network devices and physical & virtual servers, alerts via email & sms
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: or_cdchomp plug-in dependancy

fred91
This post was updated on .
I'm trying to use the following ur5 manipulator COLLADA model with the chomp library:

https://github.com/rdiankov/collada_robots/blob/master/universalrobots-ur6-85-5-a.zae

I have altered the "test_wam7.py" script included in the orcdchomp (ROS) library to read in a custom openrave XML script which points to the ur5 ZAE model archive and also specifies the required spheres using appropriate orcdchomp tags. Everything seems to be working right up until I run the trajectory. I get the following output in the console when pressing enter to run the trajectory:

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[idealcontroller.cpp:519 _ReportError] robot ur5 dof 0 is violating max velocity displacement 2.489628462707049e+00 > 3.141690000000000e-02, time=0.010000
[idealcontroller.cpp:519 _ReportError] robot ur5 dof 1 is violating max velocity displacement 1.793582224047761e+00 > 3.141690000000000e-02, time=0.010000
[idealcontroller.cpp:519 _ReportError] robot ur5 dof 3 is violating max velocity displacement 1.992961741152953e+00 > 3.141690000000000e-02, time=0.010000
[idealcontroller.cpp:519 _ReportError] robot ur5 dof 5 is violating max velocity displacement 1.993022238139439e-01 > 3.141690000000000e-02, time=0.010000
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

The arm is moving to a desired goal pose fine, but it is not able to avoid collisions because the above joints appear to be locked since their velocities are being constrained (falsely I believe) by the set joints' "speed" tags defined in the ur5 .dae file. It appears to me that the speed of the joints are being specified in RPM within the "speed" tag and the controller is reading this as (some function of?) the max displacement velocity. I can't explain why this speed value appears to be multiplied by e-02 power and why a speed value of 180 is read as 3.14e-02 (looks like its doing a deg to rad conversion step but I have no idea how or why) by the controller, as seen in the above console output. If I try increase the speed value in the .dae file enough to overcome the velocity limit warning, then it moves too fast to see anything happen and it still collides anyway.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: or_cdchomp plug-in dependancy

Michael Koval
That warning is printed by IdealController and, like you said, means
that the trajectory is violating the robot's DOF velocity limits. This
is not directly related to CHOMP: the planner is only responsible for
producing a geometric path that has no timing information associated
with it.

You'll need to assign "deltatime" values to each waypoint that respect
the robot's velocity and acceleration limits before you execute it.
One way of doing this is to call a retimer (follows the exact
geometric path, e.g. ParabolicRetimer) or smoother (may alter the
path, e.g. ParabolicSmoother) on the output of CHOMP.

Any collisions you are seeing are likely unrelated. Are you sure the
spheres you defined using <orcdchomp> tags enclose the entire robot?
Is it possible that CHOMP is getting stuck in a local minima?

-Michael

On Mon, Jul 6, 2015 at 5:05 AM, fred91 <[hidden email]> wrote:

> Thanks a lot for your help Chris. After a few strenuous weeks I finally
> managed to get everything up and running!
>
> Now, I'm trying to use the following ur5 manipulator COLLADA model with the
> chomp library:
>
> https://github.com/rdiankov/collada_robots/blob/master/universalrobots-ur6-85-5-a.zae
>
> I have altered the "test_wam7.py" script included in the orcdchomp (ROS)
> library to read in a custom openrave XML script which points to the ur5 ZAE
> model archive and also specifies the required spheres using appropriate
> orcdchomp tags. Everything seems to be working right up until I run the
> trajectory. I get the following output in the console when pressing enter to
> run the trajectory:
>
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> [idealcontroller.cpp:519 _ReportError] robot ur5 dof 0 is violating max
> velocity displacement 2.489628462707049e+00 > 3.141690000000000e-02,
> time=0.010000
> [idealcontroller.cpp:519 _ReportError] robot ur5 dof 1 is violating max
> velocity displacement 1.793582224047761e+00 > 3.141690000000000e-02,
> time=0.010000
> [idealcontroller.cpp:519 _ReportError] robot ur5 dof 3 is violating max
> velocity displacement 1.992961741152953e+00 > 3.141690000000000e-02,
> time=0.010000
> [idealcontroller.cpp:519 _ReportError] robot ur5 dof 5 is violating max
> velocity displacement 1.993022238139439e-01 > 3.141690000000000e-02,
> time=0.010000
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> I'm pretty sure I understand what's happening here. Visually, I'll try
> describe: the arm is moving to a desired goal pose fine, but it is not able
> to avoid collisions because the above joints appear to be locked since their
> velocities are being constrained (falsely I believe) by the set joints'
> "speed" tags defined in the ur5 .dae file. It appears to me that the speed
> of the joints are being specified in RPM within the "speed" tag and the
> controller is reading this as (some function of?) the max displacement
> velocity. I can't explain why this speed value appears to be multiplied by
> e-02 power and why a speed value of 180 is read as 3.14e-02 (looks like its
> doing a deg to rad conversion step but I have no idea how or why) by the
> controller, as seen in the above console output. If I try increase the speed
> value in the .dae file enough to overcome the velocity limit warning, then
> it moves too fast to see anything happen and it still collides anyway.
>
> I could not find any other way to specify the velocities of the joints in
> COLLADA format, so if there exists a more appropriate way to do this, that
> could be an easy fix. Otherwise I need to modify the "idealcontroller.cpp"
> source file, but it looks like it has been compiled into a Shared Object
> file. I guess i could edit this source file and rebuild openrave, but that
> is not ideal mainly because I would not know what to edit exactly and that
> could result in the need for trial and error which is not really feasible
> time-wise :P
>
> I hope that makes sense. Any help would be greatly appreciated!
>
>
>
> --
> View this message in context: http://openrave-users-list.185357.n3.nabble.com/or-cdchomp-plug-in-dependancy-tp4027428p4027454.html
> Sent from the OpenRAVE Users List mailing list archive at Nabble.com.
>
> ------------------------------------------------------------------------------
> Don't Limit Your Business. Reach for the Cloud.
> GigeNET's Cloud Solutions provide you with the tools and support that
> you need to offload your IT needs and focus on growing your business.
> Configured For All Businesses. Start Your Cloud Today.
> https://www.gigenetcloud.com/
> _______________________________________________
> Openrave-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/openrave-users

------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users
Loading...