ros2go2estimator repository

ros2go2estimator repository

ros2go2estimator repository

Repository Summary

Description
Checkout URI https://github.com/shineminxing/ros2go2estimator.git
VCS Type git
VCS Version main
Last Updated 2025-04-25
Dev Status UNKNOWN
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
dds_rostopic 0.0.0
fusion_estimator 0.0.0
message_handle 0.0.0
sport_control 0.0.0

README

Ros2Go2Estimator 🦾

License

  • 一种高精度里程计解决方案,
  • 基于纯运动学的双足/四足机器人位置估计算法,目前仅使用IMU、足压力传感器、关节角度和角速度,不依赖相机或Lidar,但可将信号融合进去,进一步提高估计精度;
  • sport_control包读取joystick输入和其他指令,使用unitree_sdk2提供的接口控制机器狗;
  • fusion_estimator包发布对应“base_link”的话题SMX/Odom和对应“base_link_2D”的话题SMX/Odom_2D;
  • dds_rostopic包将dds的lidar、230.1.1.1:1720的相机数据发布为ros2话题;
  • message_handle包完成SMX/Odom和SMX/Odom_2D的tf,此外,将frame“utlidar_lidar”的pointcloud2转换为“base_link_2D”话题/SMX/Scan;
  • 使用SLAM Toolbox建图时放开sport_control/launch/sport_control_launch.py的启动项ros2 run slam_toolbox async_slam_toolbox_node ……;
  • 使用Nav2导航时放开sport_control/launch/sport_control_launch.py的启动项ros2 launch nav2_bringup bringup_launch.py ……;

📚 补充说明

  • 切换两足、四足无需在估计器内做模式切换
  • 目前没有调整参数做补偿,工程使用时可进一步提升精度
  • SLAM Toolbox目前是纯里程计建图,请擅长SLAM的同志自行把地图匹配加进去
  • Nav2同样请自行调整,加载的地图记得改成自己的
  • 可安装voice_chat进行deepseek的语音交流https://github.com/ShineMinxing/Ros2Chat
  • 也适用于foxy系统,把apt install的软件改为-foxy-即可

🎥 视频演示

最新进展(点击图片进入视频)

纯里程计站立/四足切换建图效果 主演示视频

实验记录

  1. 站立行走误差1%,四足行走误差0.5% 实验1

  2. 爬楼梯高度误差小于5cm 实验2

  3. 长距离测试,受磁场变化影响,380米运动偏差3.3% 实验3

  4. 语音控制机器狗,实现意图猜测和在预建地图导航。比如说“没有纸张了”,自动执行导航‘去仓库’ 实验4

⚙️ 安装指南

  • Use Ubuntu 22.04, ROS2 Humble
sudo apt install ros-humble-joy ros-humble-nav2-msgs ros-humble-slam-toolbox ros-humble-nav2-bringup python3-pip libopencv-dev ros-humble-cv-bridge
mkdir -p ~/ros2_ws/LeggedRobot/src && cd ~/ros2_ws/LeggedRobot/src
git clone --recursive https://github.com/ShineMinxing/Ros2Go2Estimator.git
cd ..
colcon build
ros2 launch sport_control sport_control_launch.py

  • 记得在src/joystick_control/launch/joystick_control_launch.py中,修改机器狗的网口名,我个人的是“br0”。
  • 同时按下手柄的LT、RT,解锁/锁定手柄;按住RT+左摇杆进行移动;按住RT+右摇杆进行旋转;更多操作请看joystick_control_node.cpp。

📄 相关文档

📧 联系我们

博士团队: 401435318@qq.com  
研究所: 中国科学院光电技术研究所

📌 注意:当前为开发预览版,完整文档正在编写中 ``

CONTRIBUTING

No CONTRIBUTING.md found.

ros2go2estimator repository

ros2go2estimator repository

ros2go2estimator repository

ros2go2estimator repository

ros2go2estimator repository

ros2go2estimator repository

ros2go2estimator repository

ros2go2estimator repository

ros2go2estimator repository

ros2go2estimator repository

ros2go2estimator repository

ros2go2estimator repository

ros2go2estimator repository

ros2go2estimator repository

ros2go2estimator repository