Skip to content

Chenaah/Cheetah-Software-RL

Repository files navigation

Cheetah-Software-RL

This repository is based on Cheetah-Software.

Based on the original implementation, we mainly add a controller thats perform our multi-modal transition stragety and can run a trained RL policy.

Build

To build all code:

mkdir build
cd build
cmake ..
./../scripts/make_types.sh
make -j4

If you are building code on your computer that you would like to copy over to the mini cheetah, you must replace the cmake command with

cmake -DMINI_CHEETAH_BUILD=TRUE

otherwise it will not work. If you are building mini cheetah code one the mini cheetah computer, you do not need to do this.

This build process builds the common library, robot code, and simulator. If you just change robot code, you can simply run make -j4 again. If you change LCM types, you'll need to run cmake ..; make -j4. This automatically runs make_types.sh.

To test the common library, run common/test-common. To run the robot code, run robot/robot. To run the simulator, run sim/sim.

Part of this build process will automatically download the gtest software testing framework and sets it up. After it is done building, it will produce a libbiomimetics.a static library and an executable test-common. Run the tests with common/test-common. This output should hopefully end with

[----------] Global test environment tear-down
[==========] 18 tests from 3 test cases ran. (0 ms total)
[  PASSED  ] 18 tests.

Run simulator

To run the simulator:

  1. Open the control board
./sim/sim
  1. In the another command window, run the robot control code
./user/${controller_folder}/${controller_name} ${robot_name} ${target_system}

Example)

./user/JPos_Controller/jpos_ctrl 3 s

3: Cheetah 3, m: Mini Cheetah s: simulation, r: robot

Run Mini cheetah

  1. Create build folder mkdir mc-build
  2. Build as mini cheetah executable cd mc-build; cmake -DMINI_CHEETAH_BUILD=TRUE ..; make -j
  3. Connect to mini cheetah over ethernet, verify you can ssh in
  4. Copy program to mini cheetah with ../scripts/send_to_mini_cheetah.sh
  5. ssh into the mini cheetah ssh user@10.0.0.34
  6. Enter the robot program folder cd robot-software-....
  7. Run robot code ./run_mc.sh

Dependencies:

To use Ipopt, use CMake Ipopt option. Ex) cmake -DIPOPT_OPTION=ON ..

Acknowledgment

** This implementation is based on Cheetah-Software. **

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published