1、ROKAE機器人
ROKAE官方:http://www.rokae.com/
我們實驗室用的就是上面這一款,它的負載能力爲4公斤,工作範圍爲596毫米。官網上有它較詳細的資料,這裏不再贅述。
2、ROS-I
ROS-I簡介:http://www.guyuehome.com/484
ROS-I官方:https://rosindustrial.org/,http://wiki.ros.org/Industrial
ROS-I教程:http://wiki.ros.org/Industrial/Tutorials
在ROS-Kinetic上安裝ROS-I:$ sudo apt-get install ros-kinetic-industrial*
最重要的,我們先要了解ROS-I的基本架構:
- GUI: 上層UI分爲兩個部分:一個部分是ROS中現在已有的UI工具(ROS GUI);另外一個部分是專門針對工業機器人通用的UI工具(ROS-I GUI),不過是將來纔會實現。
- ROS Layer: ROS基礎框架,提供核心通訊機制。
- MoveIt! Layer: 爲工業機器人提供規劃、運動學等核心功能的解決方案。
- ROS-I Application Layer: 處理工業生產的具體應用,也是針對將來的規劃。
- ROS-I Interface Layer: 接口層,包括工業機器人的客戶端,可以通過 simple message協議與機器人的控制器通信。
- ROS-I Simple Message Layer: 通信層,定義了通信的協議,打包和解析通信數據。
- ROS-I Controller Layer: 機器人廠商開發的工業機器人控制器。
- ROS-I Configuration: urdf、paramets、ROS-I conventions。
從上邊的架構我們可以看到,ROS-I在複用已有ROS框架、功能的基礎上,針對工業領域進行了針對性的拓展,而且可以通用於不同廠家的機器人控制器。
3、MoveIt!
MoveIt! 簡介:https://www.ncnynl.com/archives/201610/1028.html
MoveIt! 官方:http://moveit.ros.org/,http://wiki.ros.org/moveit
在Kinetic上安裝MoveIt!:$ sudo apt-get install ros-kinetic-moveit*
同樣,我們還是要先了解它的基本架構:
參考網址:http://moveit.ros.org/documentation/concepts/
4、創建ROS工作區
首先創建一個ROS工作區,打開一個新的終端,運行以下命令:
$ mkdir -p ~/rokae/src
$ cd ~/rokae/src
$ catkin_init_workspace
$ cd ..
$ catkin_make
$ echo "source ~/rokae/devel/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
5、編譯ros_client_program
創建完我們的ROS工作區,將ROKAE的ROS客戶端代碼拷貝到~/rokae/src文件夾下,沒有解壓的先解壓,然後在終端運行以下命令:
$ cd ~/rokae
$ catkin_make
如果你的ROS-I和MoveIt! 都配置好了,這一步應該不會有什麼問題。
6、啓動Rviz進行Motion Planning
MoveIt! 提供三種可供調用的用戶接口:
- C++, 利用move_group_interface包可以方便使用move_group
- Python,利用moveit_commander包
- GUI(界面),利用Motion Planning 的 Rviz插件
這裏先利用Motion Planning 的 Rviz插件進行運動規劃,在終端運行命令:
$ roslaunch XB4s_moveit_config demo.launch
出現上圖所示界面,我們就可以用鼠標拖動機械臂末端的六個自由度來改變它的末端位姿。當我們將機械臂末端拖到另一個位姿後,點擊左下方Planning標籤頁中的Plan and Execute按鈕,使機械臂由當前位姿運動到目標位姿,這個運動過程由MoveIt! 自動完成路徑規劃。
7、通過Socket控制機械臂
未完待續。。。
附加連接
[1] ROS機器人描述 — URDF和XACRO
[2] 機器人仿真軟件Gazebo介紹
[3] 如何利用ROS MoveIt快速搭建機器人運動規劃平臺?