基于ROS2的机器人控制器配置

此文档为本人学习笔记,用于记录在ROS2系统搭建调试中遇到的问题与解决方法,同时为遇到相同问题的朋友提供参考。文章整理了部分博主及官方的文档资料,已在文中连接或文末参考文章指出,如有侵权,请联系本人删除,谢谢。

一、 Ubuntu22.04安装及配置

1. Ubuntu22.04安装

系统状况
本机采用Windows 11+Ubuntu 22.04.03 双系统,Ubuntu安装前期工作于Windows11系统下完成
硬件设备
CPU: i9-13900K
主板:ROG MAXIMUS Z790 HERO (网卡:XXXX)
显卡:RTX4090
屏幕:双屏幕

1.1 下载镜像

Ubuntu镜像(LTS)下载地址: https://cn.ubuntu.com/download/desktop

1.2 镜像烧录

参考官方U盘制作方式: https://ubuntu.com/tutorials/create-a-usb-stick-on-windows#1-overview

1.3 系统安装

参考官方系统安装过程 :https://ubuntu.com/tutorials/install-ubuntu-desktop#1-overview

由于Windows系统已连接过WIFI,故Ubuntu系统安装时可直接连接无线网络。若无WIFI模块且出现在安装后系统无法识别网卡的问题,可在安装时使用【USB-网口】转换器提供网络,在安装完成后即自动获取板载网卡驱动,仅供参考.

1.4 更换下载源

Settings -> About -> Software Updates -> Download from -> Other -> Select Best Server

1.5 更换显卡驱动

Settings -> About -> Software Updates -> Additional Drivers -> Using NVIDIA driver metapackage from nvidia-driver-525 (proprietary)

2. 系统配置

2.1 安装:Terminator

sudo apt install terminator

2.2 安装:搜狗输入法

参考: https://blog.csdn.net/Mr_Sudo/article/details/124874239

提示:安装并应用Fcitx4后重启电脑,而后再进行输入法安装,或可避免诸多问题。

注:若出现只可输入英文无法输入中文的情况,则是缺少依赖所导致的,解决方法如下:

sudo apt-get install libqt5qml5 libqt5quick5 libqt5quickwidgets5 qml-module-qtquick2
sudo apt install libgsettings-qt1

2.3 安装:ROS2

参考:https://fishros.com/d2lros2/#/humble/chapt1/get_started/3.%E5%8A%A8%E6%89%8B%E5%AE%89%E8%A3%85ROS2

2.4 安装:VSCode

下载地址:https://code.visualstudio.com/Download
解压安装:

sudo dpkg -i code_1.85.1-1702462158_amd64.deb

配置C/C++扩展包含路径

/opt/ros/humble/**

2.5 安装: make & cmake & colcon

sudo apt install make
sudo apt install cmake
sudo apt-get install python3-colcon-common-extensions

2.6 安装: gcc-12

由于版本内核6.5.0,安装下述CH34X驱动时需要使用gcc-12,故需先行安装。

  • 添加源
    sudo add-apt-repository ppa:ubuntu-toolchain-r/test
    sudo apt-get update
    
    • 安装gcc
    sudo apt-get install gcc-12
    
    • 系统更新
    sudo apt-get upgrade
    
    链接高版本gcc
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 20
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 50
    

2.7 安装: CH341驱动

  • 查看并删除系统自带CH340驱动

    ls /lib/modules/$(uname -r)/kernel/drivers/usb/serial
    
    cd /lib/modules/$(uname -r)/kernel/drivers/usb/serial
    sudo rm -rf ch341.ko
    
  • 下载驱动:https://www.wch.cn/download/CH341SER_LINUX_ZIP.html

    注:MTI670 修改配置文件中端口信息

  • 查询系统内核版本

    uname -r
    
  • 打开bootlin
    链接:https://elixir.bootlin.com/linux/v6.5/source/drivers/usb/serial/ch341.c

  • 替换ch34x.c内容
    根据系统内核选择对应版本,复制并替换ch34x.c全部内容

  • 编译驱动

    cd CH341SER_LINUX/driver
    make
    

    生成ch34x.ko文件

  • 加载驱动

    sudo make load
    
  • 永久安装驱动

    sudo make install
    

其他问题参见:机器人硬件驱动以及程序编译

2.8 安装: CuteCom

2.9 安装: Mujoco

GItHub链接:https://github.com/google-deepmind/mujoco
Mujoco(py)链接:https://pypi.org/project/mujoco/#files

  • 安装步骤

    mkdir build
    
    cd build
    
    cmake ..
    
    make -j32
    
    sudo make install
    

    注:其他包安装同上(32为PC核心数)

  • 创建链接

    • 打开动态库文件
      sudo gedit /etc/ld.so.conf
      
    • 添加添加库路径
      include /etc/ld.so.conf.d/*.conf
      /usr/local/lib
      
    • 更新配置
      sudo ldconfig
      

参考:解决cannot open shared object file: No such file or directory

2.10 安装: opencv

2.11 安装: gl3w和glfw

2.12 安装: fftw

  • 安装步骤
    ./configure --prefix=/home/***/fft/fftw-3.3.10/build  CFLAGS=-fPIC CXXFLAGS=-fPIC --enable-shared
    
    make -j32
    
    make install
    

    参考:FFTW安装(Linux)

二、 工作空间配置

1. 环境配置

1.1 Source工作空间

1.2 USB权限修改

  • USB端口权限修改
    sudo chmod 777 /dev/ttyUSB0
    
  • USB端口永久赋权
    • 新建并进入规则文件
      sudo chmod 777 /dev/ttyUSB0
      
    • 编辑规则内容
      KERNEL=="ttyUSB*", MODE:="0777", GROUP:="dialout
      
    • 将用户添加进dialout用户组
      sudo usermod -a -G dialout $USER
      sudo service udev reload
      sudo service udev restart
      

参考文献

  1. ubuntu22.04安装搜狗输入法
  2. ubuntu系统安装好搜狗输入法后只能输入英文,无法输入中文的解决方案
  3. 【ubuntu 搜狗输入法】ubuntu下搜狗输入法不能打印中文的所有问题都这样解决!
  4. ubuntu安装与卸载搜狗输入法
  5. ubuntu20.4系统安装CH340驱动并使用串口调试助手
  6. (保姆级)Ubuntu下的USB设备永久权限+设备起别名方法
  7. Ubuntu下gcc安装及使用
  8. Invalid operation build-depgcc 安装ngnix依赖组件
  9. 【Ubuntu系统安装gcc简易教程】
  10. Ubuntu系统中gcc安装
  11. ubuntu16.04cmake、gcc/g++版本更换
  12. linux升级gcc版本详细教程
  13. FFTW安装(Linux)
  14. 解决cannot open shared object file: No such file or directory
  15. libfftw3.a(assert.o): relocation R_X86_64_PC32 against symbol xxx when making a shared object; rec
  • 19
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值