From a01e14a84188f1954a6cd6e1d9ec772b0aa9e0cd Mon Sep 17 00:00:00 2001 From: abizovnuralem Date: Sat, 16 Mar 2024 12:01:06 +0500 Subject: [PATCH] sync master readme with dev --- README.md | 91 +++++++++++++++++++++++++++---------------------------- 1 file changed, 44 insertions(+), 47 deletions(-) diff --git a/README.md b/README.md index 54b9808..e79c2e9 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,22 @@ We are delighted to present you with our integration of the Unitree Go2 ROS2 SDK This resourceful project is here to empower your Unitree GO2 AIR/PRO/EDU robots with ROS2 SDK capabilities. We're thrilled to offer an enhanced level of control and interaction, enabling you to take your robotics projects to new heights. +## Project RoadMap: +1. URDF :white_check_mark: +2. Joint states sync in real time :white_check_mark: +3. IMU sync in real time :white_check_mark: +4. Joystick control in real time :white_check_mark: +6. Go2 topics info in real time :white_check_mark: +7. Foot force sensors info in real time :white_check_mark: +8. Lidar stream (added pointCloud2) :white_check_mark: +9. Camera stream :white_check_mark: +10. Foxglove bridge :white_check_mark: +11. Laser Scan :white_check_mark: +12. SLAM (slam_toolbox) :white_check_mark: +13. Navigation (nav2) :white_check_mark: +14. Object detection +15. AutoPilot + ## Exciting Features: :sparkles: Full ROS2 SDK support for your Unitree GO2 @@ -14,13 +30,6 @@ This resourceful project is here to empower your Unitree GO2 AIR/PRO/EDU robots :footprints: Access to foot force sensors feedback (available on GO2 PRO/EDU) -## Your feedback and support mean the world to us. - -If you're as enthusiastic about this project as we are, please consider giving it a :star: star on our GitHub repository. - -Your encouragement fuels our passion and helps us develop our RoadMap further. We welcome any help or suggestions you can offer! - -Together, let's push the boundaries of what's possible with the Unitree Go2 and ROS2! Real time Go2 Air/PRO/EDU joints sync: @@ -30,7 +39,6 @@ Real time Go2 Air/PRO/EDU joints sync: Go2 Air/PRO/EDU lidar point cloud: -

Go2 point cloud

@@ -39,27 +47,9 @@ Go2 Air/PRO/EDU lidar point cloud: Go2 point cloud

- -## Project RoadMap: -1. URDF :white_check_mark: -2. Joint states sync in real time :white_check_mark: -3. IMU sync in real time :white_check_mark: -4. Joystick control in real time :white_check_mark: -6. Go2 topics info in real time :white_check_mark: -7. Foot force sensors info in real time :white_check_mark: -8. Lidar stream (added pointCloud2) :white_check_mark: -9. Camera stream :white_check_mark: -10. Foxglove bridge :white_check_mark: -11. Laser Scan :white_check_mark: -12. SLAM (slam_toolbox) :white_check_mark: -13. Navigation (nav2) :white_check_mark: -14. Object detection -15. AutoPilot - ## Topic Real time Go2 Air/PRO ROS2 topics -

Go2 topic list

@@ -68,14 +58,13 @@ Real time Go2 Air/PRO ROS2 topics Go2 topic list

- ## System requirements Tested systems and ROS2 distro |systems|ROS2 distro|Build status |--|--|--| |Ubuntu 22.04|iron|![ROS2 CI](https://github.com/abizovnuralem/go2_ros2_sdk/actions/workflows/ros_build.yaml/badge.svg) |Ubuntu 22.04|humble|![ROS2 CI](https://github.com/abizovnuralem/go2_ros2_sdk/actions/workflows/ros_build.yaml/badge.svg) -|Ubuntu 20.04|rolling|![ROS2 CI](https://github.com/abizovnuralem/go2_ros2_sdk/actions/workflows/ros_build.yaml/badge.svg) +|Ubuntu 22.04|rolling|![ROS2 CI](https://github.com/abizovnuralem/go2_ros2_sdk/actions/workflows/ros_build.yaml/badge.svg) A single workspace can contain as many packages as you want, each in their own folder. You can also have packages of different build types in one workspace (CMake, Python, etc.). You cannot have nested packages. @@ -100,25 +89,19 @@ workspace_folder/ py_package_2/ ``` -clone this repo to src folder of your own ros2_ws repo - -first, you need to manualy compile your opencv-python to support gstreamer (remove current opencv-python version) +install gstreamer in ubuntu ``` +sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio libwebsocketpp-dev libasio-dev +``` +you need to manualy compile your opencv-python to support gstreamer (remove current opencv-python version) +``` pip uninstall opencv-python sudo apt-get install --quiet -y --no-install-recommends \ - gstreamer1.0-gl \ gstreamer1.0-opencv \ - gstreamer1.0-plugins-bad \ - gstreamer1.0-plugins-good \ - gstreamer1.0-plugins-ugly \ - gstreamer1.0-tools \ - libgstreamer-plugins-base1.0-dev \ - libgstreamer1.0-0 \ - libgstreamer1.0-dev \ - + libgstreamer1.0-0 # Install minimal prerequisites (Ubuntu 18.04 as reference) sudo apt update && sudo apt install -y cmake g++ wget unzip @@ -135,16 +118,19 @@ cmake ../opencv-4.x # Build cmake --build . -``` + +# Install sudo make install +``` + +clone this repo to src folder of your own ros2_ws repo + ``` git clone https://github.com/abizovnuralem/go2_ros2_sdk.git cd go2_ros2_sdk sudo apt install python3-pip pip install -r requirements.txt -sudo apt install ros-{ROS2_VER}-test-msgs -sudo apt install ros-{ROS2_VER}-tf2-sensor-msgs cd .. mkdir -p ros2_ws/src copy all files inside go2_ros2_sdk folder to ros2_ws/src folder @@ -157,7 +143,12 @@ cargo should work in terminal cargo --version ``` -build it +Build it + +You need to install ros2 and rosdep package first. + +https://docs.ros.org/en/humble/Installation.html + ``` source /opt/ros/$ROS_DISTRO/setup.bash @@ -176,7 +167,6 @@ source install/setup.bash ros2 launch go2_robot_sdk robot.launch.py ``` - ## Foxglove

@@ -202,11 +192,18 @@ sudo snap install foxglove-studio To contribute or modify the project, refer to these resources for implementing additional features or improving the existing codebase. PRs are welcome! +## Your feedback and support mean the world to us. + +If you're as enthusiastic about this project as we are, please consider giving it a :star: star on our GitHub repository. + +Your encouragement fuels our passion and helps us develop our RoadMap further. We welcome any help or suggestions you can offer! + +Together, let's push the boundaries of what's possible with the Unitree Go2 and ROS2! ## Thanks -Special thanks to @legion1581, @tfoldi, @budavariam, @alex.lin and TheRoboVerse community! +Special thanks to @legion1581, @tfoldi, @budavariam, @alex.lin and TheRoboVerse community! ## License -This project is licensed under the BSD 2-clause License - see the [LICENSE](https://github.com/abizovnuralem/go2_ros2_sdk/blob/master/LICENSE) file for details. \ No newline at end of file +This project is licensed under the BSD 2-clause License - see the [LICENSE](https://github.com/abizovnuralem/go2_ros2_sdk/blob/master/LICENSE) file for details.