ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

How to set up pa10library for pa10controller that uses openrave_robot_control?

asked 2012-06-27 23:24:19 -0600

Luis Parra gravatar image

updated 2012-06-28 00:33:52 -0600



Ubuntu Precise Pangolin 12.04

Ros Fuerte

I'm trying to get my pa10 arm working using openrave_robot_control package. I successfully ros installed openrave_robot_control and all of its dependencies. I have a problem understanding how to set up my library and how does pa10controller works. This is what happens when I run rosmake pa10controller:

unex@unex-OptiPlex-GX270:~/ros_workspace$ rosmake pa10controller 
    [rosmake-0] Starting >>> pa10controller [ make ]                                
    [ rosmake ] All 12 linesa10controller: 0.9 sec ]     [ 1 Active 20/21 Complete ]
      mkdir -p bin
      cd build && cmake -Wdev -DCMAKE_TOOLCHAIN_FILE=`rospack find rosbuild`/rostoolchain.cmake  ..
      [rosbuild] Building package pa10controller
      [rosbuild] Including /opt/ros/fuerte/share/rospy/rosbuild/rospy.cmake
      [rosbuild] Including /opt/ros/fuerte/share/roscpp/rosbuild/roscpp.cmake
      [rosbuild] Including /opt/ros/fuerte/share/roslisp/rosbuild/roslisp.cmake
      CMake Error at CMakeLists.txt:9 (message):
        failed to find PA-10 library

      -- Configuring incomplete, errors occurred!
    [ rosmake ] Output from build of package pa10controller written to:
    [ rosmake ]    /home/unex/.ros/rosmake/rosmake_output-20120628-105935/pa10controller/build_output.log
    [rosmake-0] Finished <<< pa10controller [FAIL] [ 0.93 seconds ]                 
    [ rosmake ] Halting due to failure in package pa10controller. 
    [ rosmake ] Waiting for other threads to complete.
    [ rosmake ] Results:                                                            
    [ rosmake ] Built 21 packages with 1 failures.                                  
    [ rosmake ] Summary output to directory                                         
    [ rosmake ] /home/unex/.ros/rosmake/rosmake_output-20120628-105   935

So I check FindPA10.cmake, and didn't quite understood how and where it searches for pa10library. I appreciate any tutorial or where to add my *.h files and my lib folder.


Edit 1: According to FindPA10.cmake, it searches a ROS package named pa10library, so I created one in my rosworkspace.

19  # first look for the ROS package pa10library, if that isn't found, force the search
20  set(_pa10library_invoke_result)
21  execute_process(
22    COMMAND ${ROSPACK_EXE} find pa10library

I added to this package the include folder, and lib folder of my pa10 arm. I also add the *.h and my libraries to:

/usr/local/include/  the *.h goes in here
/usr/local/lib/ the pa10 library goes in here

After it I tried to compile it and get the following kind of error:

/home/unex/ros_workspace/pa10controller/src/pa10controller.h:370:30: error: 'pa_ext_arm' was not declared in this scope

I noticed, that all the functions / methods that it says that weren't declared in this scope are the one that depends from pa10library so I must has linked it wrong.

edit retag flag offensive close merge delete


@ipso Thanks, I'll take a look to find_path documentation.

Luis Parra gravatar image Luis Parra  ( 2012-06-28 00:36:09 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2012-06-27 23:54:34 -0600

ipso gravatar image

updated 2012-06-28 00:18:19 -0600

(Note: I have no direct experience with the actual arm or the development environment for it)

It seems the CMake find script for the PA-10 library is unable to locate the necessary files. Do you have the library and headers installed/present (seems like a manual step outside of ROS, see pa10controller package page)?

According to this, the FindPA10 script looks in a number of locations (the list starting at line 56). You could either add your paths there, or define the CMake variables PA10_INCLUDE_DIRS and PA10_LINK_DIRS on the command line somehow. See also the CMake documentation for the find_path command (especially bullet 2).

Also, are you sure the pa10controller package is compatible with Fuerte? Last commit to cmu-ros-pkg/trunk/pa10controller was 23 months ago, which seems to be from before Fuerte was even planned.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2012-06-27 23:24:19 -0600

Seen: 252 times

Last updated: Jun 28 '12