IDEA
Control tendons of the cable robots to reach commanded position for joint with reinforcement learning. Set up easily integratable tool to enable training any cable robots for goal reach tasks.
How to start
- Initialize and update every submodule
bash git submodule update --init --recursive
. Double check if you are in the right branch!
Submodule | branch |
---|---|
kindyn | deepRoboy-feature |
roboy_communication under ROS2_ROBOY_WS | bouncy |
rest of the submodules | master |
- Build the Cardsflow
- install ROS2 and the ROS1_bridge PS: currently debian packages are not working for the bridge installation.
- Set the environment variables in your ~/.bashrc. For some help on setting env variables you can find it here
- ROS2_INSTALL_WS: your directory where you installed ros2 in previous step.
- ROS2_ROBOY_WS: use the path of ROS2_ROBOY_WS under this repo
- ROS1_ROBOY_WS: use the path of ROS1_ROBOY_WS under this repo
- Start the simulation with https://github.com/Roboy/DeepAndReinforced/blob/master/bridge_scripts/launch_simulation.sh
- Start training under gym-roboy repo by typing in terminal:
cd gym-roboy/
python3 -m gym_roboy.train_parallel num_cpus
where num_cpus
is the number of cpus to use.
Submodules: What do they do?
Relevant submodules.
- gym-roboy
- Implements OPENAI gym environment to train CARDSflow robots uses ROS2 for communication to the simulation.
- CARDSFLOW
- This repository provides a full pipeline for Cable Robots from CAD in Autodesk Fusion 360 to full simulation and control of these robots.
- Kindyn
- this repo contains the core c++ implementation for controlling cable robots.
- The ROS services used to communicate to the simulation are implemented in: https://github.com/CARDSflow/kindyn/blob/deepRoboy-feature/src/GymServices.cpp
- roboy_communicaion