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.
These are the packages needed to control the legs, visualize it in rviz2, and simulate in Gazebo classic.
exo_description
xacro URDF file using our custom biped lower-limb exoskeleton STL filesexo_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.exo_moveit
runs the manipulation and motion planning software for how to get from one point to another in 3d space.exo_rviz
loads configuration files and runs the visualization software for the legs using rviz2 For more details see below.
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.
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:
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
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.
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
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
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
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
This software is licensed under the BSD-3-Clause license found in the LICENSE file in the root directory of this source tree.
We have found many tutorials made by Automatic Addison very helpful.
We structured our project based on the curio rover.