https://github.com/youtalk/youfork
youfork: Fully ROS 2 Homemade Mobile Manipulator
https://github.com/youtalk/youfork
circleci cpp jetson-xavier ps4-controller robotis roomba ros2 rplidar-a1
Last synced: about 1 month ago
JSON representation
youfork: Fully ROS 2 Homemade Mobile Manipulator
- Host: GitHub
- URL: https://github.com/youtalk/youfork
- Owner: youtalk
- License: apache-2.0
- Created: 2019-11-20T07:04:52.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-07-03T01:30:14.000Z (almost 5 years ago)
- Last Synced: 2025-04-14T14:21:51.094Z (about 1 month ago)
- Topics: circleci, cpp, jetson-xavier, ps4-controller, robotis, roomba, ros2, rplidar-a1
- Language: C++
- Homepage:
- Size: 431 KB
- Stars: 36
- Watchers: 5
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# youfork: Fully ROS 2 Homemade Mobile Manipulator
[](https://circleci.com/gh/youtalk/youfork)
`youfork` is a mobile manipulator for home tidy-up. The movie below shows a little first try of the home tidy-up by teleoperation.
[](https://www.youtube.com/watch?v=2srDav_n2S0)
[Slides from ROS Japan UG #37](https://docs.google.com/presentation/d/1QCLE6ED7YsSedzqXm65fToplTvbDD3roUvKMAm8AC5k/preview) (in Japanese)
All components are driven by ROS 2 Eloquent and Ubuntu 18.04 on the Jetson Xavier.
`youfork` has a lot of devices inside:- NVIDIA Jetson Xavier
- ROBOTIS Open Manipulator X
- iRobot Roomba 643
- Intel RealSense D435i
- SlamTec RPLidar A1M8
- 25,000mAh Battery
- PS4 controller for teleoperation`youfork` packages is beeing checked to build on CircleCI with ROS 2 Eloquent and Foxy.
However the Jetson Xavier on `youfork` is currently running only on Ubuntu 18.04, so that I've checked to work `youfork` properly only on ROS 2 Eloquent and Ubuntu 18.04.## Install dependencies
Firstly install `librealsense2` package because it cannot be installed by `rosdep` then check out repositories by `vcs import` and run `rosdep install`.
```sh
mkdir ~/youfork && cd ~/youfork
git clone [email protected]:youtalk/youfork.git src
sudo apt update
sudo apt install -y software-properties-common
sudo apt-key adv --keyserver keys.gnupg.net --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE
sudo add-apt-repository "deb http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo bionic main" -u
sudo apt update
sudo apt install --no-install-recommends python3-vcstool librealsense2-dev
source /opt/ros/$ROS_DISTRO/setup.bash
cd ~/youfork/src
vcs import < youfork.repos
cd ~/youfork
rosdep install --from-paths . --ignore-src -y
```## Build
```sh
cd ~/youfork
source /opt/ros/$ROS_DISTRO/setup.bash
colcon build
```## Launch nodes
### Bring up devices
```sh
. ~/youfork/install/setup.bash
ros2 launch ros2 launch youfork_bringup bringup.launch.xml use_create:=true use_open_manipulator:=true use_rplidar:=true use_realsense:=true
```### Activate the Roomba lifecycle
```sh
source /opt/ros/$ROS_DISTRO/setup.bash
ros2 lifecycle set /ca_driver configure
ros2 lifecycle set /ca_driver activate
```### Visualize youfork by RViz2
```sh
. ~/youfork/install/setup.bash
rviz2 -d ~/youfork/src/youfork_description/config/youfork.rviz
```### Teleoperate by PS4 controller
Firstly install [`ds4drv`](https://github.com/chrippa/ds4drv) and run the following command to connect with the wireless PS4 controller.
```sh
sudo ds4drv
```Then launch the teleop related nodes.
```sh
. ~/youfork/install/setup.bash
ros2 launch youfork_teleop teleop.launch.xml
```