一、rqt_bag错误
sun@sun-Z370P-D3:~$ rqt_bag
QLayout: Attempting to add QLayout "" to TopicSelection "", which already has a layout
Traceback (most recent call last):
File "/opt/ros/kinetic/lib/python2.7/dist-packages/rqt_bag/timeline_frame.py", line 293, in paint
self._draw_topic_dividers(painter)
File "/opt/ros/kinetic/lib/python2.7/dist-packages/rqt_bag/timeline_frame.py", line 520, in _draw_topic_dividers
(x, y, w, h) = self._history_bounds[topic]
KeyError: '/tp_img'
原因:
将time_synch1功能包放在了src下,而没有放在ros_rslidar-master下面,具体原因未知。
二、编译错误
1、CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
Could not find a package configuration file provided by "manipulation_msgs" with any of the following names:
manipulation_msgsConfig.cmake
manipulation_msgs-config.cmake
Add the installation prefix of "manipulation_msgs" to CMAKE_PREFIX_PATH or set "manipulation_msgs_DIR" to a directory containing one of the above files. If "manipulation_msgs" provides a separate development package or SDK, be sure it has been installed.
Call Stack (most recent call first):
ros_exploring/robot_marm/marm_planning/CMakeLists.txt:10 (find_package)
-- Configuring incomplete, errors occurred!
See also "/home/sun/roshchx_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/sun/roshchx_ws/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed
解决方法:
sudo apt install ros-kinetic-manipulation-msgs
(sudo apt-get install ros-kinetic-ecto)
总之缺啥补啥
tips:
未安装必要的库和插件(prereq.sh脚本能帮我们安装一些常用的ROS工具包,包括navigation和mapping工具包等,在Terminal中直接运行如下代码即可:sudo ./prereq.sh
)
2
、
CMake Error
at /opt/ros/kinetic/share/catkin/cmake/catkin_install_python.cmake:68 (message):
catkin_install_python() called with non-existing file
'/home/sun/aubo_ws/src/AUBO_robot/aubo_planner/script/aubo_planner/aubo_ros_plan'.
Call Stack (most recent call first):
AUBO_robot/aubo_planner/CMakeLists.txt:77 (catkin_install_python)
-- Configuring incomplete, errors occurred!
See also "/home/sun/aubo_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/sun/aubo_ws/build/CMakeFiles/CMakeError.log".
Makefile:318: recipe for target 'cmake_check_build_system' failed
make: *** [cmake_check_build_system] Error 1
Invoking "make cmake_check_build_system" failed
解决方法:
AUBO_robot/aubo_planner/CMakeLists.txt:77 (catkin_install_python)
后面的文件位置不正确。
三、运行.sh文件
ubuntu
下命令行输入
sudo ./xxx.sh
后,找不到命令
解决办法:
右击
xxx.sh
文件,打开属性———
>
权限——
>
勾选允许作为程序执行文件,退出即可。
四、无法定位软件包
sudo apt install ros-kinetic-moveit_visual_tools
正在读取软件包列表
...
完成
正在分析软件包的依赖关系树
正在读取状态信息
...
完成
E:
无法定位软件包
ros-kinetic-moveit_visual_tools
原因:
软件包名错误。
解决方法:
sudo apt install ros-kinetic-moveit-visual-tools
五、
Anaconda
导致的“
Makefile:138: recipe for target 'all' failed”
问题
解决方法:
将
home
下的
.bashrc
里的
Anaconda
路径设置注释掉即可:
$ export PATH="/usr/local/anaconda3/bin:$PATH"
六、没有
source
在运行
roslaunch
时出现了类似下面的错误:
RLException: [mav_hovering_example.launch] is neither a launch file in package [rotors_gazebo] nor is [rotors_gazebo] a launch file name
The traceback for the exception was written to the log file
原因:
setup.bash
文件没有进一步说明包的来源。
解决方法:
source
~
/catkin_ws/devel/setup.bash
七、
rviz
常见错误
1
、
[ERROR] [1614477813.589406]: Could not find the GUI, install the 'joint_state_publisher_gui' package
[joint_state_publisher-2] process has died [pid 14681, exit code 1, cmd /opt/ros/kinetic/lib/joint_state_publisher/joint_state_publisher __name:=joint_state_publisher __log:=/home/sun/.ros/log/28a05d6e-7969-11eb-b00d-b42e9916f18d/joint_state_publisher-2.log].
log file: /home/sun/.ros/log/28a05d6e-7969-11eb-b00d-b42e9916f18d/joint_state_publisher-2*.log
================================================================================REQUIRED process [rviz-4] has died!
process has finished cleanly
log file: /home/sun/.ros/log/28a05d6e-7969-11eb-b00d-b42e9916f18d/rviz-4*.log
Initiating shutdown!
==================================================================
原因:
缺少
joint_state_publisher_gui
功能包
解决方法:
sudo apt-get install ros-kinetic-joint-state-publisher-gui
2
、
ERROR: cannot launch node of type [arbotix_python/arbotix_driver]: arbotix_python
ROS path [0]=/opt/ros/kinetic/share/ros
ROS path [1]=/home/sun/roshchx_ws/src
ROS path [2]=/home/sun/ros_rslidar_ws/src
ROS path [3]=/home/sun/test_ws/src
ROS path [4]=/home/sun/catkin_ws/src
ROS path [5]=/opt/ros/kinetic/share
ERROR: cannot launch node of type [arbotix_controllers/gripper_controller]: arbotix_controllers
ROS path [0]=/opt/ros/kinetic/share/ros
ROS path [1]=/home/sun/roshchx_ws/src
ROS path [2]=/home/sun/ros_rslidar_ws/src
ROS path [3]=/home/sun/test_ws/src
ROS path [4]=/home/sun/catkin_ws/src
ROS path [5]=/opt/ros/kinetic/share
原因:
缺少
ros-kinetic-arbotix
功能包
解决方法:
sudo apt-get install
ros-kinetic-arbotix
3
、运行命令“
roslaunch marm_planning arm_planning.launch”
时出现如下错误:
[ INFO] [1614517180.004391235]: Initializing OMPL interface using ROS parameters
[ERROR] [1614517180.007093808]: Could not find the planner configuration 'None' on the param server
[ERROR] [1614517180.016398790]: Could not find the planner configuration 'None' on the param server
[ INFO] [1614517180.029887540]: Using planning interface 'OMPL'
解决方法:
通过路径:
home/sun/roshchx_ws/src/robot_marm/marm_moveit_config/config
,
找到
ompl_planning.yaml
文件并用
gedit
打开,在该文件中找到
default_planner_config
,如下所示:
arm:
default_planner_config: None
gripper:
default_planner_config: None
None
改为
RRTConnect
。
4
、
No sensor plugin specified for octomap updater 0; ignoring.
解决方法:
home/sun/aubo_ws/src/aubo_robot/aubo_i5_moveit_config/launch/aubo_i5_moveit_sensor_manager.launch.xml
中添加
sensor_plugin: occupancy_map_monitor/PointCloudOctomapUpdater
并且在
home/sun/aubo_ws/src/aubo_robot/aubo_i5_moveit_config/config/sensors_3d.yaml
中去掉
{}
,并添加如下内容。
- sensor_plugin: occupancy_map_monitor/PointCloudOctomapUpdater
point_cloud_topic: /kinect/depth_registered/points
max_range: 5.0
frame_subsample: 1
point_subsample: 1
self_mask:
min_sensor_dist: .8
self_see_default_padding: .04
self_see_default_scale: 1.0
self_see_links:
- name: katana_internal_controlbox_link
- name: katana_base_link
- name: katana_motor1_pan_link
- name: katana_motor2_lift_link
padding: 0.06
- name: katana_motor3_lift_link
padding: 0.06
- name: katana_motor4_lift_link
padding: 0.06
- name: katana_motor5_wrist_roll_link
padding: 0.04
- name: katana_gripper_link
padding: 0.02
- name: katana_l_finger_link
padding: 0.02
- name: katana_r_finger_link
padding: 0.02
- name: kurtana_baseplate_link
- name: laser
- name: kurtana_pole_link
- name: kurtana_innerpole_stretch_link
八、运行
python
文件时无法运行
运行命令:
rosrun marm_planning moveit_fk_demo.py
出错:
[rosrun] Couldn't find executable named moveit_fk_demo.py below /home/sun/roshchx_ws/src/robot_marm/marm_planning
[rosrun] Found the following, but they're either not files,
[rosrun] or not executable:
[rosrun] /home/sun/roshchx_ws/src/robot_marm/marm_planning/scripts/moveit_fk_demo.py
解决方法:
.py
类型文件右键属性、权限、允许作为程序执行文件
九、
RRTConnect
: Motion planning start tree could not be initialized!
或者
Could not find the planner configuration 'None' on the param server
解决方法:
在文件
ompl_planning.yaml
中,更换其他的
default_planner_config.
十、
Unable to identify any set of controllers that can actuate the specified joints: [ finger_joint1 ]
known controller and their joints
Apparently trajectory initialization failed.
解决方法:
将文件
home/sun/roshchx_ws/src/robot_marm/marm_moveit_config/launch/arm_moveit_controller_manager.launch.xml
中的“
<rosparam file="$(find marm_moveit_config)/config/ros_controllers.yaml"/>”
改为“
<rosparam file="$(find marm_moveit_config)/config/controllers.yaml"/>”.
十一、
[ERROR] [1614589847.051180573]: No default projection is set. Perhaps setup() needs to be called
[ERROR] [1614589847.051731966]: OMPL encountered an error: No projection evaluator specified
胡老师您好,想请教您一个问题。
ros
机器人开发实践中
10.9.1
节运行
roslaunch marm_planning arm_planning.launch
和
rosrun marm_planning moveit_fk_demo.py
时,总是出现如下错误:
[ INFO] [1614589847.047628812]: Planning attempt 1 of at most 1
[ INFO] [1614589847.050491501]: Planner configuration 'gripper' will use planner 'geometric::SBL'. Additional configuration parameters will be set when the planner is constructed.
[ INFO] [1614589847.051059772]: SBL: Attempting to use default projection.
[ERROR] [1614589847.051180573]: No default projection is set. Perhaps setup() needs to be called
[ERROR] [1614589847.051731966]: OMPL encountered an error: No projection evaluator specified
[ INFO] [1614589848.147207436]: Combined planning and execution request received for MoveGroup action. Forwarding to planning and execution pipeline.
猜想是不是因为
/home/sun/roshchx_ws/src/robot_marm/marm_moveit_config/config/ompl_planning.yaml
中在
gripper:
default_planner_config: SBL
planner_configs:
- SBL
- EST
- LBKPIECE
- BKPIECE
- KPIECE
- RRT
- RRTConnect
- RRTstar
- TRRT
- PRM
- PRMstar
- FMT
- BFMT
- PDST
- STRIDE
- BiTRRT
- LBTRRT
- BiEST
- ProjEST
- LazyPRM
- LazyPRMstar
- SPARS
- SPARStwo
后面缺少
projection_evaluator: joints(joint1,joint2)
和
longest_valid_segment_fraction: 0.005
可是
projection_evaluator: joints(joint1,joint2)
中的
joint1
和
joint2
应该写谁呀?
解决方法:
/home/sun/roshchx_ws/src/robot_marm/marm_moveit_config/config/ompl_planning.yaml
文件改为:
arm:
default_planner_config: None
planner_configs:
- SBL
- EST
- LBKPIECE
- BKPIECE
- KPIECE
- RRT
- RRTConnect
- RRTstar
- TRRT
- PRM
- PRMstar
- FMT
- BFMT
- PDST
- STRIDE
- BiTRRT
- LBTRRT
- BiEST
- ProjEST
- LazyPRM
- LazyPRMstar
- SPARS
- SPARStwo
projection_evaluator: joints(joint1,joint2)
longest_valid_segment_fraction: 0.005
gripper:
planner_configs:
- SBL
- EST
- LBKPIECE
- BKPIECE
- KPIECE
- RRT
- RRTConnect
- RRTstar
- TRRT
- PRM
- PRMstar
- FMT
- BFMT
- PDST
- STRIDE
- BiTRRT
- LBTRRT
- BiEST
- ProjEST
- LazyPRM
- LazyPRMstar
- SPARS
- SPARStwo
可能会出现错误:
Could not find the planner configuration 'None' on the param server
,但是无需理会,不影响最后的结果。
还可能会出现错误:
RRTConnect: Motion planning start tree could not be initialized!
这时只需要把
home/sun/roshchx_ws/src/robot_marm/marm_planning/scripts/moveit_fk_demo.py
文件中:
#
设置机械臂和夹爪的允许误差值
arm.set_goal_joint_tolerance(0.001)
gripper.set_goal_joint_tolerance(0.001)
的误差值改大即可解决。即:
#
设置机械臂和夹爪的允许误差值
arm.set_goal_joint_tolerance(0.002)
gripper.set_goal_joint_tolerance(0.002)
十二、
Gazebo
中的机械臂仿真常见错误
1
、
[ERROR] [1614611013.429619607, 0.161000000]: GazeboRosControlPlugin missing <legacyModeNS> while using DefaultRobotHWSim, defaults to true.
This setting assumes you have an old package with an old implementation of DefaultRobotHWSim, where the robotNamespace is disregarded and absolute paths are used instead.
If you do not want to fix this issue in an old package just set <legacyModeNS> to true.
解决方法
:
在文件
home/sun/roshchx_ws/src/robot_marm/marm_description/urdf/arm.xacro
中做如下改动:
2、
2、[ERROR] [1614611013.539866998, 0.161000000]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/joint1
[ERROR] [1614611013.540649050, 0.161000000]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/joint2
[ERROR] [1614611013.541386382, 0.161000000]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/joint3
[ERROR] [1614611013.542003347, 0.161000000]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/joint4
[ERROR] [1614611013.542648932, 0.161000000]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/joint5
[ERROR] [1614611013.543208517, 0.161000000]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/joint6
[ERROR] [1614611013.543742768, 0.161000000]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/finger_joint1
解决方法
:
该条错误提示可以忽略。
十三、
ROS-I
的常见错误
1
、
/usr/bin/ld:
找不到
-lindustrial_robot_client collect2: error: ld returned 1
原因
:
缺少
ros-i
的相关功能包
解决方法
:
sudo apt-get install ros-kinetic-industrial-core
十
四
、
创建
server
节点
1
、
catkin_make
出错:
CMakeFiles/server.dir/src/server.cpp.o
:在函数‘
actionlib::ActionServerBase<control_msgs::FollowJointTrajectoryAction_<std::allocator<void> > >::ActionServerBase(boost::function<void (actionlib::ServerGoalHandle<control_msgs::FollowJointTrajectoryAction_<std::allocator<void> > >)>, boost::function<void (actionlib::ServerGoalHandle<control_msgs::FollowJointTrajectoryAction_<std::allocator<void> > >)>, bool)’
中:
server.cpp:(.text._ZN9actionlib16ActionServerBaseIN12control_msgs28FollowJointTrajectoryAction_ISaIvEEEEC2EN5boost8functionIFvNS_16ServerGoalHandleIS4_EEEEESB_b[_ZN9actionlib16ActionServerBaseIN12control_msgs28FollowJointTrajectoryAction_ISaIvEEEEC5EN5boost8functionIFvNS_16ServerGoalHandleIS4_EEEEESB_b]+0xa8)
:对‘
actionlib::GoalIDGenerator::GoalIDGenerator()’
未定义的引用
CMakeFiles/server.dir/src/server.cpp.o
:在函数‘
actionlib::StatusTracker<control_msgs::FollowJointTrajectoryAction_<std::allocator<void> > >::StatusTracker(boost::shared_ptr<control_msgs::FollowJointTrajectoryActionGoal_<std::allocator<void> > const> const&)’
中:
server.cpp:(.text._ZN9actionlib13StatusTrackerIN12control_msgs28FollowJointTrajectoryAction_ISaIvEEEEC2ERKN5boost10shared_ptrIKNS1_32FollowJointTrajectoryActionGoal_IS3_EEEE[_ZN9actionlib13StatusTrackerIN12control_msgs28FollowJointTrajectoryAction_ISaIvEEEEC5ERKN5boost10shared_ptrIKNS1_32FollowJointTrajectoryActionGoal_IS3_EEEE]+0x6f)
:对‘
actionlib::GoalIDGenerator::GoalIDGenerator()’
未定义的引用
server.cpp:(.text._ZN9actionlib13StatusTrackerIN12control_msgs28FollowJointTrajectoryAction_ISaIvEEEEC2ERKN5boost10shared_ptrIKNS1_32FollowJointTrajectoryActionGoal_IS3_EEEE[_ZN9actionlib13StatusTrackerIN12control_msgs28FollowJointTrajectoryAction_ISaIvEEEEC5ERKN5boost10shared_ptrIKNS1_32FollowJointTrajectoryActionGoal_IS3_EEEE]+0xca)
:对‘
actionlib::GoalIDGenerator::generateID()’
未定义的引用
CMakeFiles/server.dir/src/server.cpp.o
:在函数‘
actionlib::StatusTracker<control_msgs::FollowJointTrajectoryAction_<std::allocator<void> > >::StatusTracker(actionlib_msgs::GoalID_<std::allocator<void> > const&, unsigned int)’
中:
server.cpp:(.text._ZN9actionlib13StatusTrackerIN12control_msgs28FollowJointTrajectoryAction_ISaIvEEEEC2ERKN14actionlib_msgs7GoalID_IS3_EEj[_ZN9actionlib13StatusTrackerIN12control_msgs28FollowJointTrajectoryAction_ISaIvEEEEC5ERKN14actionlib_msgs7GoalID_IS3_EEj]+0x5c)
:对‘
actionlib::GoalIDGenerator::GoalIDGenerator()’
未定义的引用
collect2: error: ld returned 1 exit status
AUBO_robot/aubo_server/CMakeFiles/server.dir/build.make:113: recipe for target '/home/sun/catkin_ws/devel/lib/aubo_server/server' failed
make[2]: *** [/home/sun/catkin_ws/devel/lib/aubo_server/server] Error 1
CMakeFiles/Makefile2:1442: recipe for target 'AUBO_robot/aubo_server/CMakeFiles/server.dir/all' failed
make[1]: *** [AUBO_robot/aubo_server/CMakeFiles/server.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j12 -l12" failed
解决办法
:
在
CMakleLists
中的
find_package
添加
actionlib.
十五、没有轨迹球或者轨迹球不能正常使用
原因:
planning groups
中的
TIP link
设置错误
解决办法:重新打开
setup assistant
进行设置
十六、
pip install --upgrade --user sympy==0.7.1
或者
pip3 install --upgrade --user sympy==0.7.1
Traceback (most recent call last):
File "/home/sun/.local/bin/pip", line 7, in <module>
from pip._internal.cli.main import main
File "/home/sun/.local/lib/python3.5/site-packages/pip/_internal/cli/main.py", line 60
sys.stderr.write(f"ERROR: {exc}")
^
SyntaxError: invalid syntax
解决办法:
pip2 install --upgrade --user sympy==0.7.1
十七、
WARNING: disk usage in log directory [/home/buu/.ros/log] is over 1GB.
It's recommended that you use the 'rosclean' command.
解决办法:
rosclean purge
十八、VSCODE
相关问题
1、vscode
连接不到扩展商店
解决办法:设置
-
用户
-
应用程序
-
代理服务器
,
填写:
http://127.0.0.1:7890
注意:开机之后,要先连接代理服务器(也就是在文件夹
~/clash
中打开终端并输入
./clash -d .
),否则还是连接不到扩展商店。
2、vscode中不能使用
go to definition等功能
解决办法:安装扩展c/c++,安装完成后即可以使用。
3、可以安装中文简体插件使得页面变成中文的。