質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.35%

maxonmoterをrosで動かしたいのですがcatkin_makeで詰まっています

受付中

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 499

xxkeitoxx

score 4

nvidia jetson tx2にてmaxonのepos4をrosによって動かそうとしているところです。githubにて公開されているeposx_hardwareを使用したいと考えているところでcatkin_makeが上手くいっていません。メッセージからココらへんをいじると解決しないかというアドバイスがあればお願いしたいです。

catkin_make
Base path: /home/nvidia/catkin_ws1
Source space: /home/nvidia/catkin_ws1/src
Build space: /home/nvidia/catkin_ws1/build
Devel space: /home/nvidia/catkin_ws1/devel
Install space: /home/nvidia/catkin_ws1/install

 

Running command: "cmake /home/nvidia/catkin_ws1/src -DCATKIN_DEVEL_PREFIX=/home/nvidia/catkin_ws1/devel -DCMAKE_INSTALL_PREFIX=/home/nvidia/catkin_ws1/install -G Unix Makefiles" in "/home/nvidia/catkin_ws1/build"

 

-- Using CATKIN_DEVEL_PREFIX: /home/nvidia/catkin_ws1/devel
-- Using CMAKE_PREFIX_PATH: /home/nvidia/cat_ws/devel;/opt/ros/kinetic
-- This workspace overlays: /home/nvidia/cat_ws/devel;/opt/ros/kinetic
-- Using PYTHON_EXECUTABLE: /usr/bin/python
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/nvidia/catkin_ws1/build/test_results
-- Found gmock sources under '/usr/src/gmock': gmock will be built
-- Found gtest sources under '/usr/src/gmock': gtests will be built
-- Using Python nosetests: /usr/bin/nosetests-2.7
-- catkin 0.7.14
-- BUILD_SHARED_LIBS is on
-- ~~~~~~~~~~~ --   traversing 4 packages in topological order:
--   - eposx_library --   - battery_state_interface
--   - dynamic_joint_limits_interface --   - eposx_hardware
-- ~~~~~~~~~~~~~
-- +++ processing catkin package: 'eposx_library'
-- ==> add_subdirectory(eposx_hardware/eposx_library)
-- Detected architecture: x86_64
-- +++ processing catkin package: 'battery_state_interface'
-- ==> add_subdirectory(battery_state_interface)
-- +++ processing catkin package: 'dynamic_joint_limits_interface'
-- ==> add_subdirectory(dynamic_joint_limits_interface)
-- +++ processing catkin package: 'eposx_hardware'
-- ==> add_subdirectory(eposx_hardware/eposx_hardware)
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   program_options
-- Configuring done
-- Generating done
-- Build files have been written to: /home/nvidia/catkin_ws1/build

 

Running command: "make -j4 -l4" in "/home/nvidia/catkin_ws1/build"

 

Scanning dependencies of target ftd2xx
Scanning dependencies of target EposCmd
Scanning dependencies of target fake_hardware_node
[  5%] Linking CXX shared library /home/nvidia/catkin_ws1/devel/lib/libftd2xx.so
[ 10%] Linking CXX shared library /home/nvidia/catkin_ws1/devel/lib/libEposCmd.so
[ 15%] Building CXX object dynamic_joint_limits_interface/CMakeFiles/fake_hardware_node.dir/src/fake_hardware_node.cpp.o
[ 15%] Built target EposCmd
[ 15%] Built target ftd2xx
Scanning dependencies of target epos_library_utils
[ 21%] Building CXX object eposx_hardware/eposx_hardware/CMakeFiles/epos_library_utils.dir/src/util/utils.cpp.o
[ 26%] Linking CXX shared library /home/nvidia/catkin_ws1/devel/lib/libepos_library_utils.so
/home/nvidia/catkin_ws1/devel/lib/libftd2xx.so: error adding symbols: File in wrong format
collect2: error: ld returned 1 exit status
eposx_hardware/eposx_hardware/CMakeFiles/epos_library_utils.dir/build.make:134: recipe for target '/home/nvidia/catkin_ws1/devel/lib/libepos_library_utils.so' failed
make[2]: * [/home/nvidia/catkin_ws1/devel/lib/libepos_library_utils.so] Error 1 CMakeFiles/Makefile2:1896: recipe for target 'eposx_hardware/eposx_hardware/CMakeFiles/epos_library_utils.dir/all' failed make[1]: * [eposx_hardware/eposx_hardware/CMakeFiles/epos_library_utils.dir/all] Error 2
make[1]: * Waiting for unfinished jobs.... [ 31%] Linking CXX executable /home/nvidia/catkin_ws1/devel/lib/dynamic_joint_limits_interface/fake_hardware_node [ 31%] Built target fake_hardware_node Makefile:138: recipe for target 'all' failed make: * [all] Error 2
Invoking "make -j4 -l4" failed
```

試したこと

`eposx_hardwareは派生元にepos_hardwareがあり、先にそちらを試したところほぼ同様
のエラーを吐いています。

catkin_make -jのコマンドを打ってのcatkin_makeを行ったところInvoking "make -j" failedとなりました。

sudo apt-get updateおよびsudo apt-get upgradeを行ってのcatkin_makeを行いました。

以下の操作をしてからのcatkin_makeを行いました。
~/catkin_ws$ sudo rm -r build/
~/catkin_ws$ sudo rm -r devel/
~/catkin_ws$ cd src
~/catkin_ws/src$ catkin_init_workspace

acer、Ubuntu 16.04.2 LTSにてepos_hardwareをcatkin_makeしましたところ以下のようなメッセージが出ました
In file included from /home/control/catkin_ws11/src/epos_hardware/epos_hardware/src/util/epos_hardware.cpp:1:0:
/home/control/catkin_ws11/src/epos_hardware/epos_hardware/include/epos_hardware/epos_hardware.h:32:10: error: ‘scoped_ptr’ in namespace ‘boost’ does not name a template type
boost::scoped_ptr<transmission_interface::TransmissionInterfaceLoader> transm
^
/home/control/catkin_ws11/src/epos_hardware/epos_hardware/src/util/epos_hardware.cpp: In constructor ‘epos_hardware::EposHardware::EposHardware(ros::NodeHandle&, ros::NodeHandle&, const std::vector<std::__cxx11::basic_string<char> >&)’:
/home/control/catkin_ws11/src/epos_hardware/epos_hardware/src/util/epos_hardware.cpp:11:5: error: ‘transmission_loader’ was not declared in this scope
transmission_loader.reset(new transmission_interface::TransmissionInterface
^
/home/control/catkin_ws11/src/epos_hardware/epos_hardware/src/util/epos_hardware.cpp:64:12: error: ‘transmission_loader’ was not declared in this scope
if (!transmission_loader->load(info)) {
^
epos_hardware/epos_hardware/CMakeFiles/epos_hardware.dir/build.make:62: ターゲット 'epos_hardware/epos_hardware/CMakeFiles/epos_hardware.dir/src/util/epos_hardware.cpp.o' のレシピで失敗しました
make[2]: * [epos_hardware/epos_hardware/CMakeFiles/epos_hardware.dir/src/util/epos_hardware.cpp.o] エラー 1 CMakeFiles/Makefile2:534: ターゲット 'epos_hardware/epos_hardware/CMakeFiles/epos_hardware.dir/all' のレシピで失敗しました make[1]: * [epos_hardware/epos_hardware/CMakeFiles/epos_hardware.dir/all] エラー 2
Makefile:138: ターゲット 'all' のレシピで失敗しました
make: *** [all] エラー 2
Invoking "make -j4 -l4" failed

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

0

私もこのパッケージの導入を試みてます。
私の場合はcatkin_makeまでは通りました。

catkin_ws/src内で
$ git clone https://github.com/RIVeR-Lab/epos_hardware.git

その後catkin_makeをしましたが、
Could not find a package configuration file provided by
"battery_state_interface" with any of the following names:

battery_state_interfaceConfig.cmake
battery_state_interface-config.cmake

と出たので、以下からbattery_state_interfaceを導入しました。
$ git clone https://github.com/yoshito-n-students/battery_state_interface.git

その後、catkin_makeをしましたが、
Could not find a package configuration file provided by
"dynamic_joint_limits_interface" with any of the following names:

dynamic_joint_limits_interfaceConfig.cmake
dynamic_joint_limits_interface-config.cmake

と出たので、以下からdynamic_joint_limits_interfaceを導入しました。
git clone https://github.com/yoshito-n-students/dynamic_joint_limits_interface.git
その後のcatkin_makeは成功しています。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.35%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る