目录
3.1 fr3已成功运行(推荐ubuntu20.04和22.04)
3.1.4实验环境3:ros2-humble(python)
4.2.2.deb版本安装(不推荐,会覆盖驱动,当然也可以避免,但需要注意)
实际上,umi不限制ubuntu版本,在20 22 24都能跑,windows没试过,主要是机械臂配置难
一、系统安装后初始化
1.1系统更新
sudo apt-get update
sudo apt-get upgrade
sudo apt-get -f install
sudo apt-get dist-upgrade
1.2 Root用户创建
sudo passwd root
后续进入可通过命令行:su
【Ubuntu】Ubuntu 添加 root 用户_ubuntu创建root用户-优快云博客
1.3输入法or语言
一般自动更新后,再添加语言就有汉语拼音(若修改系统为汉语,建议不修改文件夹名)
如果残缺可以自动更新
部分情况下——需设置语言环境:语言,添加语言,设置更新语言包,
二、换源+ros+vscode+github
2.1一键安装教程
wget http://fishros.com/install -O fishros && . fishros
一键安装ros(换源+noetic),depc,vscode,github
2.2安装gazebo与moveit
sudo apt-get install ros-noetic-gazebo*
sudo apt-get install ros-noetic-moveit*
覆盖性安装,避免缺少
三、机械臂配置:fr3、realman、ur
3.1 fr3已成功运行(推荐ubuntu20.04和22.04)
3.1.1基础环境
sudo apt install build-essential cmake git libpoco-dev libeigen3-dev
3.1.2实验环境1:libfranka(c++)
下载fr3代码的libfranka代码,2024.9.6已更新到14.1
git clone --recursive https://github.com/frankaemika/libfranka --branch 0.13.3 # for FR3
cd libfranka
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=OFF ..
cmake --build .
以下操作可选:(安装到全局)
cd build
cpack -G DEB
sudo dpkg -i libfranka*.deb
3.1.3实验环境2:ros1(c++)
环境依赖安装
mkdir -p catkin_ws/src
cd catkin_ws
source /opt/ros/noetic/setup.sh
catkin_init_workspace src
git clone --recursive https://github.com/frankaemika/franka_ros src/franka_ros
rosdep install --from-paths src --ignore-src --rosdistro noetic -y --skip-keys libfranka
catkin_make -DCMAKE_BUILD_TYPE=Release -DFranka_DIR:PATH=/path/to/libfranka/build
source devel/setup.sh
一定要下载franka_description,嘴上说着不用下,不下就没了,至少目前还是依赖的
mkdir -p catkin_ws/src
cd catkin_ws
source /opt/ros/noetic/setup.sh
catkin_init_workspace src
git clone --recursive https://github.com/frankaemika/franka_ros src/franka_ros
git clone --recursive https://github.com/frankaemika/franka_description src/franka_description
rosdep install --from-paths src --ignore-src --rosdistro noetic -y --skip-keys libfranka
catkin_make -DCMAKE_BUILD_TYPE=Release -DFranka_DIR:PATH=/path/to/libfranka/build
source devel/setup.sh
3.1.4实验环境3:ros2-humble(python)
——23年8月更新后,可不装实时内核,但部分接口仍依赖实时内核
环境依赖安装
sudo apt install -y \
ros-humble-ament-cmake \
ros-humble-ament-cmake-clang-format \
ros-humble-angles \
ros-humble-ros2-controllers \
ros-humble-ros2-control \
ros-humble-ros2-control-test-assets \
ros-humble-controller-manager \
ros-humble-control-msgs \
ros-humble-control-toolbox \
ros-humble-generate-parameter-library \
ros-humble-joint-state-publisher \
ros-humble-joint-state-publisher-gui \
ros-humble-moveit \
ros-humble-pinocchio \
ros-humble-realtime-tools \
ros-humble-xacro \
ros-humble-hardware-interface \
ros-humble-ros-gz \
python3-colcon-common-extensions
ros工作空间
mkdir -p ~/franka_ros2_ws/src
source /opt/ros/humble/setup.bash
cd ~/franka_ros2_ws
git clone https://github.com/frankaemika/franka_ros2.git src/franka_ros2
git clone https://github.com/frankaemika/franka_description.git src/franka_description
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
source install/setup.sh
3.1.5实时内核安装(建议一键安装)
方式1:ubuntu pro
(ubuntu22 ubuntu24支持,我最开始在ubuntu20上跑的,所以方式2装的)
访问官网
注册 购买ubuntu Pro(免费5台设备)
命令行激活
sudo apt-get install linux-realtime
reboot重启,默认启用实时内核
参考文献:
【原创】Ubuntu22.04安装 PREEMPT-RT(Ubuntu Pro RealTime linux/realtime Ubuntu)_ubuntu安装preempt-优快云博客
方式2:手动安装
安装依赖
sudo apt-get install build-essential bc curl ca-certificates gnupg2 libssl-dev lsb-release libelf-dev bison flex dwarves zstd libncurses-dev
到download文件夹下下载内核文件(可以通过复制内核或ubuntu pro等其它方式实现)
cd download
curl -SLO https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.9.1.tar.xz
curl -SLO https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.9.1.tar.sign
curl -SLO https://www.kernel.org/pub/linux/kernel/projects/rt/5.9/patch-5.9.1-rt20.patch.xz
curl -SLO https://www.kernel.org/pub/linux/kernel/projects/rt/5.9/patch-5.9.1-rt20.patch.sign
解压:
xz -d *.xz
验证文件完整性:我没做
在 Linux 上安装 — Franka Control Interface (FCI) 文档 (frankaemika.github.io)
编译内核
tar xf linux-*.tar
cd linux-*/
patch -p1 < ../patch-*.patch
复制当前引导的内核配置作为新实时内核的默认配置
cp -v /boot/config-$(uname -r) .config
可以使用此配置作为默认配置来配置构建:
make xconfig
make menuconfig
可以不-j,就是慢了点,但不会被垃圾intel13 14代整出错
make -j$(nproc) deb-pkg -j 32
安装
sudo dpkg -i ../linux-headers-*.deb ../linux-image-*.deb
验证
实时权限:保证与fr3交互时延低于0.1s,高了会卡顿、会报错、会莫名其妙
sudo addgroup realtime
sudo usermod -a -G realtime $(whoami)
给实时组添加限制
sudo gedit /etc/security/limits.conf
原本有注释过的,就在那里贴进去即可,别怕
@realtime soft rtprio 99
@realtime soft priority 99
@realtime soft memlock 102400
@realtime hard rtprio 99
@realtime hard priority 99
@realtime hard memlock 102400
参考文献:
Installation on Linux — Franka Control Interface (FCI) documentation (frankaemika.github.io)
Franka机器人学习笔记 - 知乎 (zhihu.com)
从零开始配置franka机器人,让你的franka动起来_franka机器人学习-优快云博客
Installation on Linux — Franka Control Interface (FCI) documentation (frankaemika.github.io)
ubuntu打实时内核补丁教程以及安装后显卡驱动问题解决方法 - 代码先锋网 (codeleading.com)
3.2 Realman已成功运行(待更新)
3.3 UR已成功运行(待更新)
四、视觉环境配置
注意:需要在非实时内核下配置
如果安装过实时内核,也没听懂这句话,重启,开机自启选项选第二个,然后选第三个
4.1英伟达驱动安装
方式1:ubuntu自助安装(推荐)
打开软件与更新
点击附加驱动
选择535驱动(535 社区版 open-kernal)
点击apply应用,等待安装完成即可
方式2:命令行全自动安装(安装后较新,有时候挺好用)
sudo add-apt-repository ppa:graphics-drivers/ppa #填加显卡安装源
sudo apt-get update
sudo ubuntu-drivers autoinstall
参考文献:
【nvidia】1.命令行方式安装nvidia显卡驱动_nvidia-smi 安装-优快云博客
方式3:纯手工安装(不推荐)
网络下载驱动,关闭可视化页面,再进入一个根本看不见输入了啥的页面
21世纪了,我们只是学生,不需要断网操作,教程们别教了
4.2cuda下载与安装
CUDA Toolkit 12.6 Update 1 Downloads | NVIDIA Developer
4.2.1.run版本安装(强烈推荐)
选择1:cuda11.8
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
sudo sh cuda_11.8.0_520.61.05_linux.run
选择2:cuda12.1
wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_530.30.02_linux.run
sudo sh cuda_12.1.1_530.30.02_linux.run
在告知书页面ctrl+c退出,回车或者accept都是同意
安装时候,按下选择到drivers处,回车把它取消勾选
我们不需要520和530驱动,事实上525和535都稳定,520和530可不稳定,还不如550
然后再往下选到install,回车就行了
4.2.2.deb版本安装(不推荐,会覆盖驱动,当然也可以避免,但需要注意)
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-ubuntu2004-11-8-local_11.8.0-520.61.05-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2004-11-8-local_11.8.0-520.61.05-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2004-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda
不想自动安装驱动时,sudo apt-get -y install cuda --exclude=cuda-drivers
4.3 Cudnn安装
先逐一以下4行代码,下载9.4.0(2024.9.12)
wget https://developer.download.nvidia.com/compute/cudnn/9.4.0/local_installers/cudnn-local-repo-ubuntu2004-9.4.0_1.0-1_amd64.deb
sudo dpkg -i cudnn-local-repo-ubuntu2004-9.4.0_1.0-1_amd64.deb
sudo cp /var/cudnn-local-repo-ubuntu2004-9.4.0/cudnn-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
为cuda12安装(cuda12.*):
sudo apt-get -y install cudnn-cuda-12
为cuda11安装(cuda11.*):
sudo apt-get -y install cudnn-cuda-11
据说可以加速训练,所以提供新老版本供大家选择
cuDNN 9.4.0 Downloads | NVIDIA Developer
cuDNN Archive | NVIDIA Developer
因为不是专业的视觉大佬,我一般在python里安装torchvision
CUDA Toolkit 提供了 GPU 编程的基础设施,而 cuDNN 是一个专门针对深度学习任务的加速库,它们通常一起使用来开发高效的深度学习应用程序。在安装和使用 cuDNN 时,需要确保它与安装的 CUDA Toolkit 版本兼容。
理清GPU、CUDA、CUDA Toolkit、cuDNN关系以及下载安装-优快云博客
wget https://developer.download.nvidia.com/compute/cudnn/9.0.0/local_installers/cudnn-local-repo-ubuntu2004-9.0.0_1.0-1_amd64.deb
sudo dpkg -i cudnn-local-repo-ubuntu2004-9.0.0_1.0-1_amd64.deb
sudo cp /var/cudnn-local-repo-ubuntu2004-9.0.0/cudnn-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cudnn
自己换版本号就可以切换下载版本
今天看到棵别人栽的树(附链接):mousecpn/Franka-Research-3-Practice: 最近入门robotics,环境编译问题真的搞得我焦头烂额。而且网上的资料又乱又繁杂。我在这里整理一下以便后人乘凉。 (github.com)
最近入门robotics,环境编译问题真的搞得我焦头烂额。而且网上的资料又乱又繁杂。我在这里整理一下以便后人乘凉。
我的配置
ubuntu 20.04 (强烈建议)
显卡RTX A2000
Franka Research 3
ubuntu、Win10双系统安装
双系统安装ubuntu 22.04 LTS(一步到位)-优快云博客
ROS安装
libfranka和franka ros安装
Installation on Linux — Franka Control Interface (FCI) documentation
ubuntu实时内核不要在根据这条链接做,这里的安装方法已经过时了。而且如果你的内核版本很新,而且还装的5.9.1,会导致屏幕亮度,wifi等一些功能的丧失。
ubuntu实时内核(realtime kernel)
rt kernel 安装:How to Compile and Install the Linux Kernel on Ubuntu - David Augustat
显卡驱动:ubuntu打实时内核补丁教程以及安装后显卡驱动问题解决方法 - 代码先锋网
太有用了这篇文章,救我狗命啊!实时内核的安装一定会导致显卡驱动不兼容的问题,这篇文章很好地解决了如何在实时内核下安装显卡驱动的问题。
而且请严格遵循步骤,先装实时内核,再装驱动(在非实时上),再在实时内核上迁移驱动。
如何使用ROS对franka进行控制
1、建立catkin_ws
2、从libfranka找example(.h .cpp)全部扒下来放到source code里面
3、修改package.xml,建立依赖库(Eigen、franka_ws)
4、修改checklist,编译头文件和可执行文件,然后catkin_make
5、source devel/setup.bash
5、开启roscore,使用rosrun执行可执行文件
系统全部烂掉了,想重开怎么办
https://www.cnblogs.com/yangyezhuang/p/16896923.html
Realsense深度摄像头安装
Install RealSense 2 - Installation Guides
RealSense的github:GitHub - IntelRealSense/librealsense: Intel® RealSense™ SDK
Moveit!安装(panda_moveit_config)
首先尝试一下:
sudo apt-get install ros-noetic-moveit
或者
sudo apt-get install ros-noetic-moveit-full
如果缺乏依赖,应该先把依赖装上:Ubuntu – Ubuntu Packages Search
如果不行,可以尝试源码编译:
MoveIt 1 Source Build - Linux | MoveIt
如果编译不了的包,在 ./ws_moveit/src 里直接删掉就好了
手眼标定(Eye-hand Calibration)
GitHub - IFL-CAMP/easy_handeye: Automated, hardware-independent Hand-Eye Calibration
操作指南:
1、UR+RealSense手眼标定(eye-to-hand)_normalizeimageillumination is unimplemented!-优快云博客
2、https://zhuanlan.zhihu.com/p/576861119
Troubleshooting
1、安装了实时内核之后wifi无法使用了\触控板无法使用\屏幕亮度无法调节
找与你当前内核版本相近的实时内核进行编译。
如果想直接恢复wifi,参考:
双系统(windows10+ubuntu20)ubuntu连不上wifi_双系统ubuntu无法连接wifi-优快云博客
Ubuntu更改内核版本后无法上网_ubuntu切换内核后连不上网-优快云博客
2、Incompatible version (server version 6; library version 5)
从源码安装libfranka和franka_ros。
查看libfranka版本:rosversion franka_hw
3、缺乏依赖怎么办
用deb安装:
sudo dpkg -i *.deb
deb包地址:Ubuntu – Ubuntu Packages Search
4、在实时内核下不能开双屏幕
切换为非实时就可以开双屏幕了,控制机器人的时候再切换回来就好。
如果你用:make ubuntu-drivers autoinstall
然后你就会发现你实时内核开机黑屏了。So, don't do that.
5、如何删除内核
https://askubuntu.com/questions/594443/how-can-i-remove-compiled-kernel