imlearn_autorally is a ROS package that uses the imlearn imitation learning library for end-to-end and imitation learning on the AutoRally platform.
imlearn_autorally uses Git submodules to pull in the imlearn repository. It tracks the devel branch by default.
The use of submodules means that the following commands should be used instead of/in addition to the usual git
commands.
- Clone:
git clone --recursive https://github.gatech.edu/ksaigol3/imlearn_autorally.git
- Update submodule (from the parent folder):
git submodule update --remote
- Update and merge remote changes on top of local changes:
git submodule update --remote --merge
- Rewind changes, apply remote changes, then replay local changes:
git submodule update --remote --rebase
- Push the parent repository without pushing changes in the imlearn submodule (from the parent folder):
git push
- Prevent pushing changes to the parent repository if changes to the submodules have not been pushed:
git push --recurse-submodules=check
- Attempt to push submodules (if needed) before pushing parent:
git push --recurse-submodules=on-demand
- Change the submodule branch being tracked:
cd src/imitation_learning; git checkout <branch-name>
Nodes, tests, and other Python scripts that are executable should be:
- put into the correct directory (usually
tests/
orscripts/
) - marked as executable (
chmod +x <filename>
) - listed in the
scripts
list insetup.py
DO NOT run setup.py
manually. It will be called by catkin
whenever you run catkin_make
. Remember to source devel/setup.bash
after running catkin_make
.