Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

problem with youbot_manipulation #14

Open
ChefOtter opened this issue Mar 6, 2016 · 4 comments
Open

problem with youbot_manipulation #14

ChefOtter opened this issue Mar 6, 2016 · 4 comments

Comments

@ChefOtter
Copy link

Hi Sven,
I am using ROS Indigo and try to work youbot and have got some issues with youbot-manipulation files.
I followed install instructions in your github page and have got following problems.
if i use following command in my workspace:
/catkin_ws/src$ wstool set youbot_manipulation --git [email protected]:svenschneider/youbot-manipulation.git --version=indigo
I have got this error:
ERROR in config: Command requires a target workspace.
to solve this problem :
*/ catkin_ws/src$ wstool init *
wstool init is missing in you instructions.
then it will work.

After this i tried to execute
roslaunch youbot_moveit move_group.launch
but i am getting following error:

setting /run_id to 887e71fc-e3a6-11e5-97b3-000c2988e8a9
process[rosout-1]: started with pid [15798]
started core service [/rosout]
process[move_group-2]: started with pid [15815]
[ERROR] [1457274011.307530173]: Robot model not loaded
terminate called after throwing an instance of 'ros::InvalidNameException'
what(): Character [_] is not valid as the first character in Graph Resource Name [_planning/shape_transform_cache_lookup_wait_time]. Valid characters are a-z, A-Z, / and in some cases ~.
[move_group-2] process has died [pid 15815, exit code -6, cmd /opt/ros/indigo/lib/moveit_ros_move_group/move_group __name:=move_group __log:=/home/chef/.ros/log/887e71fc-e3a6-11e5-97b3-000c2988e8a9/move_group-2.log].
log file: /home/chef/.ros/log/887e71fc-e3a6-11e5-97b3-000c2988e8a9/move_group-2*.log

Do you know why am i getting this error?
I have another question, how can i program inverse kinematik on kuka youbot? Or your files is enough to program IK? Or any good tutorials about IK with moveit or other libraries?
regards

@svenschneider
Copy link
Owner

Hi ChefOtter,

while the hydro branch is clearer with the setup instructions, even in the indigo branch it says in the installation section "First, create a Catkin workspace [...]". Anyway, I will probably merge some of the changes from the hydro to the indigo branch.

Regarding the error you receive: It looks to me as if you didn't bringup the robot (simulation or real) which requires the youbot_driver_ros_interface [1] or youbot_simulation [2] repository and their dependencies. Alternatively, you can just start the standalone demo (see instructions in the README file).

I'm not sure what you mean by "programming inverse kinematics"? You find the analytical inverse position kinematics solver for the youBot arm in the following file [3]. The MoveIt! website [4] has further information and documentation about MoveIt!.

Best regards
Sven

[1] https://github.com/youbot/youbot_driver_ros_interface
[2] https://github.com/youbot/youbot_simulation
[3] https://github.com/svenschneider/youbot-manipulation/blob/indigo/youbot_arm_kinematics/common/src/inverse_kinematics.cpp
[4] http://moveit.ros.org/

@ChefOtter
Copy link
Author

@svenschneider ,
Thank you for your answer. here is what I did step by step:

  • I installed ROS Indigo unter Ubuntu 14.04 👍
  • I created also catkin_ws with src folder 👍
  • Initialize the catkin_ws 👍
  • I installed youbot_driver_ros_interface via git clone ... into catkin_ws/src, if i install it via apt-get it occurs error, how can i install youbot_driver_ros_interface youbot/youbot_driver_ros_interface#12 (comment)
  • and also I installed other ros-indigo-packages ( ex: kdl, moveit, orocos, controller, brics-actuator etc)
  • I cloned also also your repository youbot-manipulation into catkin_ws/src, as you wrote i followed all steps, i cloned indigo branch, and i used like below:
cd catkin_ws/src
wstool set youbot_manipulation --git [email protected]:svenschneider/youbot-manipulation.git --version=hydro
wstool update youbot_manipulation

I build the catkin_ws

cd catkin_ws
catkin_make

I found out something. It is like this. If I take out youbot_arm_kinematics_moveit folder from youbot_manipulation folder, i can execute catkin_make without any error. But if I put back youbot_arm_kinematics_moveit folder in youbot_manipulation folder again, i am getting error again.
Error:

/catkin_ws/src/youbot_manipulation/youbot_arm_kinematics_moveit/ros/src/kinematics_logger.cpp: In member function ‘virtual void KinematicsLogger::write(const string&, const char*, int)’:
/catkin_ws/src/youbot_manipulation/youbot_arm_kinematics_moveit/ros/src/kinematics_logger.cpp:16:9: error: ‘enabled’ was not declared in this scope
     if (enabled) {
         ^
/catkin_ws/src/youbot_manipulation/youbot_arm_kinematics_moveit/ros/src/kinematics_logger.cpp:17:32: error: ‘loc’ was not declared in this scope
         ros::console::print(0, loc.logger_, ros::console::levels::Debug,
                                ^
make[2]: *** [youbot_manipulation/youbot_arm_kinematics_moveit/CMakeFiles/youbot_arm_kinematics_moveit.dir/ros/src/kinematics_logger.cpp.o] Error 1
make[1]: *** [youbot_manipulation/youbot_arm_kinematics_moveit/CMakeFiles/youbot_arm_kinematics_moveit.dir/all] Error 2
make: *** [all] Error 2
Invoking "make -j4 -l4" failed

I changed also following command into.
wstool set youbot_manipulation --git [email protected]:svenschneider/youbot-manipulation.git --version=indigo instead of hydro
and did from the beginning same process.It didn't work again. same error.

If i execute this command
roslaunch youbot_moveit move_group.launch
i have got my error again.
[ERROR] [1457379892.652884807]: Robot model not loaded terminate called after throwing an instance of 'ros::InvalidNameException' what(): Character [_] is not valid as the first character in Graph Resource Name [_planning/shape_transform_cache_lookup_wait_time]. Valid characters are a-z, A-Z, / and in some cases ~. [move_group-2] process has died [pid 40880, exit code -6, cmd /opt/ros/indigo/lib/moveit_ros_move_group/move_group __name:=move_group __log:=/home/user/.ros/log/0edbe5bc-e49d-11e5-a005-000c29fed1c5/move_group-2.log]. log file: /home/user/.ros/log/0edbe5bc-e49d-11e5-a005-000c29fed1c5/move_group-2*.log

But if i execute following commands, it works with simulation but not with real robot.

roslaunch youbot_moveit demo.launch
rosrun moveit_commander moveit_commander_cmdline.py
use arm_1
arm_1>go candle

What causes those errors? I try to fix it, at the end i got same errors again again.

Last time I asked you, how can I program inverse kinematics? Which means, can I compile inverse_kinematics.cpp as executable file? That i can use just this youbot_arm_kinematics package. Or all packages in youbot_manipulation folder are interdependent? Or each package can compile possible alone?
I created a new catkin_package with those files, I changed CMakeLists, added add_executable(..) in CMakeLists.txt. I got error again.
thank you in advance
Regards

@svenschneider
Copy link
Owner

Hi @ChefOtter,

if you are working with ROS Indigo, you also need the indigo branch (the hydro branch does not work, as you also noticed). The rest of the compiliation/build steps seems fine. However, I think that you still don't have brought up the robot itself. Currently, this should be possible in simulation via

roslaunch youbot_simulation robot.launch

or on the real robot via

roslaunch youbot_driver_ros_interface youbot_driver.launch

It's not directly supported to use the inverse_kinematics.cpp stand-alone, but it should be fairly easy to extract this file and its header to build a shared library out of it, so that you can use it without ROS. The only real dependency is KDL.

If you want to stay within the ROS ecosystem, you can simply specify a Catkin dependency on the youbot_arm_kinematics and then access the headers and the library (see youbot_arm_kinematics_moveit for a complete example):

find_package(catkin REQUIRED COMPONENTS youbot_arm_kinematics)
include_directories(${catkin_INCLUDE_DIRS})
...
target_link_libraries(my_target ${catkin_LIBRARIES})

Best regards
Sven

@arafatsh
Copy link

arafatsh commented Oct 4, 2019

are you going to make a kinetic branch ??

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants