shadow-robot / sr-ros-interface

A ROS interface for Shadow Robot's hand.
GNU General Public License v2.0
21 stars 12 forks source link

Install instructions #350

Closed Tidyl closed 9 years ago

Tidyl commented 9 years ago

The install instructions say I should be able to run the shadow hand simulator by running:

sudo apt-get install ros-indigo-shadow-robot

Everytime I run it though I always get:

Depends: ros-indigo-sr-moveit-config but it is not installable

Am I missing something?

ugocupcic commented 9 years ago

Hi,

Could you follow those instructions instead? The packaged version is a bit broken and outdated.

Cheers,

Ugo

Tidyl commented 9 years ago

@ugocupcic Thanks for your help. When trying those instructions I always get the following on the very last step (catkin_make):

Building CXX object sr_teleop/cyberglove/CMakeFiles/cyberglove.dir/src/cyberglove_node.cpp.o
In file included from /home/try/workspace/shadow/src/sr_teleop/cyberglove/src/cyberglove_node.cpp:31:0:
/home/try/workspace/shadow/src/sr_teleop/cyberglove/include/cyberglove/cyberglove_service.h:34:30: fatal error: cyberglove/Start.h: No such file or directory
 #include "cyberglove/Start.h"
                              ^
compilation terminated.
make[2]: *** [sr_teleop/cyberglove/CMakeFiles/cyberglove.dir/src/cyberglove_node.cpp.o] Error 1
make[1]: *** [sr_teleop/cyberglove/CMakeFiles/cyberglove.dir/all] Error 2
make: *** [all] Error 2
Invoking "make -j1 -l1" failed

Trying to run the simulator without this finishing results in:

arg 'prefix' is not defined. 

Arg xml is <arg name="prefix" value="$(arg prefix)"/>
The traceback for the exception was written to the log file
ugocupcic commented 9 years ago

I can't reproduce that :(

I reran the instructions on my machine in a clean environment and it works. I sometimes have to run catkin_make twice, since I've seen it fail the first time from times to times.

Can you update the workspace first to make sure you have the latest versions (assuming you put it in ~/workspace/shadow/src):

cd ~/workspace/shadow/src 
wstool update
cd ..
catkin_make
catkin_make

To run the simulator, which launch file are you using? I tried both the launch below and it worked for me.

roslaunch sr_hand gazebo_hand.launch
roslaunch sr_robot_launch right_srhand_ur10arm.launch

Let me know how it goes.

guihomework commented 9 years ago

@ugocupcic having to run catkin_make twice usually means there is a wrong/missing dependency. Often this is due to non generated message/service at the first run (and fails due to parallel compilation). Here it looks like a missing service generation. Maybe it is worth asking on how many jobs both of you compile things with. We have had similar issues on a machine that had 12 cores and would exhibit wrong dependencies with higher chances.

@DTittel On my side, compiling sr_teleop only from source with 2,3,4,8 cores did not exhibit the problem either. I could always see which should compile the missing file you have seen. [ 40%] Generating C++ code from cyberglove/Start.srv

Tidyl commented 9 years ago

OK the issue was that I had a VM with only a single core. Once I ran a new VM with more cores everything compiled. Thanks for the help

guihomework commented 9 years ago

Nice to hear you fixed the issue, but I am rather surprised of the outcome. Usually the multiple core produce more errors if the dependency is not right, since one job could need the result of another job and fail there. In single job compilation, the order should be ok and all the packages should be compiled in the correct order (unless there is really a mess-up of the dependencies)

Tidyl commented 9 years ago

Ya it's really strange but just tried again on a seperate VM to confirm that's definitely the issue. I wonder if there's some race condition that isn't showing up most of the time due to parallelism?

Tidyl commented 9 years ago

So I'm sending it commands now and it doesn't seem to move in gazebo. Sorry just wondering if I'm doing something wrong I'm trying to make it make a fist but it seems to just fall with gravity.

I keep getting:

Warning [Publisher.cc:134] Queue limit reached for topic /gazebo/default/pose/info, deleting message. This warning is printed only once.

Not sure if this is related but I can't seem to move it.

Tidyl commented 9 years ago

Found it. The issue is that the command in the instructions should to be:

rostopic pub -1 /sh_rh_ffj3_position_controller/command std_msgs/Float64 1.5