---恢复内容开始---
终于有机械臂了,
首先先下载包
cd ~/catkin_ws/src git clone https://github.com/Kinovarobotics/kinova-ros.git kinova-ros cd ~/catkin catkin_make
To access the arm via usb copy the udev rule file 10-kinova-arm.rules
from
~/catkin_ws/src/kinova-ros/kinova_driver/udev
to /etc/udev/rules.d/
:
绑定usb端口
sudo cp ~/catkin_ws/src/kinova-ros/kinova_driver/udev/10-kinova-arm.rules /etc/udev/rules.d/
我的直接默认参数启动kinova_robot.launch
文件即可
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} 手指的个数
最后两位还没有被定义
默认参数j2n6a300 是jaco v2 6DOF assistive 3 fingers机械臂
根据自己的进行相应修改
然后运行
roslaunch kinova_bringup kinova_robot.launch
rosrun rviz rviz
在rviz中添加机器人模型选项
然后在demo文件夹下有相应的测试程序
fingers_action_client.py joints_action_client.py pose_action_client.py
控制6个关节
rosrun kinova_demo joints_action_client.py -v -r j2n6a300 degree -- 0 0 0 10 0 0
-v 代表输出显示所有关节的当前角度值
-r代表修改关节位置使用相对原来位置加或减去对应值,一定要加上此参数
j2n6a300 前面说的类型号
后边为6个关节
六个关节的角度信息被发布到这个话题上:
/'${kinova_robotType}_driver'/out/joint_angles
直接修改机械臂手的空间位置
rosrun kinova_demo pose_action_client.py -v -r j2n6a300 mdeg -- 0.01 0 0 0 10 10
mdeg {mq | mdeg | mrad}
mq代表米&四元数 mdeg米&角度 米&弧度
当前笛卡尔坐标被发布到这个话题
/'${kinova_robotType}_driver'/out/tool_pose
末端力旋量也就是手爪的力
/'${kinova_robotType}_driver'/out/tool_wrench
控制机械手
rosrun kinova_demo fingers_action_client.py -v j2n6a300 percent 50 50 50
percent {turn | mm | percent}三种控制方式,turn [0, 6800]从张开到闭合 mm手指从张开移动距离[0,9.45] percent[0,100]闭合百分比
这几种控制方式都是控制手指的闭合度
手位置信息被发布到这个话题/'${kinova_robotType}_driver'/out/finger_position
机械臂也能通过控制每个关节的角速度,或坐标系的线速度来控制 就不一一写了
另外 kinova
公司提供了API接口,可使用其库函数
库在kinova-ros/kinova_driver/lib/文件夹下