我已经从here下载并编译了一些Ros
个节点(只是为了获得更多信息)。我正尝试使用从该回购中获取的ROS
file启动带有参数的五个launch
节点。
执行source catkin_ws/devel_isolated/setup.bash
并执行roslaunch crab.launch
(上面链接中的启动文件)后,会出现下一个错误:
root@beaglebone:~# roslaunch crab.launch
... logging to /root/.ros/log/4f6332fe-dbe2-11e3-86a8-7ec70b079d59/roslaunch-beaglebone-2067.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://beaglebone:58881/
SUMMARY
========
PARAMETERS
* /clearance
* /duration_ripple
* /duration_tripod
* /joint_lower_limit
* /joint_upper_limit
* /port_name
* /robot_description
* /rosdistro
* /rosversion
* /trapezoid_h
* /trapezoid_high_radius
* /trapezoid_low_radius
NODES
/
crab_body_kinematics (crab_body_kinematics/body_kinematics)
crab_gait (crab_gait/gait_kinematics)
crab_imu (crab_imu/imu_control)
crab_leg_kinematics (crab_leg_kinematics/leg_ik_service)
crab_maestro_controller (crab_maestro_controller/controller_sub)
ROS_MASTER_URI=http://localhost:11311
core service [/rosout] found
ERROR: cannot launch node of type [crab_leg_kinematics/leg_ik_service]: can't locate node [leg_ik_service] in package [crab_leg_kinematics]
ERROR: cannot launch node of type [crab_maestro_controller/controller_sub]: can't locate node [controller_sub] in package [crab_maestro_controller]
ERROR: cannot launch node of type [crab_body_kinematics/body_kinematics]: can't locate node [body_kinematics] in package [crab_body_kinematics]
ERROR: cannot launch node of type [crab_gait/gait_kinematics]: can't locate node [gait_kinematics] in package [crab_gait]
ERROR: cannot launch node of type [crab_imu/imu_control]: can't locate node [imu_control] in package [crab_imu]
我已根据其他类似问题的威胁建议重新安装软件包。
我也注意到了
1º-如果我将所有executables
个节点移动到文件夹src/<package>/
,我就可以执行roslaunch crab.launch
。但我不想这样离开,不是正确的工作方式;)
其他信息:
2º-如果我执行,例如,source devel_isolated/<package>/setup.bash
然后roslaunch crab.launch
,我刚刚source
- d的包工作并执行...(而另一个仍然没有“T)
3º-所以我source
- d source devel_isolated/<package>/setup.bash
再次尝试:这次没有人工作。
这导致认为问题是由ROS变量环境引起的:如果我在2º之后创建export | grep ROS
,我可以看到包路径出现在$ROS_PATH
- s中而其他的不是有:
root@beaglebone:~# export | grep ROS
declare -x ROS_DISTRO="hydro"
declare -x ROS_ETC_DIR="/opt/ros/hydro/etc/ros"
declare -x ROS_MASTER_URI="http://localhost:11311"
declare -x ROS_PACKAGE_PATH="/root/catkin_ws/src/crab_msgs:/root/catkin_ws/src/joy:/root/catkin_ws
/src/ps3joy:/root/catkin_ws/src/xacro:/root/catkin_ws/src/roslint:/root/catkin_ws/src/kdl_parser:/root/catkin_ws
/src/urdf:/root/catkin_ws/src/urdf_parser_plugin:/root/catkin_ws/src:/opt/ros/hydro/share:/opt/ros/hydro
/stacks:/root/ros_catkin_ws/install_isolated/share:/root/ros_catkin_ws/install_isolated/stacks"
declare -x ROS_ROOT="/opt/ros/hydro/share/ros"
declare -x ROS_TEST_RESULTS_DIR="/root/catkin_ws/build_isolated/crab_msgs/test_results"
root@beaglebone:~# source catkin_ws/devel_isolated/crab_imu/setup.bash
declare -x ROS_PACKAGE_PATH="/root/catkin_ws/src/crab_imu:/root/catkin_ws/src/crab_msgs:/root/catkin_ws
/src/joy:/root/catkin_ws/src/ps3joy:/root/catkin_ws/src/xacro:/root/catkin_ws/src/roslint:/root/catkin_ws
/src/kdl_parser:/root/catkin_ws/src/urdf:/root/catkin_ws/src/urdf_parser_plugin:/root/catkin_ws/src:/opt
/ros/hydro/share:/opt/ros/hydro/stacks:/root/ros_catkin_ws/install_isolated/share:/root/ros_catkin_ws
/install_isolated/stacks"
declare -x ROS_TEST_RESULTS_DIR="/root/catkin_ws/build_isolated/crab_imu/test_results"
似乎3º会覆盖之前执行的source
...,这意味着ROS_PACKAGE_PATH
中的ROS_PACKAGE_PATH
并未显示所有包装内容。
我也尝试使用export
命令强制valueOf
,但它不起作用。所以,我必须改变更多的环境变量,但不知道哪一个......
所以,我不知道我的诊断是否正确,如果是的话,我该怎么做才能纠正这个...希望我收集到足够的信息。
提前致谢!!
伊尼戈
答案 0 :(得分:0)
设置文件的可执行位。您最有可能需要设置文件的可执行权限。
chmod +x filename.