No version for distro humble showing github. Known supported distros are highlighted in the buttons above.

Repository Summary

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

No version for distro jazzy showing github. Known supported distros are highlighted in the buttons above.

Repository Summary

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

No version for distro kilted showing github. Known supported distros are highlighted in the buttons above.

Repository Summary

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

No version for distro rolling showing github. Known supported distros are highlighted in the buttons above.

Repository Summary

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

Repository Summary

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

No version for distro galactic showing github. Known supported distros are highlighted in the buttons above.

Repository Summary

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

No version for distro iron showing github. Known supported distros are highlighted in the buttons above.

Repository Summary

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

No version for distro melodic showing github. Known supported distros are highlighted in the buttons above.

Repository Summary

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

No version for distro noetic showing github. Known supported distros are highlighted in the buttons above.

Repository Summary

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