小伙用泰山派,做了个ROS小车!网友:成本这么低?

来源:立创开源硬件平台 嵌入式开发 6 次阅读
摘要:工程名称:泰山派ROS小车 工程作者:imhaozi 前言 小伙基于泰山派,做了个多功能的ROS小车~ 小编看完表示: 成本这么低,还能实现 计算机视觉+ROS的结合…? 好像有点意思!! *0***1 它能做什么? ” ① 基于上位机/键盘 控制小车旋转、前进、后退 ② 支持图传:在此基础上,还能识别物体,目标跟随;要是运用这个功能,做一个赛博小宠物,岂不是很萌哈哈…… ③ 能快速创建“地图”

工程名称:泰山派ROS小车

工程作者:imhaozi

前言

小伙基于泰山派,做了个多功能的ROS小车~

ROS.png

小编看完表示:

成本这么低,还能实现

计算机视觉+ROS的结合…?

好像有点意思!!

*0***1

它能做什么?

 基于上位机/键盘 控制小车旋转、前进、后退

 支持图传:在此基础上,还能识别物体,目标跟随;要是运用这个功能,做一个赛博小宠物,岂不是很萌哈哈……

 能快速创建“地图”:支持创建/删除/保存/加载

 支持GPS+避障:自动导航效果如下

……

小编OS:最最最重要的是。

这是一个【可用的】【相对低成本】的ROS机器人方案

硬件成本预计400-500元左右

Clip_2026-04-07_14-41-24.png

制作过程,你能学机器人编程、验证算法……

制作完后,你还能获得一个“好玩”的小车~~

真是一举两得,两全齐美,三……啊!

话不多说!咱瞅瞅它的硬件/软件设计方案↓看到就是学到~

*0***2

硬件设计方案

0**1**

设计图

作者基于泰山派设计了2块PCB板

下位机

提供小车底盘控制电路,为小车底盘提供支撑

主要包含电源/充电/电机驱动电路、串口通信、状态灯显示

Clip_2026-04-07_09-39-20.png

原理图

Clip_2026-04-07_09-39-36.png

PCB图

上位机

引出泰山派控制接口,为激光雷达提供支撑;

主要引出串口,并通过IO高低电平控制雷达和风机的供电

Clip_2026-04-07_09-39-51.png

原理图

Clip_2026-04-07_09-40-06.png

PCB图

整体结构图

9d6972495ec44a6d90e61c8cd9949d7a.png

02

工作原理&参数

1

小车底盘:使用STM32作为主控、两个N20编码电机作为驱动,完成底盘的速度功能

2

ROS应用:通过串口3获取雷达数据、串口5与底盘进行数据交互。再通过泰山派Ubuntu20系统运行ROS程序,计算小车需要的运行速度后下发小车进行控制

3

上位机UI:通过WebSocket与泰山派中的ROS应用进行通信,实现小车的状态显示、模式控制、地图管理等功能

4

充电电路:使用TypeC作为电源输入接口,使用CS5090EA或SCS5090EA作为2串锂电池充电管理芯片,将5V电压升高到8.4V进行充电

5

电源电路:使用ME3118将锂电池电压降低到5V给电机和泰山派进行供电;使用ME6211C33M5G将5V电源降低到3.3V给STM32供电…

6

电机驱动电路:使用TB6612FNG对两个编码器电机进行驱动,配合PID可完成速度控制和反馈,给上位机提供里程计算能力

*0***3

软件设计方案

本章主要说明——软件核心架构、UI显示、软件部署教程、软件参数说明。

0**1**

软件核心架构

软件主要功能的核心架构如下图所示,从上到下分别为QT上位机、ROS程序、底盘下位机程序。软件可能维护更改,以实际代码为准。

dbe54dbafdd444f498fcfda94a434b9e.png

说明:

  • 导航、建图等核心功能主要使用了movebase、gmapping等开源软件包,主要需要自己配置参数;

  • 底盘控制、电量显示、摄像头和雷达数据自己实现后对接软件包。

  • QT上位机根据需求功能调用不同的接口即可。

0**2**

软件UI显示

软件部分所有功能对应UI显示的各个部分:

e131a26644e74469aa33ac3f9011b93c.png

说明:

  • 状态显示:通过上位机UI进行交互,实时显示小车当前获取到的地图、小车位置、摄像头画面、电池电压等信息;

  • 模式控制:UI中可选目标跟随控制、自动导航控制、手动遥控控制模式;

  • 地图管理:UI包含地图管理功能,如创建、删除、使用、保存、获取地图列表等功能;

  • 功耗管理:摄像头、雷达设备可单独控制开关,降低不使用时的功耗。

0**3**

软件部署

 TaishanPi

  • 官方资料中下载Ubuntu20系统镜像ubuntu20.04_hdmi_20231130_update.img,按照官方教程烧录;

  • 下载资料中提供的boot.img文件,使能串口5;

  • 分配空闲空间;

  • 安装SSH、ROS;

  • 添加串口权限、IO权限、摄像头权限;

 RosCarBase

使用Keil打开,编译后烧录到底盘STM32中;

 RosCarWs

程序中依赖多个软件包,分别安装即可(首次使用安装)

  • 若安装报错先安装依赖,第一个推荐方案拒绝,使用第二个推荐方案:sudo aptitude install libsdl1.2-dev libsdl-image1.2-dev

  • 建图:sudo apt install ros-noetic-gmapping

  • 自动探索建图:sudo apt install ros-noetic-explore-lite

  • websocket通信:sudo apt install ros-noetic-rosbridge-suite

  • 地图加载和保存:sudo apt install ros-noetic-map-server

  • 导航:sudo apt-get install ros-noetic-navigation

  • teb规划器:sudo apt install ros-noetic-teb-local-planner

  • 其他:按照上述顺序进行安装,若安装报错自行搜索

将Firmware中的RosCarWs文件夹复制到泰山派中;

# 源码放到开发板lckfb@MiWiFi-R3GV2-srv:~$ lsDesktop  Documents  Downloads  Music  Pictures  Public  RosCarWs  Templates  Videos lckfb@MiWiFi-R3GV2-srv:~$ cd RosCarWs/# 编译lckfb@MiWiFi-R3GV2-srv:~/RosCarWs$ catkin_make# 添加源lckfb@MiWiFi-R3GV2-srv:~/RosCarWs$ source devel/setup.bash

运行程序前首先执行一下IO权限设置的脚本,否则无法正常打开雷达和风扇

# 添加IO权限lckfb@MiWiFi-R3GV2-srv:~/RosCarWs$ chmod 777 src/launch_pkg/launch/setup_gpio_permissions.sh lckfb@MiWiFi-R3GV2-srv:~/RosCarWs$ sudo ./src/launch_pkg/launch/setup_gpio_permissions.sh 尝试导出 GPIO 36... GPIO 36 已导出并设置权限。 尝试导出 GPIO 98... GPIO 98 已导出并设置权限。 完成!现在普通用户可以操作 GPIO 36 和 98。# 如果报错使用vi打开,然后以下设置保存 因为这个文件可能在windows上打开过 :set ff=unix

运行命令如下roslaunch launch_pkg all.launch,然后就可以在上位机中进行连接了

 RosCarApp

使用QT打开并运行,也可以直接运行打包好的上位机。

泰山派和运行上位机的电脑需要在一个网络下运行。

0**4**

软件参数描述

小车一般无需具体的代码修改。

主要硬件相关参数修改如下,位于launch_pkg中的launch文件

0f71025bc59d440ea772d9cd68a03711.png

目标跟随主要参数修改如下,位于camera_pkg中的launch文件

f716cbbf27d646d2a27862ffbd023725.png

*0***4

开源网址

你喜欢这个作品吗?如果是你,你会怎么设计它?欢迎评论区唠唠丫!

目前,项目已全开源

——想复刻****想给作者**点赞*下面会附上开源网址↓,欢迎大家在遵循作者开源协议的情况下,友好复刻学习~~*

开源网址:https://oshwhub.com/32\_haozi/taishan-pie-ros-trolley

参考资料

感谢各位开源资料贡献者对此项目的帮助,项目开发过程中主要用到的参考资料如下:

相关推荐
评论区

登录后即可参与讨论

立即登录