word原版文档及安装所需资源在https://download.csdn.net/download/yxh505613923/10716904
Ubuntu16.04系统下安装ros_barrett_package教程.................................................... 1
1.Kinetic 的安装步骤如下。............................................................................ 2
配置 Ubuntu 仓库....................................................................................... 2
设置 sources.list........................................................................................... 3
设置密钥...................................................................................................... 3
安装.............................................................................................................. 3
初始化 rosdep.............................................................................................. 4
环境设置...................................................................................................... 4
构建包所需的依赖........................................................................................ 5
2. 下载及解压各种包......................................................................................... 8
3. peak驱动安装............................................................................................... 9
4. 创建工作空间.............................................................................................. 11
5. 通过launch文件登陆各节点....................................................................... 11
6. 启动服务/运行方式:.................................................................................. 12
通过打开两个节点控制两只手.................................................................... 13
7 . 启动rqt........................................................................................................ 13
8 . Pyhand API..................................................................................................... 15
9. 灵巧手关节的定义......................................................................................... 16
10. 服务的调用.................................................................................................. 17
此教程应用的版本为kinetic 64位系统,可从以下网站下载镜像文件并安装:
ROS package to control the Barrett Hand. This package is based on the pyHand library for Linux.
所用操作系统为
内核版本4.15.0,系统版本16.04.1
默认已经安装好ubuntu16.04系统
1.Kinetic 的安装步骤如下。
按以下三图操作,点击蓝色圆圈处
为 Ubuntu 的包管理器增加源,设置计算机接受来自于 packages.ros.org 的软件。
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
这一步会根据 Ubuntu Linux 发行版本的不同,添加不同的源。Ubuntu 的版本通过 lsb_release -sc 获得。
一旦添加了正确的软件库,操作系统就知道去哪里下载程序,并根据命令自动安装软件。
这一步是为了确认源代码是正确的,并且没有人在未经所有者授权的情况下,修改任何程序代码。通常情况下,当添加完软件库时,已经添加了软件库的密钥,并将其添加到操作系统的可信任列表中。
设置密钥的命令如下:
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
- 1
如果在连接密钥服务器时遇到了问题,可以尝试在上面的命令中用 hkp://pgp.mit.edu:80 或 hkp://keyserver.ubuntu.com:80 来替换。
首先,需要确保包管理器的索引已经更新至最新:
sudo apt-get update
ROS 中有非常多不同的库和工具。官方提供了四种默认的配置来安装 ROS。也可以独立地安装 ROS 包。
桌面完整安装(推荐采用):ROS,rqt, rviz,机器人通用库,2D/3D 仿真器,导航及 2D/3D 感知
$ sudo apt-get install ros-kinetic-desktop-full
这种方式的安装,所需要安装的包非常多。第一次安装会有一些包无法下载,再用下条语句即可安装成功。
$ sudo apt-get install ros-kinetic-desktop-full --fix-missing
通常在做开发时,采用 桌面完整安装 比较方便一点,可以一股脑将所有有可能用到的软件包都安装进来。对于实际的机器,则通常采用 ROS-Base (Bare Bones) + 独立的包 的方式进行安装。
在使用 ROS 之前,需要先初始化 rosdep。rosdep 使得你可以为你想要编译的源码,以及需要运行的 ROS 核心组件,简单地安装系统依赖。
$ sudo rosdep init
$ rosdep update
如果在每次一个新的终端启动时,ROS 环境变量都能自动地添加进你的 bash 会话是非常方便,这可以通过如下命令来实现:
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
如果安装了多个 ROS 发行版,则 ~/.bashrc 必须只 source 当前正在使用的那一版的 setup.bash。
如果你只想要修改当前 shell 的环境,则输入如下的命令来替换上面的命令:
source /opt/ros/kinetic/setup.bash
到这一步,应该已经安装好了运行核心 ROS 包的所有东西。要创建和管理你自己的 ROS workspace,还有单独发布的许多的工具。比如,rosinstall 是一个常用的命令行工具,使你可以通过一个命令为 ROS 包简单地下载许多源码树。
要安装这个工具及其它的依赖以构建 ROS 包,则运行:
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
完成完整的 ROS 安装之后,可以对安装做一个简单的测试。可以通过 roscore 和 turtlesim 来做测试。
roscore 测试如下:
启动ROS,输入:roscore 时会报错,没报错则看下一步:
这个问题是由于该路径下ros文件权限造成的。
输入以下命令修改权限:
sudo chmod 777 -R ~/.ros/
修改完成后再次输入roscore就ok了
$ roscore
... logging to /home/hanpfei0306/.ros/log/3e61b674-03cf-11e8-ac54-9cb70ddc3658/roslaunch-hanpfei0306-31481.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://hanpfei0306:44979/
ros_comm version 1.12.12
SUMMARY
========
PARAMETERS
* /rosdistro: kinetic
* /rosversion: 1.12.12
NODES
auto-starting new master
process[master]: started with pid [31495]
ROS_MASTER_URI=http://hanpfei0306:11311/
setting /run_id to 3e61b674-03cf-11e8-ac54-9cb70ddc3658
process[rosout-1]: started with pid [31508]
started core service [/rosout]
turtlesim 测试如下:
注意 turtlesim 的运行依赖于 roscore 的运行,因此在测试 turtlesim 需要同时运行 roscore。
--本文来自 hanpfei 的CSDN 博客 ,经过修改,原文地址请点击:https://blog.csdn.net/tq08g2z/article/details/79209435?utm_source=copy
創建ROS的工作空間
下面我们开始创建一个catkin 工作空间:
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
即使这个工作空间是空的(在'src'目录中没有任何软件包,只有一个CMakeLists.txt链接文件),你依然可以编译它:
$ cd ~/catkin_ws/
$ catkin_make
catkin_make命令在catkin 工作空间中是一个非常方便的工具。如果你查看一下当前目录应该能看到'build'和'devel'这两个文件夹。在'devel'文件夹里面你可以看到几个setup.*sh文件。source这些文件中的任何一个都可以将当前工作空间设置在ROS工作环境的最顶层,想了解更多请参考catkin文档。接下来首先source一下新生成的setup.*sh文件:
$ source devel/setup.bash
要想保证工作空间已配置正确需确保ROS_PACKAGE_PATH环境变量包含你的工作空间目录,采用以下命令查看:
$ echo $ROS_PACKAGE_PATH
顯示爲:/home/oldking/catkin_ws/src:/opt/ros/kinetic/share
到此你的工作环境已经搭建完成。
--参考自
https://blog.csdn.net/jinking01/article/details/79387639
http://wiki.ros.org/barrett_hand
https://github.com/ipa320/cob_extern # not necessary
https://github.com/RobotnikAutomation/pcan_python
http://www.peak-system.com/fileadmin/media/linux/index.htm
(linux 驱动下载 8.6.0) 本次使用8.6.0
从上述网页采用download到/home/robot/Download/
或者使用git clone <网址>
注意先确认下default branch是否为indigo
下载之后,分别解压
各个包在文件夹16.04中已有
unzip ...zip
tar xzvf ....tar.gz
建议先装驱动,再装包(从驱动看起)
预先装两个依赖项
$ sudo apt-get install swig//视频一
$ sudo apt-get install libpopt-dev
- peak驱动安装
解压cob_extern_indigo_dev文件,并运行:
$cd ~/Downloads/
$unzip cob_extern-indigo-dev
$ cd ~/Downloads/cob_extern-indigo-dev/libpcan/
//编译libpcan 文件夹下文件
$ cmake CMakeLists.txt
$ make
$ sudo make install//快照三,没有sudo apt-get install libpopt-dev
//视频2
在libpcan文件夹下
$ mkdir build
然后peak-linux-driver-8.6.0.tar.gz压缩包复制到libpcan/build文件夹下
1、解压
sudo tar -xvf peak-linux-driver-8.6.0.tar.gz
2、进入相应目录
cd peak-linux-driver-8.6.0/
3、make clean
4、make net=NO_NETDEV_SUPPORT
sudo apt install libc6-dev-i386
sudo apt-get install lib32z1
5、make net=NO_NETDEV_SUPPORT
sudo make install
6、然后可以在driver目录下看到编译出来的一些东西了 如pcan.mod.o文件//视频3
7、手动加载驱动:
sudo modprobe pcan
6、sudo ./pcan_make_devices 2
7、查询:
ls -l /dev/pcan*
可以查到驱动 设备号了,显示结果如下:
//视频4
- 编译 _pcan_module.so模块(该模块最终安装在/usr/lib下,下面export 声明不可少)
进入到pcan_python-master文件夹下,然后:
在makefile CFLAGS后面加上 -fno-stack-protector
$ cd home/exbot/Downloads/pcan_python-master
$ make
$ sudo make install
详见:https://github.com/RobotnikAutomation/pcan_python
下面操作以及第4,5步见视频5和6
$ export PYTHONPATH=/usr/lib:$PYTHONPATH
$echo “export PYTHONPATH=/usr/lib:$PYTHONPATH”>>~/.bashrc
//下次就不需要再添加路径了
#TBD
确认
$ printenv |grep PY*
========================驱动安装完成======================
按照常规方法来安装ros package,需要先创建一个工作空间,然后用ros提供的catkin_make命令来安装package,以下为安装步骤:
创建catkin工作空间(已有工作空间的话用原来即可):
$ mkdir -p /home/robot/bhand_ws/src
$ cd ~/bhand_ws
$ catkin_make
$ source bhand_ws/devel/setup.bash
echo source ~/bhand_ws/devel/setup.bash>>~/.bashrc
$ cp -r /home/robot/Downloads/barrett_hand-indigo-devel /home/ro bott/catkin_bhand/src/
“或者从图形化文件管理器说,使用copy to/move to”
如果你下载的文件夹名字稍有区别,是因为下载方式不同,如git 命令行,或者网页选择分支造成的
$ cd ~/bhand_ws
$ catkin_make
$ catkin_make Install (可选)只是安装空间devel还是install的区别
(注:重新创建工作空间后需要用source命令临时设置环境变量,不然会提示找不到相应的相应节点或者launch文件)
$ source home/robot/bhand_ws/devel/setup.bash
//视频5
- 通过launch文件登陆各节点
例,Bhand_controller launch 文件
$source ~/bhand_ws/devel/setup.bash
如果launch文件无法启动,则打开launch文件中包含的can口设备信息:
Ubuntu16.04系统下安装ros_barrett_package教程Ubuntu16.04系统下安装ros_barrett_package教程.................................................... 1 1.Kinetic 的安装步骤如下。............................................................................ 2 配置 Ubuntu 仓库....................................................................................... 2 设置 sources.list........................................................................................... 3 设置密钥...................................................................................................... 3 安装.............................................................................................................. 3 初始化 rosdep.............................................................................................. 4 环境设置...................................................................................................... 4 构建包所需的依赖........................................................................................ 5 2. 下载及解压各种包......................................................................................... 8 3. peak驱动安装............................................................................................... 9 4. 创建工作空间.............................................................................................. 11 5. 通过launch文件登陆各节点....................................................................... 11 6. 启动服务/运行方式:.................................................................................. 12 通过打开两个节点控制两只手.................................................................... 13 7 . 启动rqt........................................................................................................ 13 8 . Pyhand API..................................................................................................... 15 9. 灵巧手关节的定义......................................................................................... 16 10. 服务的调用.................................................................................................. 17
此教程应用的版本为kinetic 64位系统,可从以下网站下载镜像文件并安装: ROS package to control the Barrett Hand. This package is based on the pyHand library for Linux. 所用操作系统为 内核版本4.15.0,系统版本16.04.1 默认已经安装好ubuntu16.04系统 1.Kinetic 的安装步骤如下。配置 Ubuntu 仓库 按以下三图操作,点击蓝色圆圈处
设置 sources.list 为 Ubuntu 的包管理器增加源,设置计算机接受来自于 packages.ros.org 的软件。 sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
这一步会根据 Ubuntu Linux 发行版本的不同,添加不同的源。Ubuntu 的版本通过 lsb_release -sc 获得。 一旦添加了正确的软件库,操作系统就知道去哪里下载程序,并根据命令自动安装软件。 设置密钥 这一步是为了确认源代码是正确的,并且没有人在未经所有者授权的情况下,修改任何程序代码。通常情况下,当添加完软件库时,已经添加了软件库的密钥,并将其添加到操作系统的可信任列表中。 设置密钥的命令如下: sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
如果在连接密钥服务器时遇到了问题,可以尝试在上面的命令中用 hkp://pgp.mit.edu:80 或 hkp://keyserver.ubuntu.com:80 来替换。 安装 首先,需要确保包管理器的索引已经更新至最新: sudo apt-get update
ROS 中有非常多不同的库和工具。官方提供了四种默认的配置来安装 ROS。也可以独立地安装 ROS 包。 桌面完整安装(推荐采用):ROS,rqt, rviz,机器人通用库,2D/3D 仿真器,导航及 2D/3D 感知 $ sudo apt-get install ros-kinetic-desktop-full 这种方式的安装,所需要安装的包非常多。第一次安装会有一些包无法下载,再用下条语句即可安装成功。 $ sudo apt-get install ros-kinetic-desktop-full --fix-missing 通常在做开发时,采用 桌面完整安装 比较方便一点,可以一股脑将所有有可能用到的软件包都安装进来。对于实际的机器,则通常采用 ROS-Base (Bare Bones) + 独立的包 的方式进行安装。 初始化 rosdep 在使用 ROS 之前,需要先初始化 rosdep。rosdep 使得你可以为你想要编译的源码,以及需要运行的 ROS 核心组件,简单地安装系统依赖。 $ sudo rosdep init $ rosdep update 环境设置 如果在每次一个新的终端启动时,ROS 环境变量都能自动地添加进你的 bash 会话是非常方便,这可以通过如下命令来实现: echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc source ~/.bashrc 如果安装了多个 ROS 发行版,则 ~/.bashrc 必须只 source 当前正在使用的那一版的 setup.bash。 如果你只想要修改当前 shell 的环境,则输入如下的命令来替换上面的命令: source /opt/ros/kinetic/setup.bash 构建包所需的依赖 到这一步,应该已经安装好了运行核心 ROS 包的所有东西。要创建和管理你自己的 ROS workspace,还有单独发布的许多的工具。比如,rosinstall 是一个常用的命令行工具,使你可以通过一个命令为 ROS 包简单地下载许多源码树。 要安装这个工具及其它的依赖以构建 ROS 包,则运行: sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
完成完整的 ROS 安装之后,可以对安装做一个简单的测试。可以通过 roscore 和 turtlesim 来做测试。 roscore 测试如下: 启动ROS,输入:roscore 时会报错,没报错则看下一步: 这个问题是由于该路径下ros文件权限造成的。 输入以下命令修改权限: sudo chmod 777 -R ~/.ros/ 修改完成后再次输入roscore就ok了
$ roscore ... logging to /home/hanpfei0306/.ros/log/3e61b674-03cf-11e8-ac54-9cb70ddc3658/roslaunch-hanpfei0306-31481.log Checking log directory for disk usage. This may take awhile. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://hanpfei0306:44979/ ros_comm version 1.12.12
SUMMARY ========
PARAMETERS * /rosdistro: kinetic * /rosversion: 1.12.12
NODES
auto-starting new master process[master]: started with pid [31495] ROS_MASTER_URI=http://hanpfei0306:11311/
setting /run_id to 3e61b674-03cf-11e8-ac54-9cb70ddc3658 process[rosout-1]: started with pid [31508] started core service [/rosout] turtlesim 测试如下: 注意 turtlesim 的运行依赖于 roscore 的运行,因此在测试 turtlesim 需要同时运行 roscore。 --本文来自 hanpfei 的CSDN 博客 ,经过修改,原文地址请点击:https://blog.csdn.net/tq08g2z/article/details/79209435?utm_source=copy
創建ROS的工作空間 下面我们开始创建一个catkin 工作空间: $ mkdir -p ~/catkin_ws/src $ cd ~/catkin_ws/src 即使这个工作空间是空的(在'src'目录中没有任何软件包,只有一个CMakeLists.txt链接文件),你依然可以编译它: $ cd ~/catkin_ws/ $ catkin_make catkin_make命令在catkin 工作空间中是一个非常方便的工具。如果你查看一下当前目录应该能看到'build'和'devel'这两个文件夹。在'devel'文件夹里面你可以看到几个setup.*sh文件。source这些文件中的任何一个都可以将当前工作空间设置在ROS工作环境的最顶层,想了解更多请参考catkin文档。接下来首先source一下新生成的setup.*sh文件: $ source devel/setup.bash 要想保证工作空间已配置正确需确保ROS_PACKAGE_PATH环境变量包含你的工作空间目录,采用以下命令查看: $ echo $ROS_PACKAGE_PATH 顯示爲:/home/oldking/catkin_ws/src:/opt/ros/kinetic/share 到此你的工作环境已经搭建完成。 --参考自 https://blog.csdn.net/jinking01/article/details/79387639
http://wiki.ros.org/barrett_hand https://github.com/ipa320/cob_extern # not necessary https://github.com/RobotnikAutomation/pcan_python http://www.peak-system.com/fileadmin/media/linux/index.htm (linux 驱动下载 8.6.0) 本次使用8.6.0 从上述网页采用download到/home/robot/Download/ 或者使用git clone <网址> 注意先确认下default branch是否为indigo 下载之后,分别解压 各个包在文件夹16.04中已有
unzip ...zip tar xzvf ....tar.gz 建议先装驱动,再装包(从驱动看起) 预先装两个依赖项 $ sudo apt-get install swig//视频一 $ sudo apt-get install libpopt-dev
解压cob_extern_indigo_dev文件,并运行: $cd ~/Downloads/ $unzip cob_extern-indigo-dev $ cd ~/Downloads/cob_extern-indigo-dev/libpcan/ //编译libpcan 文件夹下文件 $ cmake CMakeLists.txt $ make $ sudo make install//快照三,没有sudo apt-get install libpopt-dev //视频2
在libpcan文件夹下 $ mkdir build 然后peak-linux-driver-8.6.0.tar.gz压缩包复制到libpcan/build文件夹下
1、解压 sudo tar -xvf peak-linux-driver-8.6.0.tar.gz
2、进入相应目录 cd peak-linux-driver-8.6.0/
3、make clean
4、make net=NO_NETDEV_SUPPORT sudo apt install libc6-dev-i386 sudo apt-get install lib32z1 5、make net=NO_NETDEV_SUPPORT sudo make install 6、然后可以在driver目录下看到编译出来的一些东西了 如pcan.mod.o文件//视频3 7、手动加载驱动: sudo modprobe pcan 6、sudo ./pcan_make_devices 2 7、查询: ls -l /dev/pcan* 可以查到驱动 设备号了,显示结果如下: //视频4
进入到pcan_python-master文件夹下,然后:
在makefile CFLAGS后面加上 -fno-stack-protector $ cd home/exbot/Downloads/pcan_python-master $ make $ sudo make install
详见:https://github.com/RobotnikAutomation/pcan_python 下面操作以及第4,5步见视频5和6 $ export PYTHONPATH=/usr/lib:$PYTHONPATH $echo “export PYTHONPATH=/usr/lib:$PYTHONPATH”>>~/.bashrc //下次就不需要再添加路径了 #TBD
确认 $ printenv |grep PY*
========================驱动安装完成======================
按照常规方法来安装ros package,需要先创建一个工作空间,然后用ros提供的catkin_make命令来安装package,以下为安装步骤:
创建catkin工作空间(已有工作空间的话用原来即可): $ mkdir -p /home/robot/bhand_ws/src $ cd ~/bhand_ws $ catkin_make $ source bhand_ws/devel/setup.bash echo source ~/bhand_ws/devel/setup.bash>>~/.bashrc
$ cp -r /home/robot/Downloads/barrett_hand-indigo-devel /home/ro bott/catkin_bhand/src/ “或者从图形化文件管理器说,使用copy to/move to” 如果你下载的文件夹名字稍有区别,是因为下载方式不同,如git 命令行,或者网页选择分支造成的 $ cd ~/bhand_ws $ catkin_make $ catkin_make Install (可选)只是安装空间devel还是install的区别
(注:重新创建工作空间后需要用source命令临时设置环境变量,不然会提示找不到相应的相应节点或者launch文件) $ source home/robot/bhand_ws/devel/setup.bash //视频5
例,Bhand_controller launch 文件 $source ~/bhand_ws/devel/setup.bash
如果launch文件无法启动,则打开launch文件中包含的can口设备信息:
$ cd /home/robot/bhand_ws/src/barrett_hand-indigo-devel/bhand_controller/devel $ source setup.bash $ roslaunch bhand_controller bhand_controller.launch
新开一个命令行: $ cd /home/exbot/catkin_bhand/src/barrett_hand-indigo-devel/bhand_controller/devel $ source setup.bash
$rosservice call /bhand_node/actions 'action: 1' //有错 应该是 rosservice call /bhand_node/actions '1' 此时node便会连接机器人完成初始化,然后将灵巧手指移动到初始位置(张开)。 如果服务调用出错
此处文件需要额外编译 cd ~/bhand_ws/src/barrett_hand/bhand_controller/ Cmake . Make . ~/bhand_ws/devel/setup.bash Action1 : 初始化,在进行下面调用action时,这是必须步骤 Action2: 手指关闭 Action3: 手指张开 更复杂的控制命令 rostopic pub /bhand_node/command sensor_msgs/JointState "header: seq: 0 stamp: {secs: 0, nsecs: 0} frame_id: '' name: ['bh_j11_joint', 'bh_j32_joint', 'bh_j12_joint', 'bh_j22_joint'] position: [0 , 0, 0, 0] velocity: [0] effort: [0]" rosservice call /bhand_node/set_control_mode "mode: 'VELOCITY'" 见视频7 在16.04文件夹下复制bhand_controller2hand.launch到~/bhand_ws/src/barrett_hand-kinetic-devel/bhand_controller/launch下, 在终端中运行 $ roslaunch bhand_controller bhand_controller2hand.launch $rosnode list 显示出有两个节点 /bhand_controller1/bhand_node /bhand_controller2/bhand_node $ rosservice call /bhand_controller1/bhand_node/actions '1'或者rosservice call /bhand_controller2/bhand_node/actions '1'分别控制两个节点。
7 . 启动rqt启动workspace/src/rqt/launch 下的rqt界面程序,类似pyhand 如果启动节点错误,发现错误:
两个PYTHONPATH环境变量添加到/home/robot/.bashrc最后面,以便在每次启动shell 时自动更新 #$ export PYTHONPATH=/usr/lib:$PYTHONPATH cd ~/_ws/src/barrett-hand-indigo/rqt_bhand/scripts roscore ./rqt_bhand 打开后点击初始化 初始化下面的滑动条,注意选择位置和速度模式,以及下面的enable motor 打勾。 8 . Pyhand API
如果遇到了错误如下:
(1)请将launch文件的pcan0改成pcanusb0 (2)确认插上can转usb到电脑usb上,查看/dev/是否生成pcanusb0文件??!!! 如果没有,则驱动没有正确安装。
(图下为home位置) (此时关节F1F2F3编码器数值为0,闭合时最大数值CT为190000,DS=25600) (此时spread编码器数值为0,闭合式最大数值CT为35950,DP=17975)
|
- 启动服务/运行方式:
$ cd /home/robot/bhand_ws/src/barrett_hand-indigo-devel/bhand_controller/devel
$ source setup.bash
$ roslaunch bhand_controller bhand_controller.launch
新开一个命令行:
$ cd /home/exbot/catkin_bhand/src/barrett_hand-indigo-devel/bhand_controller/devel
$ source setup.bash
$rosservice call /bhand_node/actions 'action: 1' //有错
应该是 rosservice call /bhand_node/actions '1'
此时node便会连接机器人完成初始化,然后将灵巧手指移动到初始位置(张开)。
如果服务调用出错
此处文件需要额外编译
cd ~/bhand_ws/src/barrett_hand/bhand_controller/
Cmake .
Make
. ~/bhand_ws/devel/setup.bash
Action1 : 初始化,在进行下面调用action时,这是必须步骤
Action2: 手指关闭
Action3: 手指张开
更复杂的控制命令
rostopic pub /bhand_node/command sensor_msgs/JointState "header:
seq: 0
stamp: {secs: 0, nsecs: 0}
frame_id: ''
name: ['bh_j11_joint', 'bh_j32_joint', 'bh_j12_joint', 'bh_j22_joint']
position: [0 , 0, 0, 0]
velocity: [0]
effort: [0]"
rosservice call /bhand_node/set_control_mode "mode: 'VELOCITY'"
通过打开两个节点控制两只手
见视频7
在16.04文件夹下复制bhand_controller2hand.launch到~/bhand_ws/src/barrett_hand-kinetic-devel/bhand_controller/launch下,
在终端中运行
$ roslaunch bhand_controller bhand_controller2hand.launch
$rosnode list
显示出有两个节点
/bhand_controller1/bhand_node
/bhand_controller2/bhand_node
$ rosservice call /bhand_controller1/bhand_node/actions '1'或者rosservice call /bhand_controller2/bhand_node/actions '1'分别控制两个节点。
7 . 启动rqt
启动workspace/src/rqt/launch 下的rqt界面程序,类似pyhand
如果启动节点错误,发现错误:
两个PYTHONPATH环境变量添加到/home/robot/.bashrc最后面,以便在每次启动shell 时自动更新 #$ export PYTHONPATH=/usr/lib:$PYTHONPATH
cd ~/_ws/src/barrett-hand-indigo/rqt_bhand/scripts
roscore
./rqt_bhand
打开后点击初始化
初始化下面的滑动条,注意选择位置和速度模式,以及下面的enable motor 打勾。
8 . Pyhand API
如果遇到了错误如下:
(1)请将launch文件的pcan0改成pcanusb0
(2)确认插上can转usb到电脑usb上,查看/dev/是否生成pcanusb0文件??!!!
如果没有,则驱动没有正确安装。
- 灵巧手关节的定义
(图下为home位置)
(此时关节F1F2F3编码器数值为0,闭合时最大数值CT为190000,DS=25600)
(此时spread编码器数值为0,闭合式最大数值CT为35950,DP=17975)
- 服务的调用