第一章 SDK 文件准备
1.1 机器人软件版本查看
登录法奥机器人 WebApp 界面,依次点击系统设置 > 关于,查看机器人当前软件版本。

1.2 ROS2 SDK 包下载
访问 Gitee 法奥仓库 (fair-innovation),根据机器人版本选择对应的 ROS2 包进行下载。

第二章 测试平台搭建
2.1 虚拟平台安装
2.1.1 虚拟机安装
建议使用 VMware Workstation 在 Windows 上安装 Linux 系统。可前往官网下载最新版本。
本次示例使用的版本为:VMware Workstation 16 Pro。

2.1.2 Ubuntu 的安装
- Ubuntu 是基于 Linux 的桌面操作系统。SDK 对编译版本有要求,本示例中使用的是 Ubuntu 22.04 LTS 版本(如 ubuntu-22.04.4-desktop-amd64.iso)。

-
打开虚拟机软件,选择'创建新的虚拟机'。
- 选择典型选项 >> 安装光盘文件映象,选择下载的文件。
- 自定义名称及密码 >> 选择安装位置 >> 给定硬盘大小 >> 完成。
-
等待进入 Ubuntu 安装界面,跟随指引安装完成(相关设置如无特殊要求,使用默认安装即可)。

安装完成后重启,输入密码进入 Ubuntu 系统。

- 打开设置界面,添加中文语言并重启。

重启后界面如下图所示:

第三章 软件环境搭建
3.1 VSCode 安装
VSCode 是常用的代码编辑器,支持多种语言编译及编辑工作。
- 打开浏览器搜索'vscode',进入官网界面。

- 点击下载 .deb 文件,下载安装包。

- 打开下载的文件夹,右键空白处点击'在终端中打开'。

- 在弹出的终端框中输入
sudo dpkg -i code,按下 Tab 键自动补全文件名并回车,等待出现下一个输入行即为安装完成(期间需要输入密码)。

- 打开应用抽屉,检查是否出现 VSCode 图标。

3.2 VSCode 插件安装
VSCode 需要安装插件才能正常识别编程文件。点击插件库查找并下载推荐插件:
- Chinese (Simplified): 简体中文插件,修改界面语言。

- C/C++: C/C++ 高阶语言插件,用于支持 C/C++ 编写。

- VSCode Icons: 图标插件,修改文件目录下的文件图标。

- C/C++ Extension Pack: 拓展插件。

3.3 ROS 及环境变量配置
使用一键配置脚本能快捷安装利于编程的工具,包含 gcc/g++ 编译器、apt 更新工具、ROS2 环境等。
3.3.1 ROS2 Humble 版本安装
此处是针对 ROS2 环境的一键配置,集成了 C++、Python 等支持。
在任意终端界面,输入以下指令:
wget http://fishros.com/install -O fishros && . fishros
在提示中选择'1'安装 ROS 环境。

在更换源选项时,建议选择'1'自动选择源文件连接,并在接下来的具体选项中选择'2'更换系统源并清理第三方源。

在接下来的版本安装中,选择'1'Humble 版本,并选择较完整的'1'桌面版。

直至安装完成。

若遇到虚拟机与主机间无法进行复制粘贴操作,在终端中输入如下命令:
sudo su
apt-get update
apt-get install open-vm-tools open-vm-tools-desktop
vmware-user
重启虚拟机后重新尝试复制粘贴。
3.3.2 ROS-Control 版本安装
在终端中,输入以下命令安装 ros-controller(中间需输入 Y 以继续安装):
sudo apt-get install ros-humble-ros2-control
sudo apt-get install ros-humble-ros2-controllers

在终端中输入以下命令用以验证 ROS 是否安装完成:
ros

3.3.3 MoveIt2 版本安装
首先利用 APT-GET 安装 moveit 包。

使用 MoveIt2 插件,需先进行 MoveIt2 及 MoveIt2_Tutorials 源码的安装。
- 在主目录下创建文件夹作为工作区
moveit2_ws/src。

- 在工作区 (src 文件夹) 中,右键打开终端,安装 git 并从 git 克隆 MoveIt2 的代码。
sudo apt install git
git clone https://github.com/ros-planning/moveit2_tutorials -b humble --depth 1

- 完成后输入以下命令,完成全部代码的克隆:
sudo apt install python3-vcstool
vcs import < moveit2_tutorials/moveit2_tutorials.repos

如遇到克隆失败的项目,需要手动克隆至目录中:
git clone https://github.com/ros-planning/moveit2.git
其中,moveit2.git 可替换为其他缺失的项目名称。

若网络受限,可配置镜像代理后重新执行 vcs import。
- 利用一键安装工具安装
rosdep用于搜索下载依赖。进入moveit2_ws文件夹,右键点击空白处打开终端,输入以下命令:
wget http://fishros.com/install -O fishros && . fishros

键入'3',安装 rosdep 工具。

接着,在当前终端中输入以下指令,安装所需要的依赖库:
rosdep update
rosdep install --from-path src --ignore-src -r -y

依赖安装完成后,继而进行代码编译,使用 colcon 指令:
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release

至此,MoveIt2 安装完成。
第四章 插件包导入及插件测试
4.1 MoveIt2 插件包导入
- Fairino 提供的插件包已更新至资料站中,参考网址下载对应插件包。

- 打开
moveit_ws/src/并将文件解压到当前文件夹下。Fairino 提供了不同机器人的使用文件,只需解压符合现场机器人型号的文件。如需进行示例代码fairino_mtc_demo,需获取代码一并放入src路径中,执行编译代码。

回到 MoveIt2 目录下,右键打开终端,分别执行以下命令并编译:
colcon build --packages-select fairino_msgs
colcon build --packages-select fairino_hardware
colcon build --packages-select fairino_description
colcon build --packages-select fairino3_v6_moveit2_config
source install/setup.bash

至此,Fairino ROS2 MoveIt 插件包需要的文件已经移动完成。
4.2 RVIZ 仿真操作简介
- 在
moveit2_ws文件夹下,打开终端,输入以下指令,将 MoveIt2 生成的文件进行编译并更新:
colcon build --packages-select fairino3_v6_moveit2_config
source install/setup.bash

输入以下指令执行 launch 文件:
ros2 launch fairino3_v6_moveit2_config demo.launch.py

至此,RVIZ 界面会弹出如下:

- 想要实现简单运动,只需要拖拽机器人末端的轨迹球,或者进行 Joint 轴关节运动。以下为常用的功能布局图:
- Planning: 规划操作选窗。
- Commands: 指令区。
- 显示机器人模型的区域为机器人可视作业视窗。

鼠标拖拽末端轨迹球,改变机器人的位置。注意,若轨迹球偏离机器人的可达位姿,机器人末端无法与轨迹球贴合。

在可视化作业区内,鼠标操作定义如下:
- 左键:拖动旋转视图。
- 右键:拖动放大视图。
- 中键:滚轮滑动放大视图 / 滚轮点击平行移动视图。
点击'Plan'按钮,可视化视图中会进行路径规划,并以虚影动作展示规划出的动作。 点击'Execute'会驱动机器人按照仿真路径运动到目标位置。 点击'Plan & Execute'会控制机器人进行路径规划并运动。

点击'Joints'进入关节控制界面,拖拽对应关节的滑动条,同样可以改变机器人位姿。再通过'Plan & Execute'进行动作的执行。

若关闭 RVIZ,终端进程无法退出,可以直接关闭终端或者使用 Ctrl + C 来结束进程。
4.3 RVIZ 与机器人实机联动操作简介
- 使用 RVIZ 与机器人联动,需要使用
fairino_hardware功能包。通过fairino_hardware插件move_group将运动规划发送给moveit_control,然后转发给ros2_control,ros2_control再通过fairino_hardware插件驱动实际机器人运动,并且fairino_hardware插件还会接受实际机器人的反馈数据,从而实现 RVIZ2 仿真界面机器人模型与实际机器人的同步。
注意:确认 hardware 功能包需要支持机器人的软件版本,确保 API 对齐,以避免数据不对应导致的控制失败! 确定机器人已经与上位机网络连接,且机器人网络 IP 地址为:192.168.58.2
进入如下路径:/home/fruser/moveit2_ws/install/fairino3_v6_moveit2_config/share/fairino3_v6_moveit2_config/config
打开文件 fairino3_v6_robot.ros2_control.xacro,将文件的第 9 行指令 <plugin>mock_components/GenericSystem</plugin> 修改为:
<plugin>fairino_hardware/FairinoHardwareInterface</plugin>。

返回 moveit2_ws,打开终端重新输入命令,重新运行 RVIZ 代码:
source install/setup.bash
ros2 launch fairino3_v6_moveit2_config demo.launch.py

此时机器人应与实际连接的机器人位姿一致。

鼠标拖动轨迹球,改变机器人目标位置,并点击'Plan & Execute',RVIZ 会控制机器人前往目标位置。至此,ROS2 MoveIt2 插件包安装验证完成。



