Ubuntu22.04配置ROS2+PX4仿真情况

打印 上一主题 下一主题

主题 1645|帖子 1645|积分 4935

Ubuntu22.04配置ROS2+PX4仿真情况


主要参考源:
https://blog.csdn.net/weixin_44174421/article/details/135827130
  https://blog.csdn.net/Zecet/article/details/130474620
一、准备工作


  • 确保网络能够毗连到github,出错主要源自于此;
  • 确保EmPy库的版本是3.3.4,否则会在colcon build的时间出错。如今安装ubuntu22.04更新后的EmPy版本为4.0,因而需要退回到3.3.4版本。在Ubuntu下,多种开源软件团结工作,各种版本不匹配而导致问题是非常常见的。

    • Empy库是一个强大、稳健且成熟的模板系统,用于在模板文本中插入Python代码;
    • 版本回退下令如下(先卸载再安装)
    1. pip3 uninstall empy
    2. pip3 install empy==3.3.4
    复制代码

  • 安装git工具
    1. sudo apt update
    2. sudo apt upgrade
    3. sudo apt install git
    4. #查看git版本
    5. git --version
    复制代码
二、安装ROS2

推荐利用鱼香ROS安装。
  1. wget http://fishros.com/install -O fishros & . fishros
复制代码
三、安装ROS2相干依靠

  1. echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
  2. pip3 install --user empy==3.3.4 pyros-genmsg setuptools
  3. #安装colcon最容易出错,可以多参考博客
  4. sudo apt install python3-colcon-common-extensions
  5. sudo apt install ros-humble-desktop python3-argcomplete
  6. sudo apt install ros-dev-tools
复制代码
四、安装PX4固件

  1. #下载源码 --recursive会递归下载二级及以下文件
  2. git clone https://github.com/PX4/PX4-Autopilot.git --recursive
  3. # 进入PX4-Autopilot文件夹,确认源码是否下载完毕,如果因网络等未下载完全,则需要进一步下载更新
  4. cd PX4-Autopilot
  5. git submodule update --init --recursive
  6. # 源码下载完毕后,执行下面操作
  7. bash ./Tools/setup/ubuntu.sh
  8. #显示 relogin or reboot when you attempting to install Nuttx
  9. #即说明上一步成功
  10. make px4_sitl gz_x500
  11. #成功后将会显示Gazebo界面,并且里面有一架飞机
复制代码
五、安装XRCE-DDS署理

XRCE-DDS是ROS2与PX4之间通信的桥梁。
  1. #下载源码
  2. git clone https://github.com/eProsima/Micro-XRCE-DDS-Agent.git
  3. #进入文件夹
  4. cd Micro-XRCE-DDS-Agent
  5. #新建文件夹build
  6. mkdir build
  7. #进入build文件夹
  8. cd build
  9. #执行cmake
  10. cmake ..
  11. #执行make
  12. make
  13. #安装?
  14. sudo make install
  15. #????
  16. sudo ldconfig /usr/local/lib/
  17. #安装完成后,启动代理,端口号为8888
  18. MicroXRCEAgent udp4 -p 8888
复制代码
六、创建ROS2工作空间并天生代码样例

此后的工作主要在此空间内进行
  1. #创建工作空间路径
  2. mkdir -p ~/ws_ros2/src/
  3. #进入src文件夹,将下面的源码下载至src
  4. cd ~/ws_ros2/src/
  5. git clone https://github.com/PX4/px4_msgs.git
  6. git clone https://github.com/PX4/px4_ros_com.git
  7. #返回至工作空间根目录下进行编译
  8. cd ..
  9. #执行colcon编译
  10. colcon build
  11. #成功后,以上步骤在此后的工作中不需要再重复
  12. source install/local_setup.bash
  13. #执行代码样例
  14. ros2 run px4_ros_com offboard_control
复制代码
七、安装Mavros2

到第六部门为止,ROS2与PX4已经可以通过MicroXRCE通信并进行仿真,但在无人机中更常用的还是Mavros,因此还要安装Mavros2
  1. mkdir -p ~/mavros2_ws/src
  2. cd ~/mavros2_ws
  3. rosinstall_generator --format repos mavlink | tee /tmp/mavlink.repos
  4. rosinstall_generator --format repos --upstream mavros | tee -a /tmp/mavros.repos
  5. vcs import src < /tmp/mavlink.repos
  6. vcs import src < /tmp/mavros.repos
  7. rosdep install --from-paths src --ignore-src -y
  8. sudo ./src/mavros/mavros/scripts/install_geographiclib_datasets.sh
  9. #注意:下面一行的路径与catkin build得到的不同
  10. echo "source ~/mavros2_ws/install/setup.bash" >> ~/.bashrc
复制代码
八、问题汇总


  • Gazebo-GL问题
    a. 错误信息: OpenGL 3.3 is not supported. Please update your graphics card drivers.

    b. 办理方法:
    1. export MESA_GL_VERSION_OVERRIDE=3.3
    复制代码
  • Gazebo闪退
    a. 错误信息: 按上述步调操纵之后,将不再提示错误信息,但Gazebo还是会闪退
    b. 办理方法:
    1. #在PX4-Autopilot文件夹下搜索px4-rc.simulator文件,应该有两个。
    2. #在文件内添加一句,如下所示
    3. --render-engine ogre
    复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

滴水恩情

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表