Problem when compiling moveo_moveit_arduino.ino

I have recently been working on a project, the moveo-moveit project with ros kinetic on linux mint 18. But as I tried to compile to file moveo_moveit_arduino.ino, the IDE sent me a message telling me: "moveo_moveit/ArmJointState.h: no such file or directory". I've installed ros_lib, put it in the sketchbook/libraries folder and I've tried all the troubleshooting steps suggested by the author, but things didn't work. Can someone please help me with this? Any help wil be warmly appreciated.

Check spelling and make sure the folder name in spelled exactly the same at the header file name. When installing libraries by hand this is often a mistake. The IDE looks for a sub-directory by the name of the header (without the .h) in the libraries folder. Also, the library list gets loaded at IDE startup so if you have closed and re-opened the IDE, it won't know it's there.

What happens when you try these steps?

@darrob the error is still there after I've tried those steps
@DKWatson can you explain it a bit further for me? I'm pretty new to this

When you pulled the project from GIT (did you use git, or did you copy the files manually)
did you go into each directory (move_moveit, moveo_moveit_config, moveo_urdf) and run CMake?
There is a CMakeLists.txt in each of those directories, which appear to install\configure files etc.
The thing is that there is a file: mmoveo_ros/moveo_moveit/msg/ArmJointState.msg
which needs to go somewhere. That somewhere is the location of custom message headers.
It is what will make make_libraries.py generate moveo_moveit/ArmJointState.h

Additionally, there seems to be a disconnect in the tutorials:
According to the troubleshooting tips and ROS IDE Setup tutorial, you should be running:

rosrun rosserial_arduino make_libraries.py

However, the ROS Adding Other Messages tutorial suggests that this has been superseded by:

rosrun rosserial_client make_libraries <path_to_libraries>

*** Edit ***
If you run CMake after reading this post, remember to re-build ros_lib (ie delete the old one, build a new one as per troubleshooting and tutorials)

so I ran CMake in the moveo_moveit folder and some new folders were generated there.
I’ve found that ArmJointState.msg in the folder moveo_moveit/msg and I’ve run “rosrun rosserial_client make_libraries <path_to_libraries>”
should there be anything else I need to do?

Another thing is although I can see the file here, when I run rosmsg it couldn't find the file. Is it because the message header was not properly generated?

and now I lost ros.h too…

Where do you have moveo_ros installed/located ?

I have a folder called moveo_ros-master, originally installed in home folder but I've put it in the src folder of a workspace called catkin_ws

After you moved moveo_ros_master, did you run catkin_make?
Can you actually run the emulator?

I did and I can run the emulator

Okay

cd <Arduino sketchbook>/libraries
rm -rf ros_lib
rosrun rosserial_arduino make_libraries.py

if /libraries//moveo_moveit/ArmJointState.h still does not exist,
create the directory “moveo_moveit” in the directory
Then copy the file “ArmJointState.h” from
<catkin_ws/src>/moveo_ros-master/moveo_moveit/msg/
to
/libraries//moveo_moveit/

This will (probably) get your sketch to compile.

How well it will work depends on ROS and moveo_ros being configured correctly.

The fact that the message was not automatically copied when you ran catkin_make and make_libraries.py indicates to me that something is not quite right.

thnaks for all of your help, I've executed it

tung123ed:
I've executed it

Poor thing :frowning: