配置 jaco机械臂 ros环境
---恢复内容开始---
终于有机械臂了,
首先先下载包
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/-kinova-arm.rules /etc/udev/rules.d/
我的直接默认参数启动kinova_robot.launch文件即可
<launch> <arg name="use_urdf" default="true"/>
<arg name="kinova_robotType" default="j2n6a300" /> <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> <group unless="$(arg use_urdf)">
<node name="$(arg kinova_robotType)_tf_updater" pkg="kinova_driver" type="kinova_tf_updater" output="screen" cwd="node" args="$(arg kinova_robotType)">
<remap from="/$(arg kinova_robotType)_tf_updater/in/joint_angles" to="/$(arg kinova_robotType)_driver/out/joint_angles"/>
</node>
</group> <group if="$(arg use_urdf)">
<param name="robot_description" command="$(find xacro)/xacro.py '$(find kinova_description)/urdf/$(arg kinova_robotType)_standalone.xacro'" />
<node name="$(arg kinova_robotType)_state_publisher"
pkg="robot_state_publisher"
type="robot_state_publisher">
<remap from="joint_states" to="/$(arg kinova_robotType)_driver/out/joint_state"/>
</node>
</group> </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 --
-v 代表输出显示所有关节的当前角度值
-r代表修改关节位置使用相对原来位置加或减去对应值,一定要加上此参数
j2n6a300 前面说的类型号
后边为6个关节<Angle_J1> <Angle_J2> <Angle_J3> <Angle_J4> <Angle_J5> <Angle_J6>

六个关节的角度信息被发布到这个话题上:
/'${kinova_robotType}_driver'/out/joint_angles

直接修改机械臂手的空间位置
rosrun kinova_demo pose_action_client.py -v -r j2n6a300 mdeg -- 0.01
mdeg {mq | mdeg | mrad} mq代表米&四元数 mdeg米&角度 米&弧度
<pos x> <pos y> <pos z> 三轴角度<Angle_x> <Angle_y> <Angle_z>或四元数<ori x> <ori y> <ori z> <ori w>

当前笛卡尔坐标被发布到这个话题
/'${kinova_robotType}_driver'/out/tool_pose

末端力旋量也就是手爪的力
/'${kinova_robotType}_driver'/out/tool_wrench

机械臂也是靠力的数据来保护它不硬撞上东西


控制机械手
rosrun kinova_demo fingers_action_client.py -v j2n6a300 percent

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/文件夹下
配置 jaco机械臂 ros环境的更多相关文章
- 通过actionlib控制jaco机械臂
为了安全,先写一个简单控制三个手指的程序: 根据驱动包内kinova_fingers_action.cpp服务器写客户端程序 #include <ros/ros.h> #include & ...
- ROS机械臂 Movelt 学习笔记3 | kinect360相机(v1)相关配置
目标是做一个机械臂视觉抓取的demo,在基地里翻箱倒柜,没有找到学长所说的 d435,倒是找到了一个老古董 kinect 360. 前几天就已经在旧电脑上配置好了,现在记录在新电脑上的配置过程. 1. ...
- OpenManipulator RM-X52 ROS 开源机械臂
DYNAMIXEL PRO PH54-200-S500-R 简介
- ROS机械臂 Movelt 学习笔记1 | 基础准备
环境:Ubuntu18.04 + ROS Melodic 1. 安装ROS 官网下载安装步骤:http://wiki.ros.org/melodic/Installation/Ubuntu 一键安装的 ...
- ROS连接ABB机械臂调试详细教程-ROS(indigo)和ABB RobotStudio 6.03.02-
在ROS industrial介绍中,给出了ROS和常用机械臂的连接方式.具体信息可以参考:http://wiki.ros.org/Industrial ROS连接ABB机械臂调试详细教程-ROS(i ...
- 基于 Mathematica 的机器人仿真环境(机械臂篇)[转]
完美的教程,没有之一,收藏学习. 目的 本文手把手教你在 Mathematica 软件中搭建机器人的仿真环境,具体包括以下内容(所使用的版本是 Mathematica 11.1,更早的版本可能缺少某些 ...
- ROS机械臂 Movelt 学习笔记2 | Move Group 接口 C++
Movelt为使用者提供了一个最通用且简单的接口 MoveGroupInterface 类,这个接口提供了很多控制机器人的常用基本操作,如: 设置机械臂的位姿 进行运动规划 移动机器人本体 将物品添加 ...
- Ubuntu 16.04 ROS环境配置
最近新入职一家公司,是搞智能无人驾驶的,用的操作系统是Ubuntu和ros,之前没接触过ros系统,既然公司用那就必须的学习啊,话不多说先装它一个ros玩玩... 1. Ubuntu 安装 ROS K ...
- ubuntu16.04 ROS环境下配置和运行SVO
ubuntu16.04 ROS环境下配置和运行SVO https://blog.csdn.net/nnUyi/article/details/78005552
随机推荐
- zabbix--Simple checks 基本检测
开始 Simple checks 通常用来检查远程未安装代理或者客户端的服务. 使用 simple checks,被监控客户端无需安装 zabbixagent 客户端, zabbix ser ...
- sql语句练习50题(Mysql版-详加注释)
表名和字段 1.学生表 Student(s_id,s_name,s_birth,s_sex) --学生编号,学生姓名, 出生年月,学生性别 2.课程表 Course(c_id, ...
- 整合mybatis时报错:Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/tx]
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Una ...
- Android 6.0 - 动态权限管理的解决方案(转)
转自:http://www.cnblogs.com/dubo-/p/6018262.html Android 6.0 - 动态权限管理的解决方案 转载请标注 Android 6.0版本(Api 2 ...
- matlab filtfilt 函数
紧接上一篇,简单分析matlab中的非常好用的 filtfilt 函数,一款零相移滤波函数. 其matlab中的语法如下: y = filtfilt(data,x);1非常简单,不是一般的简单!然而, ...
- python_django_富文本
下载富文本: pip install django-tinymce 一.配置 在settings.py文件INSTALLED_APPS中添加:'tinymce': 二.应用 1.在admin中使用 a ...
- 【leetcode】949. Largest Time for Given Digits
题目如下: Given an array of 4 digits, return the largest 24 hour time that can be made. The smallest 24 ...
- layer.msg的使用
源码: layer.msg('只想弱弱提示'); layer.msg('表情提示', {icon: 6}); layer.msg('关闭后想做些什么呢', function(){ //自动执行这里面的 ...
- 【JZOJ3673】【luoguP4040】【BZOJ3874】宅男计划
description 外卖店一共有N种食物,分别有1到N编号.第i种食物有固定的价钱Pi和保质期Si.第i种食物会在Si天后过期.JYY是不会吃过期食物的. 比如JYY如果今天点了一份保质期为1天的 ...
- go声明和初始化
go声明和初始化 当我们第一次看见变量和声明时,我们仅仅看见一些内置的类型,比如整型和字符串.现在我们将学习结构体,并且我们会深入学习包括指针的内容. 通过一种最简单的方式去创建一个结构体值类型: g ...