鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    用树莓派4b+鱼香小车主控+雷达+奥比中光深度摄像头+ubuntu22桌面版搭建移动小车

    已定时 已固定 已锁定 已移动
    移动机器人制作
    树莓派4b 奥比中光 ubuntu22.04桌面版
    5
    15
    2.4k
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 1
      等待修复
      最后由 编辑

      这个帖子主要是做个记录,同时也希望能有大佬有更进一步的这种硬件平台的集成例子,可以让我少造点重复的轮子;或者在这个贴子基础上有更好的直接用树莓派4b进行小车控制+AI视频避障的方法,请大佬不吝赐教

      第一、 硬件搭建
      1、 购买鱼香运控主板和雷达板,按视频教程组装
      2、 树莓派4b装散热装甲,上硅脂和风扇,接好hdmi还有usb无线键鼠
      3、 构建系统网络
      将系统配置在自己的wifi网络下,网段为192.168.0.x,我将4b的IP绑定为106,ROS2服务器是一台只装了ubuntu22桌面版的笔记本电脑,IP绑定为107;鱼香主控绑定为100,雷达绑定为109(非必须,只是这样不用经常去配置)
      4、 系统架构
      106作为深度摄像头的转发器;100为主控的转发和控制;109为激光雷达的采集和转发;107是ROS2服务器,负责数据接收、处理、呈现、控制
      第二、 环境搭建
      1、 鱼香运控主板和雷达板的配置,将运控和雷达的wifi配置为2.4Ghz的那个wifi-ssid,配置wifi密码,配置server ip为107;
      注意事项:1)第一次配置前,先进行一次固件升级,见教程,以后就不用了2)要在虚拟机进行,因为鱼香的配置助手在windows下无法很好适配雷达板。3)要确保配置时,被配置的板要在配置模式。4)雷达板配置时要将两个跳线帽放到flash,烧录或配置完成后要放到wifi。5)配置完成后,雷达板要按两下boot按键回到工作态
      2、 4b的操作系统选择ubuntu22.04桌面版,使用树莓派的专烧工具Raspiberry pi Imager,选择4b,操作系统选择other general-purpose os,选择你的sd卡
      3、 烧录好的sd卡插入4b,上电,设置ubuntu,设置wifi,设置语言区域,安装中文
      注意事项:1)电源一定要用好的,5V3A,否则可能带不动外设;2)hdmi线一定要好,虽然也同样会出现突然没信号,但是几率小很多(pi5没这个问题);
      4、 在4b的ubuntu22安装ROS2,使用鱼香的一键安装,只搞1,3,4,也就是安装ROS2的humble版本,安装devp,配置环境,这些都很容易
      5、 在4b的ubuntu22安装vsftpd,方便进行文件传输,注意事项:vsftpd.conf里面的write_enable要记得打开,否则无法上传文件
      6、 在4b安装远程桌面,注意事项:不要选择自动登录,如果选择了的,要修改为需要密码登录。
      7、 在ROS2服务器的ubuntu22安装ROS2,使用鱼香的一键安装,只搞1,3,4,也就是安装ROS2的humble版本,安装devp,配置环境,这些都很容易
      8、 在ROS2服务器的ubuntu22安装vsftpd,方便进行文件传输,注意事项:vsftpd.conf里面的write_enable要记得打开,否则无法上传文件
      9、 分别在4b和ROS2服务器,进入home/user目录,ctrl+h,显示出.bashrc文件,打开,在最下方加入两行:
      source /opt/ros/humble/setup.bash
      export ROS_DOMAIN_ID=0
      将树莓派、主控、雷达放入同一域
      注意事项:ID只能为0,因为microros用的是0,改了的话主控和雷达的数据ROS服务器无法正常获取。
      10、 后续还会在4b装远程桌面
      第三、 外设软件安装
      由于国内限制,鱼香的docker的image又太大,因此外设的驱动无法通过docker拉取,主控和雷达的驱动还有服务端只能编译安装
      1、 安装及运行microros_agent:在ROS服务器107,先git下载,如果git不成功,去鱼香论坛,使用他们的git代理下载;创建编译目录和编译,按教程进行即可。注意事项:1)编译目录只能是在home/user(user指的是你ubuntu的登陆用户,比如我是tf,那么编译目录是home/tf/microros_ws);2)colcon build一定要新开一个终端窗口,cd /microros_ws,再执行colcon build
      2、 运行microros_agent:
      新开终端,cd /microros_ws
      source /opt/ros/humble/setup.sh
      source install/setup.sh
      ros2 run micro_ros_agent micro_ros_agent udp4 --port 8888 -v6
      3、 使用键盘控制小车
      新开终端
      ros2 run teleop_twist_keyboard teleop_twist_keyboard
      4、 在ROS2服务器端使用rviz2进行建图和导航
      按鱼香教程即可;
      5、 安装及运行奥比中光sdk:

      1. 从奥比中光官网下载OpenNI_SDK_ROS2_V1.0.2_20220809_b32e47_linux.tar.zip,一直解压到ros2_astra_camera文件夹。
      2. 启动树莓派4b,在home下创建ros2_ws和src目录 mkdir -p ros2_ws/src,ros2_ws下再创建src。在home下创建orbbec目录。
      3. 通过ftp工具,将下载的ros2_astra_camera文件夹上传到4b 的/home/orbbec/,然后将ros2_astra_camera整体拷贝到4b的 ros2_ws/src
      4. 在orbbec/ros2_astra_camera目录打开终端,执行sudo apt install libgflags-dev nlohmann-json3-dev ros-humble-image-transport ros-humble-image-publisher
      5. 安装 glog
        在4b进入 orbbec/ros2_astra_camera目录
        wget -c https://github.com/google/glog/archive/refs/tags/v0.6.0.tar.gz -O glog-0.6.0.tar.gz
        tar -xzvf glog-0.6.0.tar.gz
        cd glog-0.6.0
        mkdir build && cd build
        cmake .. && make -j4
        make install
        ldconfig
        cd ..
        cd ..
      6. 安装 magic_enum
        在4b进入 orbbec/ros2_astra_camera目录
        wget -c https://github.com/Neargye/magic_enum/archive/refs/tags/v0.8.0.tar.gz -O magic_enum-0.8.0.tar.gz
        tar -xzvf magic_enum-0.8.0.tar.gz
        cd magic_enum-0.8.0
        mkdir build && cd build
        cmake .. && make -j4
        make install
        ldconfig # Refreshing the link library
        cd ..
        cd ..
      7. 安装libuvc
        在4b进入 orbbec/ros2_astra_camera目录
        git clone https://github.com/libuvc/libuvc.git
        cd libuvc
        mkdir build && cd build
        cmake .. && make -j4
        make install
        ldconfig
        cd ..
        cd ..
      8. 编译奥比中光sdk
        cd ros2_ws/src/astra_camera/scripts
        sudo bash install.sh
        sudo udevadm control --reload-rules && sudo udevadm trigger
        cd ../../../,一直到ros2_ws目录
        source /opt/ros/humble/setup.bash
        colcon build --event-handlers console_direct+ --cmake-args -DCMAKE_BUILD_TYPE=Release
      9. 使用sdk
        将奥比中光深度摄像头插入4b的usb3.0口(蓝色的)
        cd ~/ros2_ws
        source /opt/ros/humble/setup.bash
        source ./install/setup.bash
        ros2 launch astra_camera astra_mini.launch.py
      10. 在ROS2服务器使用rviz2显示实时红外视频和深度视频。
        按在ROS2中使用奥比中光(ORBBEC)的AstraPro深度相机_ros2 astra-CSDN博客
        中的rviz进行配置即可
        第四、 软硬件集成
        现在还只做到在ROS2服务器两个不同的rviz2窗口分别来控制小车和显示视频,后面会进行集成
        第五、 运行测试
        略
      小鱼小 1 条回复 最后回复 回复 引用 1
      • 小伊小
        机器人小伊
        最后由 编辑

        你的帖子已经详细记录了如何使用树莓派4B、鱼香小车主控、雷达、奥比中光深度摄像头以及Ubuntu 22.04桌面版来搭建一个移动小车系统。不过,对于AI视频避障的集成,这里有一些建议,可以进一步优化和扩展你的系统:

        1. AI视频避障框架:

          • 使用像TensorFlow Lite、PyTorch Mobile或ONNX Runtime这样的轻量级深度学习框架,在树莓派上运行AI模型来进行实时避障。
          • 选择一个预训练的障碍物检测模型(如YOLO、SSD、Faster R-CNN等),并转换为树莓派可以运行的格式(如TFLite)。
        2. 模型优化和转换:

          • 使用模型优化工具(如TensorFlow Lite的优化器)来减小模型大小和提高推理速度。
          • 将预训练的模型从原始框架(如TensorFlow、PyTorch)转换为树莓派支持的格式。
        3. 视频流处理:

          • 使用ROS2的摄像头驱动来从奥比中光摄像头获取视频流。
          • 将视频流传递给AI模型进行实时处理。
        4. 集成到ROS2:

          • 将AI避障模块作为ROS2节点来实现,这样它就可以与其他ROS2节点(如导航、控制等)进行通信。
          • 编写ROS2服务或订阅/发布机制,以便AI避障模块可以接收控制命令并发布避障决策。
        5. 测试与调优:

          • 在不同的环境和光照条件下测试AI避障系统的性能。
          • 根据测试结果调整模型参数、阈值或采用其他优化策略。
        6. 使用ROS2的导航栈:

          • 集成ROS2的导航栈(如Nav2)到你的系统中,以便利用AI避障结果来进行更复杂的导航任务。
          • 配置Nav2的costmap以考虑AI避障模块的决策。
        7. 硬件优化:

          • 考虑使用USB 3.0接口来连接摄像头,以获得更高的数据传输速率。
          • 如果树莓派的性能不足,可以考虑使用更强大的硬件(如NVIDIA Jetson系列)来运行AI模型。
        8. 文档和分享:

          • 记录你的集成过程和遇到的挑战,以便其他人可以从中受益。
          • 在开源社区(如GitHub、ROS论坛等)分享你的代码和解决方案。

        最后,记住,硬件和软件的集成是一个迭代的过程,可能需要多次尝试和优化才能达到最佳效果。希望这些建议能对你有所帮助!


        以上为生成回答,仅供参考~

        我是小伊,已接入ChatGpt,所有回复,仅供参考~

        1 条回复 最后回复 回复 引用 0
        • 小鱼小
          小鱼 技术大佬 @17171680 1
          最后由 编辑

          @17171680-1 : 👍 👍 👍

          新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

          1 1 条回复 最后回复 回复 引用 0
          • 1
            等待修复 @小鱼
            最后由 编辑

            @小鱼 鱼大,有空把集成教程做一个啊,好歹在一个rviz上集成吧,或者给个思路

            1 条回复 最后回复 回复 引用 -1
            • L
              lvjiaming2007
              最后由 编辑

              --- stderr: astra_camera
              CMake Error at /usr/share/cmake-3.16/Modules/CMakeFindDependencyMacro.cmake:47 (find_package):
              By not providing "FindUnwind.cmake" in CMAKE_MODULE_PATH this project has
              asked CMake to find a package configuration file provided by "Unwind", but
              CMake did not find one.

              Could not find a package configuration file provided by "Unwind" (requested
              version 1.2.1) with any of the following names:

              UnwindConfig.cmake
              unwind-config.cmake
              

              Add the installation prefix of "Unwind" to CMAKE_PREFIX_PATH or set
              "Unwind_DIR" to a directory containing one of the above files. If "Unwind"
              provides a separate development package or SDK, be sure it has been
              installed.
              Call Stack (most recent call first):
              /usr/local/lib/cmake/glog/glog-config.cmake:25 (find_dependency)
              CMakeLists.txt:23 (find_package)


              Failed <<< astra_camera [3.28s, exited with code 1]
              Aborted <<< libuvc [4.85s]

              1 1 条回复 最后回复 回复 引用 0
              • 2
                2075605318 年度VIP
                最后由 编辑

                奥比中光怎么放啊那么大个摄像头不会挡住激光雷达吗

                1 1 条回复 最后回复 回复 引用 0
                • 1
                  等待修复 @lvjiaming2007
                  最后由 编辑

                  @lvjiaming2007 应该是有些依赖没安装,你要看你下载的sdk里面的readme,有相应步骤和依赖要求,还有sdk版本对应的硬件型号

                  1 条回复 最后回复 回复 引用 0
                  • 1
                    等待修复 @2075605318
                    最后由 编辑

                    @2075605318 激光雷达装在摄像头上面啊,而且我的是pro,不大

                    2 1 条回复 最后回复 回复 引用 0
                    • 2
                      2075605318 年度VIP @17171680 1
                      最后由 编辑

                      @17171680-1 大佬你怎么固定的,我用fishbot那个模型固定不上去阿,可以发个图片麻

                      1 1 条回复 最后回复 回复 引用 0
                      • 1
                        等待修复 @2075605318
                        最后由 编辑

                        @2075605318 IMG_20250418_155029.jpg 手搓啊,搞机器人躲不开手搓的,铜柱支起来,最上面是雷达,中间是深度摄像头,不过树莓派资源确实紧张,跑导航已经是极限了,没敢把深度摄像头用上,只敢搞个普通摄像头

                        2 小鱼小 2 条回复 最后回复 回复 引用 0
                        • 2
                          2075605318 年度VIP @17171680 1
                          最后由 编辑

                          @17171680-1 我去这么高,我还是不用astrapro了吧,毕设随便跑一下得了,深度相机后面再自己玩

                          1 1 条回复 最后回复 回复 引用 0
                          • 小鱼小
                            小鱼 技术大佬 @17171680 1
                            最后由 编辑

                            @17171680-1 你这个牛啊

                            新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

                            1 1 条回复 最后回复 回复 引用 0
                            • 1
                              等待修复 @小鱼
                              最后由 编辑

                              @小鱼 鱼哥,现在用树莓派4b+ubuntu22桌面版+fishbot+ylidar x2手搓完成了,已经验证完所有,包括底板运动、雷达驱动、建图、存图,都正常,现在的问题是一导航,就挂图,也就是一导航,本来好好的地图,就变灰,导致设置的导航点路径规划都出不来,应该是树莓派的资源不够,有什么参数能调整的?比如nav2的路径规划参数?或者导航的验证不用rviz2?

                              1 条回复 最后回复 回复 引用 0
                              • 1
                                等待修复 @2075605318
                                最后由 编辑

                                @2075605318 这个总高度才30cm不到,不高了,这个机器人的问题是树莓派的资源不够,我现在跑个导航都没完成。。。深度更吃资源

                                小鱼小 1 条回复 最后回复 回复 引用 0
                                • 小鱼小
                                  小鱼 技术大佬 @17171680 1
                                  最后由 编辑

                                  @17171680-1 这个没办法,除非动nav2源码优化了,很麻烦

                                  新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

                                  1 条回复 最后回复 回复 引用 0
                                  • 第一个帖子
                                    最后一个帖子
                                  皖ICP备16016415号-7
                                  Powered by NodeBB | 鱼香ROS