法奥机器人ROS2环境搭建

法奥机器人ROS2环境搭建

目录

第一章  SDK文件准备

   1.1  机器人软件版本查看

 第二章 测试平台搭建

2.1虚拟平台安装

                    2.1.1虚拟机安装 

            2.1.2ubuntu 的安装

第三章 软件环境搭建

        3.1  vscode安装

3.2vscode插件安装

3.3  ROS 及环境变量配置

3.1.1 Ros2-humble版本 安装

3.1.2  Ros-control版本安装

3.1.3   Moveit2版本安装

第四章  插件包导入及插件测试

        4.1 MOVEIT2插件包导入

4.2 RVIZ 仿真操作简介

4.3  RVIZ 与机器人实机联动操作简介


第一章  SDK文件准备

   1.1  机器人软件版本查看

               1、登录法奥机器人webapp界面,依次点击 系统设置 》》关于  查看机器人当前机器人软件版本。

   1.2  ros2SDK包下载

           用浏览器访问gitee法奥仓库   FAIR-INNOVATION (fair-innovation) - Gitee.com   然后按下图示选择对应自己版本的ROS2包。

 第二章 测试平台搭建

2.1虚拟平台安装

                    2.1.1虚拟机安装 

国内用户一般使用 Windows系统电脑,在一台电脑上安装多个系统也可以实现,单不符合大多数人的使用习惯,利用软件 “VMware workstation”可在windows上安装多种系统。

此处提供第三方的下载连接: 

VMware Workstation Pro - Download

如有需要,可网络搜索其他下载途径,并按照网络教程进行安装。

本次示例使用的版本为:VMware workstation 16 pro ;对于虚拟机软件的版本并无要求。

            2.1.2ubuntu 的安装

                1)ubuntu 是基于linux的其中一个桌面操作系统,前往ubuntu的官网下载安装镜像。ubuntu 官网中默认下载的是最新版本,SDK对于编译版本有要求,本示例中使用的是ubuntu 22.04.5 LTS 版本:ubuntu-22.04.4-desktop-amd64.iso,可参照以下连接:

https://cn.ubuntu.com/download/alternative-downloads

        如官方网站版本有更新,可网络查询其他连接以下载镜像文件。

        2)打开虚拟机软件,点击选择“创建新的虚拟机”。

        选择典型选项 >>安装光盘文件映象,选择下载的文件 >> 自定义名称及密码>>选择安装位置 >>给定硬盘大小>>点击完成后,虚拟机将自动安装。




  



  

        3)稍作等待,将进入ubuntu安装界面,跟随指引安装完成ubuntu。(相关设置如无特殊要求,使用默认安装即可。)

        安装按成后,点击立即重启,重启完成后,将进入ubuntu登陆界面,界面如下图所示,输入规定的密码,进入ubuntu系统。

        4)点击应用框,选中“setting”,打开设置界面,添加中文语言,并重启。

        重启后,界面如下图所示:

第三章 软件环境搭建

        3.1  vscode安装

        vscode 是较为常用的编辑软件,其具备众多插件,能完成多种语言的编译及编辑工作,本次作为代码查看器使用,单并非编辑代码的唯一方式。利用ubuntu的浏览器,可以直接下载vscode在ubutu的安装包。

        1)打开火狐浏览器,搜索“vscode”,进入官网界面。

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

        3)打开下载的文件夹,右键空白处点击“在终端中打开”。

        4)在弹出的终端框中输入 “sudo dpkg -i code”,按下“tab”键自动补全剩下文件包名并键入,等待出现下一个输入行后即为安装完成。(期间需要输入密码,密码不可见,输入后按下键入即可)。

        5)打开应用抽屉,检查是否出现vscode图标。

3.2vscode插件安装

        vscode需要安装插件才能正常识别编程文件,点击vscode图标打开软件,并点击插件库查找插件下载。

推荐的插件如下:

chinese(simplified) 简体中文插件,修改界面语言。

c/c++  c/c++的高阶语言插件,用于支持c/c++的编写。

vscode-icons  图标插件,修改文件目录下的文件图标。

c/c++ extension pack 拓展插件

3.3  ROS 及环境变量配置

        使用第三方一键配置包能快捷安装各种利于编程的工具,包含 gcc /g++ 编译器,apt 安装工具的更新,ROS2环境等等。

3.1.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
apt-get install open-vm-tools open-vm-tools-desktop //         安装VM工具
                          vmware-user //                开启服务

    重启虚拟机后重新尝试复制粘贴。

3.1.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.1.3   Moveit2版本安装

        首先利用APT-GET 安装moveit 包;

使用moveit2插件,需先进行moveit2及moveit2_tutorials源码的安装。

首先,在主目录下创建文件夹作为要用的工作区“ moveit2_ws/src”

        在工作区(src文件夹)中,右键打开终端,安装git并从git上克隆Moveit2 的代码.

        注意:中间需要输入“Y”以继续安装

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 可替换为其他确实的项目名称。

            或者打开“/home/fruser/moveit2_ws/src/moveit2_tutorials/moveit2_tutorials.repos”,      将需要克隆的URL链接前, 加入 “ GitHub Proxy 最新地址发布”作为代理后,                    重新进行“vcs import < moveit2_tutorials/moveit2_tutorials.repos”的克隆。

        完成后,利用一键安装工具,安装“rosdepc”用于搜索下载依赖。进入 “moveit2_ws”文件夹,右键点击空白处打开终端,输入以下命令,查找并安装依赖项。

“wget http://fishros.com/install -O fishros && . fishros”

键入“3”,安装rosdep工具。

接着,在当前终端中输入以下指令,安装所需要的依赖库。

rosdepc update
rosdepc install --from-path src --ignore-src -r -y

依赖安装完成后,继而进行代码编译,使用“colcon ”指令进行编译,在当前终端中,输入以下指令。

colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
  1. 至此,moveit2 安装完成。                                 

第四章  插件包导入及插件测试

        4.1 MOVEIT2插件包导入

                1)fairino 提供的插件包已经更新至资料站中,可参考如下网址查看和下载对应插件包:

FAIR-INNOVATION (fair-innovation) - Gitee.comhttps://gitee.com/fair-innovation

        2) 打开“ 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(以FR3机型为例)
colcon build --packages-select fairino_mtc_demo
source install/setup.bash

至此,fairino ros2 moveit插件包需要的文件已经移动完成。

4.2 RVIZ 仿真操作简介

        1)在“moveit2_ws”文件夹下,打开终端,输入以下指令,将moveit2 生成的文件进行编译并更新。

colcon build --packages-select fairino3_v6_moveit2_config
source install/setup.bash

输入以下指令执行lunch文件。

ros2 launch fairino3_v6_moveit2_config demo.launch.py

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

2)想要实现简单运动,只需要拖拽机器人末端的轨迹球,或者进行joint 轴关节运动。以下为常用的功能布局图:

Planning: 规划操作选窗。

Commands:指令区。

显示机器人模型的区域为机器人可视作业视窗。

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

在可视化作业区内,鼠标操作定义如下:

左键:拖动旋转视图。

右键:拖动放大视图。

中键:滚轮滑动放大视图/滚轮点击平行移动视图。

点击“Plan”按钮,可视化视图中会进行路径规划,并以虚影动作展示规划出的动作。

点击“Execute”会驱动机器人按照仿真路径运动到目标位置。

点击“Plan& Execute”会控制机器人进行路径规划并运动。

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

若关闭rviz,终端进程无法退出,可以直接关闭终端或者使用“ctrl + C ”来结束进程。

4.3  RVIZ 与机器人实机联动操作简介

        1)使用RVIZ 与机器人联动,需要使用fairino_hardware 功能包,,通过fairino_hardware插件move_group将运动规划发送给moveit_control,然后转发给ros2_control,ros2_control再通过fairino_hardware插件驱动实际机器人运动,并且fairino_hardware插件还会接受实际机器人的反馈数据,从而实现rviz2仿真界面机器人模型与实际机器人的同步,从而实现用户通过rviz2界面驱动实际机器人运动功能。

注意:确认hardware 功能包需要支持机器人的软件版本,确保API对齐,以避免数据不对应导致的控制失败!!

确定机器人已经与上位机网络连接,且机器人网络IP地址为:192.168.58.2

进入如下路径:“/home/fruser/moveit2_ws/install/fairino3_v6_moveit2_config/share/fairino3_v6_moveit2_config/co nfig”
打开文件“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 插件包安装验证完成,

Read more

企业级部署建议:Qwen3Guard-Gen-WEB权限控制设置

企业级部署建议:Qwen3Guard-Gen-WEB权限控制设置 在将Qwen3Guard-Gen-WEB这类高敏感度安全审核模型投入生产环境前,一个常被低估却至关重要的环节是——权限控制体系的构建。它不是锦上添花的附加配置,而是决定模型能否合规、可控、可持续运行的生命线。Qwen3Guard-Gen-WEB作为阿里开源的生成式安全审核模型,其核心能力在于对文本内容进行三级风险判定(安全/有争议/不安全)并输出可解释依据。但若缺乏严谨的访问控制,这一能力反而可能成为风险源:未授权人员误用导致误判扩散、恶意调用耗尽资源、敏感审核日志外泄引发合规危机……本文不讲模型原理,也不演示基础推理,而是聚焦于企业真实落地中最易踩坑、最需前置规划的环节——如何为Qwen3Guard-Gen-WEB构建一套稳健、可审计、符合等保与GDPR精神的权限控制机制。 1. 为什么Web界面更需要权限控制?——从便利性到风险敞口 Qwen3Guard-Gen-WEB的“一键启动+网页操作”设计极大降低了使用门槛,但恰恰是这种便利性,放大了权限失控的后果。我们来对比两种典型场景: * 无权限控制状态:1

hacdias/webdav WebDAV服务器完整配置指南与快速入门

hacdias/webdav WebDAV服务器完整配置指南与快速入门 【免费下载链接】webdavSimple Go WebDAV server. 项目地址: https://gitcode.com/gh_mirrors/we/webdav hacdias/webdav是一个轻量级独立的WebDAV服务器解决方案,采用Go语言编写,专为需要简单高效文件共享服务的用户设计。本文将为您提供从零开始的一键部署教程、安全配置实践以及常见问题解决方案,帮助您快速搭建专业的WebDAV文件共享平台。 项目核心特性解析 hacdias/webdav服务器具备多项实用功能:支持多用户权限管理,可为不同用户分配独立的目录访问权限;内置TLS加密传输,保障数据传输安全性;提供灵活的规则配置系统,支持基于路径和正则表达式的精细权限控制;兼容所有标准WebDAV客户端,实现跨平台文件同步。 Docker容器化部署实战 基础环境准备 首先确保系统已安装Docker环境,然后创建配置文件和数据目录: mkdir -p webdav/{config,data} 配置文件编写 创建webd

用 ASCII 草图 + AI 快速生成前端代码

引言 从想法到代码,中间往往要经历画原型、出设计稿等环节。 用 ASCII 草图,可以跳过大量原型绘制、结构拆解和手动搭骨架的中间步骤。 这种表达方式其实一直存在,但真正让它进入工程流程的,是 AI 的能力提升。大语言模型对结构化文本具有很强的解析能力,能够识别文本中的层级、对齐关系与空间划分,并将这些结构信息稳定地映射为组件树和页面布局。 因此,ASCII 不再只是沟通草稿,而成为一种可执行的结构描述。 什么是 “ASCII 草图” 提到 ASCII,很多人的第一反应可能是那个年代久远的“字符画”。没错,ASCII 草图就是用字符来构建页面布局。 在 AI 时代,这种看似简陋的草图,其实蕴含着巨大的能量。大语言模型(LLM)对结构化文本的理解能力极强。相比于模糊的自然语言描述(“我要一个左边宽右边窄的布局”),ASCII 草图提供了一种所见即所得的结构化 Prompt。 简单来说,ASCII 草图充当了视觉蓝图的角色,AI 根据这个结构生成代码。

GLM-4.6V-Flash-WEB踩坑记录:这些常见问题你一定要知道

GLM-4.6V-Flash-WEB踩坑记录:这些常见问题你一定要知道 部署完GLM-4.6V-Flash-WEB镜像,点开网页界面,输入第一张图、敲下回车——结果卡住不动?模型加载失败?API返回500?上传图片后提示“格式不支持”,但明明是JPG?又或者,明明T4显存还有空余,推理却报CUDA out of memory? 别急,这不是你操作错了,也不是模型不行。这是绝大多数人在首次接触GLM-4.6V-Flash-WEB时都会撞上的真实门槛。它确实轻快、开源、开箱即用,但“开箱即用”不等于“零配置即用”。它的设计哲学是工程友好,而非无脑傻瓜——这意味着它把灵活性留给了你,也把几个关键细节交由你亲手确认。 这篇记录不是官方文档的复述,也不是理想状态下的教程,而是从真实终端日志、反复重启的容器、被注释掉的调试代码里抠出来的经验总结。我们不讲原理,不堆参数,只说:哪些地方容易出错、为什么错、怎么三分钟内定位并解决。如果你刚拉起镜像、正对着黑屏或报错发愣,这篇文章就是为你写的。