Skip to content

Latest commit

 

History

History
205 lines (145 loc) · 5.37 KB

README.md

File metadata and controls

205 lines (145 loc) · 5.37 KB

This is an open-source demo related to the eRob product, provided solely for reference by developers. Please note that issues within the open-source project are independent of the quality of eRob products. Users are advised to exercise caution while using the demo. We are not responsible for any damage caused by improper operations. For any project errors, please raise a query in the Issues section. Collaboration and forks to resolve open-source project issues are welcome.

eRob ROS2 MoveIt


Installation Required Dependencies


1. Installing the Preempt-RT Real-Time Patch on Ubuntu 22.04

1.1 Check Kernel Version and Install Necessary Packages

uname -a
RT1

1.2 Install Necessary Packages

apt install autoconf automake libtool make libncurses-dev flex bison libelf-dev libssl-dev zstd net-tools

1.3 Download the Kernel and Patches

https://mirrors.edge.kernel.org/pub/linux/kernel/

Download the Linux kernel from the Link. Find your version—it's not the small files above, scroll down to find the Linux kernel files starting with "Linux" that are over 100MB.

RT2
https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/

Download the real-time patches from the Link. Make sure to choose the patch that matches your kernel version.

1.4 Extract and Apply the Patch

tar -zxvf linux-5.19.tar.gz
xz -d patch-5.19-rt10.patch.xz
cd linux-5.19/
patch -p1 < ../patch-5.19-rt10.patch

1.5 Kernel Configuration

make menuconfig

After entering the graphical configuration interface, perform the following operations:

  • General Setup -> Preemption Model -> Fully Preemptible Kernel(RT)
  • General Setup -> Timers subsystem -> Timer tick handling -> Full dynticks system
  • General Setup -> Timers subsystem -> High Resolution Timer Support
  • Processor type and features -> Timer frequency -> 1000 HZ

Remember to save and exit.

vi .config
CONFIG_SYSTEM_TRUSTED_KEYS=""

CONFIG_SYSTEM_REVOCATION_KEYS=""
RT3
**Save and exit.**

1.6 Compile and Install

make -j8`nproc`

After completion:

make modules_install
make install

1.7 Configure GRUB Boot Options

vim /etc/default/grub
  • Comment out the following line to display the boot menu:
GRUB_TIMEOUT_STYLE=hidden
  • Adjust the timeout value:
GRUB_TIMEOUT=5  # Timeout in seconds
  • Update GRUB configuration:
update-grub

1.8 Reboot

RT5
RT6
RT7

1.9 Testing

apt-get install rt-tests 
cyclictest -t 5 -p 80 -i 1000

cyclictest will perform 1000 cyclic tests over 5 seconds at the highest priority to measure the real-time performance of the Linux system. After the test, cyclictest will output statistical information about the test results.

RT8

2. ROS2-Humble

It is easy to be installed by learning ROS2 documentation: Humble

humble
---

3. ROS2-Control

It is easy to be installed by learning this link


4. MoveIt2

It is easy to be installed by learning this link


5. IGH-EtherCAT

5.1 Installing EtherLab

It is easy to be installed by learning this link

5.2 Building ethercat_driver_ros2

It is easy to be installed by learning this link


6. ROS2_eRob_MoveIt

mkdir eRob_moveit/src
cd  eRob_moveit/src
git clone https://github.com/ZeroErrControl/eRob_ROS2_MoveIt
cd ..
colcon build 

source ./install/setup.bash

ros2 launch erob_position_control demo.launch.py
ros2 launch erobo3_control demo.launch.py