问题描述:
使用ROS控制Kinova机械臂,按照Kinova 官网Github的教程操作,在执行roslaunch kinova_bringup kinova-robot.launch 时,出现初始化1015错误,如图所示:
而官网只有一个关于1015错误的说明:
我在VMware和裸机上都试过,都有此错误。在网上查询此错误的解决方案也未果,然后查阅源码,分析错误原因。在~/catkin_ws/src/kinova-ros/kinova_driver/src/Kinova.API.CommLayerUbuntu.h 与 /opt/kinova/API/kinova_comm.cpp这两个文件中,给出了
所以错误原因是:kinova_robot.launch文件中的node初始化实际机械臂,不能找到所需的设备。
result=kinova_api_.initAPI() = ERROR_NO_DEVICE_FOUND = 1015
kinova_robot.launch的node部分为: <node name="$(arg kinova_robotType)_driver" pkg="kinova_driver" type="kinova_arm_driver" output="screen" cwd="node" args="$(arg kinova_robotType)">
<!-- Set this parameter to use a specific arm on your system -->
<!-- <param name="serial_number" value="PJ00000001030703130" /> -->
</node>
所以,此node是要建立实际机器人的节点,故在未连接机器人的情况下,初始化失败。
解决方案:
1.登录Kinova官网下载相关型号的机器人驱动并根据教程安装。
2.参照display_kinova_robot.launch更改kinova_robot.launch文件中的node即可。<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher"></node>
<node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher" />