ROS & DSC RPi Dynamixel Controller - catkin_make fail

I’m getting an error when I try to build my catkin ROS package after installing the ROS Node package from MyBotShop.

I downloaded the package from the github repository https://github.com/MYBOTSHOP/DSC

and I copied the ROS Node folder into ~/catkin_ws/src/

When I run catkin_make this is the error I get (below)

seems like it cant find: “servo_board/Dynservo.h: No such file or directory”

[  7%] Building CXX object ROS Node/CMakeFiles/servo_board_node.dir/src/rpiDSC.cpp.o
In file included from /home/ubuntu/catkin_ws/src/ROS Node/src/rpiDSC.cpp:1:0:
/home/ubuntu/catkin_ws/src/ROS Node/src/rpiDSC.h:5:34: fatal error: servo_board/Dynservo.h: No such file or directory
In file included from /home/ubuntu/catkin_ws/src/ROS Node/src/servo_control.cpp:1:0:
/home/ubuntu/catkin_ws/src/ROS Node/src/rpiDSC.h:5:34: fatal error: servo_board/Dynservo.h: No such file or directory
compilation terminated.
compilation terminated.
ROS Node/CMakeFiles/servo_board_node.dir/build.make:86: recipe for target 'ROS Node/CMakeFiles/servo_board_node.dir/src/rpiDSC.cpp.o' failed
make[2]: *** [ROS Node/CMakeFiles/servo_board_node.dir/src/rpiDSC.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
ROS Node/CMakeFiles/servo_board_node.dir/build.make:62: recipe for target 'ROS Node/CMakeFiles/servo_board_node.dir/src/servo_control.cpp.o' failed
make[2]: *** [ROS Node/CMakeFiles/servo_board_node.dir/src/servo_control.cpp.o] Error 1
CMakeFiles/Makefile2:1262: recipe for target 'ROS Node/CMakeFiles/servo_board_node.dir/all' failed
make[1]: *** [ROS Node/CMakeFiles/servo_board_node.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[  7%] Built target _servo_board_generate_messages_check_deps_Dynservo
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j2" failed
ubuntu@ubiquityrobot:~/catkin_ws$

Dear Tom,

please download and unzip the following files for your Arduino IDE and ROS Workspace: http://www.mybotshop.de/download/DSC-master.zip and run catkin_make again.

Kind regards
MYBOTSHOP Support :robot:

And please make sure, the folder of your ROS files in your workspace have to be named servo_board

Kind regards
MYBOTSHOP Support :robot:

Just to be clear: Are you saying I should rename the folder from “ROS Node” to “servo_board”?

I just tried loading the downloading the DSC-master, and copied the ROS Node folder to my catkin_ws/src/ folder. ran catkin_malke and got this error which is the same error.

[  7%] Building CXX object ROS Node/CMakeFiles/servo_board_node.dir/src/rpiDSC.cpp.o
In file included from /home/ubuntu/catkin_ws/src/ROS Node/src/rpiDSC.cpp:1:0:
/home/ubuntu/catkin_ws/src/ROS Node/src/rpiDSC.h:5:34: fatal error: servo_board/Dynservo.h: No such file or directory
In file included from /home/ubuntu/catkin_ws/src/ROS Node/src/servo_control.cpp:1:0:
/home/ubuntu/catkin_ws/src/ROS Node/src/rpiDSC.h:5:34: fatal error: servo_board/Dynservo.h: No such file or directory
compilation terminated.
compilation terminated.
ROS Node/CMakeFiles/servo_board_node.dir/build.make:62: recipe for target 'ROS Node/CMakeFiles/servo_board_node.dir/src/servo_control.cpp.o' failed
make[2]: *** [ROS Node/CMakeFiles/servo_board_node.dir/src/servo_control.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
ROS Node/CMakeFiles/servo_board_node.dir/build.make:86: recipe for target 'ROS Node/CMakeFiles/servo_board_node.dir/src/rpiDSC.cpp.o' failed
make[2]: *** [ROS Node/CMakeFiles/servo_board_node.dir/src/rpiDSC.cpp.o] Error 1
CMakeFiles/Makefile2:1262: recipe for target 'ROS Node/CMakeFiles/servo_board_node.dir/all' failed
make[1]: *** [ROS Node/CMakeFiles/servo_board_node.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[  7%] Built target _servo_board_generate_messages_check_deps_Dynservo
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j2" failed
ubuntu@ubiquityrobot:~/catkin_ws$

ok i renamed the ROS Node folder to servo_board, and ran catkin_make but I am still getting an error: servo_board/Dynservo.h: No such file or directory

[  7%] Building CXX object servo_board/CMakeFiles/servo_board_node.dir/src/rpiDSC.cpp.o
In file included from /home/ubuntu/catkin_ws/src/servo_board/src/servo_control.cpp:1:0:
/home/ubuntu/catkin_ws/src/servo_board/src/rpiDSC.h:5:34: fatal error: servo_board/Dynservo.h: No such file or directory
compilation terminated.
servo_board/CMakeFiles/servo_board_node.dir/build.make:62: recipe for target 'servo_board/CMakeFiles/servo_board_node.dir/src/servo_control.cpp.o' failed
make[2]: *** [servo_board/CMakeFiles/servo_board_node.dir/src/servo_control.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
Scanning dependencies of target _servo_board_generate_messages_check_deps_Dynservo
In file included from /home/ubuntu/catkin_ws/src/servo_board/src/rpiDSC.cpp:1:0:
/home/ubuntu/catkin_ws/src/servo_board/src/rpiDSC.h:5:34: fatal error: servo_board/Dynservo.h: No such file or directory
compilation terminated.
servo_board/CMakeFiles/servo_board_node.dir/build.make:86: recipe for target 'servo_board/CMakeFiles/servo_board_node.dir/src/rpiDSC.cpp.o' failed
make[2]: *** [servo_board/CMakeFiles/servo_board_node.dir/src/rpiDSC.cpp.o] Error 1
CMakeFiles/Makefile2:1262: recipe for target 'servo_board/CMakeFiles/servo_board_node.dir/all' failed
make[1]: *** [servo_board/CMakeFiles/servo_board_node.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[  7%] Built target _servo_board_generate_messages_check_deps_Dynservo
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j2" failed
ubuntu@ubiquityrobot:~/catkin_ws$

also I am noticing in the src folder the file rpiDSC.h is calling for

#include <servo_board/Dynservo.h>
#include <servo_board/Motors_data.h>
#include <servo_board/Motors_id.h>

but those files don’t exist

Hi Tom,

the folder have to be name servo_board and please check it again, you can find the .h files under servo_board/msg/
Please give me a few hours to prepare a test arrangement. I will reply asap.

Kind regards
MYBOTSHOP Support :robot:

ok yes the files are there but they are not named the same way that you are referencing them. they are named Dynservo.msg not Dynservo.h etc etc

and so if they are there they why does the catkin_make fail?

I’m new to ROS but it seems like the things are pointing to the wrong places and that is why the build is failing?

I’m sorry my mistake, the libraries will be generated with the following commands:

cd Sketchbook/libraries
rm -rf ros_lib
rosrun rosserial_arduino make_libraries.py .

Please check the point “Arduino IDE” at our ROS Doc. : https://www.mybotshop.de/MYBOTSHOP-DSC-ROS-NODE-EN again.

ok this works now!

Download & unzip files:

wget http://www.mybotshop.de/download/DSC-master.zip
unzip DSC-master.zip

Move files and rename:

cp -r DSC-master/Arduino/Arduino\ IDE/hardware/DSC/ ~/Arduino/hardware/
cp -r DSC-master/Arduino/Arduino\ IDE/libraries/DSCSerial/ ~/Arduino/libraries/
cp -r DSC-master/ROS\ Node/ ~/catkin_ws/src/
mv ~/catkin_ws/src/ROS\ Node/ ~/catkin_ws/src/servo_board

Build libraries:

cd ~/Arduino/libraries/
rm -rf ros_lib
rosrun rosserial_arduino make_libraries.py .

Build Catkin Workspace:

cd ~/catkin_ws
catkin_make