MaxLewter16 / LLEAP

This repository is for the ROS2-based exoskeleton simulation developed by LLEAP, a Cal Poly club project.
Other
6 stars 2 forks source link

LLEAP

This package is for the ROS2-based exoskeleton simulation developed by LLEAP, a Cal Poly club project. This goal of this project is to create a biped lower-limb exoskeleton to help someone in need.

The goal of the simulation is to provide a test bed for control code and to root out design flaws before the expense of manufacturing. This is still a preliminary simulation, although work is underway to flush out geometries and physical properties. This is a collection of packages meant to get the legs running using ROS2 Humble.

Overview

These are the packages needed to control the legs, visualize it in rviz2, and simulate in Gazebo classic.

For more details see below.

Dependencies

You will need a working installation of ROS2 Humble, Gazebo, and moveit2 to use these packages. They have been built and tested only on the following platform in WSL2 however, in theory, it should work for any OS with some extra work.

Python

These packages use ROS2 and Python 3.10. In addition to the Python packages required for a ROS2 desktop-full installation you will need the following:

For serial communication with USB connected hardware devices:

Local Installation

Create and configure a workspace

Source your ROS installation:

source /opt/ros/humble/setup.bash

Create or use an existing catkin workspace:

mkdir -p ~/ros2_ws/src
cd ~/ros2/src

Cloning the project

To clone this project (essentially all of its packages), type the following into the command line:

git clone https://github.com/MaxLewter16/LLEAP.git

Back out of the src folder, install all dependencies, and build.

cd ..
rosdep install -i --from-path src --rosdistro humble -y
colcon build

Source the packages:

source install/setup.bash

The packages should be ready and runnable.

Docker Development Installation

Not recommended but needed for mac developers. First, create a ros2 ws and clone the project like above. Use the graphical docker interface for visual development.

docker run --name ros2_container -p 6080:80 --security-opt seccomp=unconfined -v [ABSOLUTE_PATH]:/home/ubuntu/ros2_ws --shm-size=512m tiryoh/ros2-desktop-vnc:humble

Browse http://127.0.0.1:6080/.

You can access the container remotely using vscode with the docker extension and you can use git locally. To start the container again use:

docker start ros2_container

Usage - Simulation

exo_rviz

Loads configuration files and runs the visualization software for the legs using Rviz2 To view the legs in Rviz2 run:

ros2 launch exo_rviz display.launch.py
rviz

exo_gazebo

Loads configuration files and runs the simulation software for the legs using gazebo classic and will eventually work in parallel with the control code. To view the legs in Gazebo classic run:

ros2 launch exo_gazebo gazebo.launch.py
Screen Shot 2023-04-16 at 12 47 10 AM

exo_moveit

After following the source installation of moveit2 you should be able to run the motion planning in Rviz2. To learn how to use moveit2 follow this tutorial. To open moveit2 in Rviz2 run:

ros2 launch exo_moveit demo.launch.py
moveit

License

This software is licensed under the BSD-3-Clause license found in the LICENSE file in the root directory of this source tree.

Acknowledgements

We have found many tutorials made by Automatic Addison very helpful.

We structured our project based on the curio rover.