ROS控制kinova jaco2机械臂

 

拿到的kinova机械臂为6个关节,JACO2 6自由度机械臂是加拿大KINOVA公司的一款产品,设计非常的精简紧凑,移动的精度很高,能在Windows和Linux下驱动,我想拿它验证一些控制算法,以及配合计算机视觉完成一些目标识别和抓取的工作。

 

ROS控制kinova jaco2机械臂_第1张图片

一开始的工作当然是先驱动机械臂,以下是在Ubuntu14.04系统下完成的。

 

  • 1 安装工作空间

安装一个叫kinova_ws的工作空间

mkdir -p kinova_ws/src
cd ~/kinova_ws/src
git clone https://github.com/Kinovarobotics/kinova-ros.git kinova-ros
cd ~/catkin_ws
catkin_make
  • 2 启动kinova

给kinova上电,将kinova的USB接口连到电脑上

绑定端口

sudo cp ~/kinova_ws/src/kinova-ros/kinova_driver/udev/10-kinova-arm.rules /etc/udev/rules.d/

cd切换到kinova_bringup/launch文件夹下,执行

roslaunch kinova_bringup kinova_robot.launch 

这时就启动了kinova。

  • 3 测试指令

重新打开一个终端,进入/kinova_ws/src/kinova-ros/kinova_demo/nodes/kinova_demo文件夹下;

这个文件夹中有很多测试指令,输入ls,可以看到下面的Python代码文件:

ROS控制kinova jaco2机械臂_第2张图片

输入:

rosrun kinova_demo joints_action_client.py -v -r j2n6s300 degree -- 90 0 0 0 0 0

       顾名思义,joints_action_client.py,是测试关节动作的。

       可以观察到,机械臂的第一个关节,也就是底座关节旋转了,然后停下,单位是角度,因此是旋转了90°。

 

        -v 代表输出显示所有关节的当前角度值

  -r代表按照关节旋转后面的数值变化,单位是角度,改变相应的角度,正数就增加,负数就减小。

  j2n6s300是用到的kinova机械臂型号,这款kinova机械臂有好几种,我用到这款机械臂是这种。

 

 kinova为了支持不同的产品,利用8个字节的字符串kinova_robotType来配置参数,参数范围[{j|m|r|c}{1|2}{s|n}{4|6|7}{s|a}{2|3}{0}{0}]

{j|m|r|c} 代表产品 jaco, mico, roco and customized

{1|2}         版本号

{s|n}   wrist type 手腕类型

{4|6|7}  几自由度的机械臂

{s|a}  机器人模型

{2|3}  手指的个数

最后两位还没有被定义

手指关节控制:

li@li:~/kinova_ws/src/kinova-ros/kinova_demo/nodes/kinova_demo$ rosrun kinova_demo fingers_action_client.py j2n6s300 percent -- 100 100 100

可以看到关节动作

其余的指令类似,可以一一进行尝试。

4 查看机械臂状态

用rostopic指令来查看机械臂状态

li@li:~/kinova_ws/src/kinova-ros/kinova_demo/nodes/kinova_demo$ $ rostopic echoc-c /j2n6s300river/out/joint_state 

可以打印出:

  1. 关节名,如下所示,一共有6个关节,三个手指;
  2. 关节位置;
  3. 关节速度(rad/s)
  4. 力反馈大小(N*m)

 

ROS控制kinova jaco2机械臂_第3张图片

5 可视化观察

重新打开一个终端:

li@li:~/kinova_ws/src/kinova-ros/kinova_demo/nodes/kinova_demo$ rosrun rviz rviz

出现可视化界面,add一个RobotModel

 

然后把Fixed Frame后面选项改为world。

 

就出现了机械臂实时画面,如下:

ROS控制kinova jaco2机械臂_第4张图片

 

参考:https://github.com/Kinovarobotics/kinova-ros#installation

 

 

 

 

 

 

 

 

你可能感兴趣的:(ros,Ubuntu,Kinect)