Repository Summary
Description | T-Robot是一个DIY的移动机器人,底层采用Micro-ROS |
Checkout URI | https://github.com/tianci8/t-robot.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2023-03-20 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
Name | Version |
---|---|
ld14 | 0.0.0 |
robot_bringup | 0.0.0 |
robot_cartographer | 0.0.0 |
robot_description | 0.0.0 |
README
T-Robot
B站链接:T-Robot v0.1版本发布!开源全向移动机器人(Based on Micro-ROS)
-
T-Robot是一个DIY的移动机器人
-
全面拥抱ROS2生态,可实现2D激光雷达地图重建和自主导航
-
纯兴趣向,可作为ROS2入门参考使用
-
底层采用micro-ros,彻底拥抱ROS2生态
-
上层应用ROS2进行各个功能模块的快速开发
-
本项目借鉴和学习了以下仓库:linorobot2 fishbot turtlebot3
-
注意:仅在ros2-foxy下进行了测试
0 仓库资料说明
- images:一些照片
- firmware:底层固件
- ros2_packages:ros功能包
- 3D-models:三维模型
1 机器人硬件部分
均为淘宝采购,为避免广告嫌疑,不放链接~
- 机器人底盘布局
-
主控:esp32 (ESP-WROOM-32)+旭日x3派(2GB)
-
激光雷达:LD14
-
IMU:MPU9250
-
电机: WGA12-N20直流减速电机 (12V, 1:50减速比)
-
电机驱动芯片:4颗RZ7889
-
编码器:AB双相增量式磁性霍尔编码器
-
电源:12V锂电池;
- 12V驱动电机;外置12V转5V模块提供DC-5V输出(最大电流4A);
-
轮子:4麦轮,直径48mm
-
结构件:切割亚克力板、3D打印
2 底层固件部分
2.0 固件说明
-
此固件基于Arduino框架,适用于esp32系列;不推荐使用ArduinoIDE进行编译(可能报错);
-
推荐使用VScode+platformio,固件相关依赖可通过
platformio.ini
自动安装; -
基于micro_ros_arduino#v2.0.5foxy,可自行更改为其他版本,如
galactic
,humble
等(可能需要极少的修改); -
由于
micro_ros_arduino
并不是原生支持platformio
,因此在platformio.ini
中需要手动指定相应硬件平台的libmicroros.a
,使用如下命令(以esp32为例):
build_flags =
-L $PROJECT_DIR/lib/micro_ros_arduino/src/esp32/ -l libmicroros
对官方micro_ros_arduino库进行了rebuild,因此不可以直接使用官方的库
-
若要使用官方micro_ros_arduino,需要更改odomertry message的Qos为default:
- 改为default会导致发布频率降低;
//!!! 更改rclc_publisher_init_best_effort为rclc_publisher_init_default !!!
RCCHECK(rclc_publisher_init_best_effort(
&odom_publisher,
&node,
ROSIDL_GET_MSG_TYPE_SUPPORT(nav_msgs, msg, Odometry),
"odom"));
-
使用wifi与上位机进行通讯;
-
若使用串口,确保串口波特率在480600bps以上,并修改src/main.cpp:
set_microros_transports();
//set_microros_wifi_transports("WIFI名称", "密码", "上位机IP", 8888);
2.1 各模块说明
File truncated at 100 lines see the full file