Repo symbol

t-robot repository

Repo symbol

t-robot repository

Repo symbol

t-robot repository

Repo symbol

t-robot repository

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-Robot1

  • T-Robot是一个DIY的移动机器人

  • 全面拥抱ROS2生态,可实现2D激光雷达地图重建和自主导航

  • 纯兴趣向,可作为ROS2入门参考使用

  • 底层采用micro-ros,彻底拥抱ROS2生态

  • 上层应用ROS2进行各个功能模块的快速开发

  • 本项目借鉴和学习了以下仓库:linorobot2 fishbot turtlebot3

  • 注意:仅在ros2-foxy下进行了测试

0 仓库资料说明

  • images:一些照片
  • firmware:底层固件
  • ros2_packages:ros功能包
  • 3D-models:三维模型

1 机器人硬件部分

均为淘宝采购,为避免广告嫌疑,不放链接~

  • 机器人底盘布局

image-20221207200401126

  • 主控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

Repo symbol

t-robot repository

Repo symbol

t-robot repository

Repo symbol

t-robot repository

Repo symbol

t-robot repository