No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro kilted. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.
![]() |
jetbot-ros2 repositorywebrtc ros2 teleoperation cartographer rtabmap jetbot motion_control vision ws_server |
Repository Summary
Description | ROS 2 implementation of a Teleoperated robot with live video feed using webrtc and SLAM using realsense's stereocameras. Running on a Jetson Nano |
Checkout URI | https://github.com/jdgalviss/jetbot-ros2.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2021-12-02 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | webrtc ros2 teleoperation cartographer rtabmap jetbot |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
Name | Version |
---|---|
motion_control | 0.0.0 |
vision | 0.0.0 |
ws_server | 0.0.0 |
README
Jetbot-ros2
https://user-images.githubusercontent.com/18732666/129964798-20e26b2a-da38-41fb-a794-ec31973ca0cb.mp4
This is an implementation of a mobile robot in ros2. The software includes the following functionalities:
-
Teleoperation through websockets with live video feed using webrtc (aiortc).
-
Integration of Intel realsense d435 and t265 cameras for depth estimation and localization respectively.
-
Autonomous Navigation using Nav2
-
Autonomous Exploration using m-explore
-
2D SLAM with slam-toolbox.
-
3D SLAM using rtabmap.
I used the Xiaor Geek Jetbot as a base platform and modified it to include a wide-angle camera, as well as the Intel Realsense d435 and t265.
Requirements
- ROS2 eloquent.
- librealsense2.
- Motor Drivers - In this case, installed from the jetbot’s repository.
Installation
- Clone this repo and its submodules.
git clone --recurse-submodules https://github.com/jdgalviss/jetbot-ros2.git
- Clone additional thirdparty packages
- SLAM-TOOLBOX
cd jetbot-ros2/dev_ws/src
git clone -b eloquent-devel git@github.com:stevemacenski/slam_toolbox.git
2. Navigation2
git clone https://github.com/ros-planning/navigation2.git --branch eloquent-devel
3. m-explore
git clone -b eloquent https://github.com/robo-friends/m-explore-ros2.git
4. BehaviorTree.CPP
git clone https://github.com/BehaviorTree/BehaviorTree.CPP.git
cd BehaviorTree.CPP
git checkout 3.5.1
cd ../..
- Copy our modified files
cd thirdparty_files
source copy_files.sh
cd ../..
<!-- colcon build --packages-select motion_control -->
Teleoperation support
- Install aiortc for webrtc support.
pip3 install crc32c==2.0
pip3 install aiortc==0.9.28
pip3 install aiohttp==3.6.2
- Install pyfakewebcam so that camera frames can be modified inside a ROS2 node and then shared through webrtc:
apt-get install v4l2loopback-utils
pip3 install pyfakewebcam==0.1.0
- Write a service that creates fake webcam devices that can be used to share camera frames.
gedit /etc/rc.local
Copy and paste in file:
```bash
File truncated at 100 lines see the full file
CONTRIBUTING
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.
No version for distro noetic. Known supported distros are highlighted in the buttons above.