Skip to content
This repository was archived by the owner on Jan 1, 2025. It is now read-only.

Commit e352fb8

Browse files
committed
Initial commit
0 parents  commit e352fb8

File tree

406 files changed

+43792
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

406 files changed

+43792
-0
lines changed

.dockerignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
*/node_modules
2+
*.log

.gitignore

+160
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
# Prerequisites
2+
*.d
3+
4+
# Compiled Object files
5+
*.slo
6+
*.lo
7+
*.o
8+
*.obj
9+
10+
# Precompiled Headers
11+
*.gch
12+
*.pch
13+
14+
# Compiled Dynamic libraries
15+
*.so
16+
*.dylib
17+
*.dll
18+
19+
# Fortran module files
20+
*.mod
21+
*.smod
22+
23+
# Compiled Static libraries
24+
*.lai
25+
*.la
26+
*.a
27+
*.lib
28+
29+
# Executables
30+
*.exe
31+
*.out
32+
*.app
33+
34+
# Byte-compiled / optimized / DLL files
35+
__pycache__/
36+
*.py[cod]
37+
*$py.class
38+
39+
# C extensions
40+
*.so
41+
42+
# Distribution / packaging
43+
.Python
44+
build/
45+
develop-eggs/
46+
dist/
47+
downloads/
48+
eggs/
49+
.eggs/
50+
lib/
51+
lib64/
52+
parts/
53+
sdist/
54+
var/
55+
wheels/
56+
*.egg-info/
57+
.installed.cfg
58+
*.egg
59+
MANIFEST
60+
61+
# PyInstaller
62+
# Usually these files are written by a python script from a template
63+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
64+
*.manifest
65+
*.spec
66+
67+
# Installer logs
68+
pip-log.txt
69+
pip-delete-this-directory.txt
70+
71+
# Unit test / coverage reports
72+
htmlcov/
73+
.tox/
74+
.nox/
75+
.coverage
76+
.coverage.*
77+
.cache
78+
nosetests.xml
79+
coverage.xml
80+
*.cover
81+
.hypothesis/
82+
.pytest_cache/
83+
84+
# Translations
85+
*.mo
86+
*.pot
87+
88+
# Django stuff:
89+
*.log
90+
local_settings.py
91+
db.sqlite3
92+
93+
# Flask stuff:
94+
instance/
95+
.webassets-cache
96+
97+
# Scrapy stuff:
98+
.scrapy
99+
100+
# Sphinx documentation
101+
docs/_build/
102+
103+
# PyBuilder
104+
target/
105+
106+
# Jupyter Notebook
107+
.ipynb_checkpoints
108+
109+
# IPython
110+
profile_default/
111+
ipython_config.py
112+
113+
# pyenv
114+
.python-version
115+
116+
# celery beat schedule file
117+
celerybeat-schedule
118+
119+
# SageMath parsed files
120+
*.sage.py
121+
122+
# Environments
123+
.env
124+
.venv
125+
env.bak/
126+
venv.bak/
127+
128+
# Spyder project settings
129+
.spyderproject
130+
.spyproject
131+
132+
# Rope project settings
133+
.ropeproject
134+
135+
# mkdocs documentation
136+
/site
137+
138+
# mypy
139+
.mypy_cache/
140+
.dmypy.json
141+
dmypy.json
142+
143+
*.pyc
144+
**/.idea/*
145+
**/cmake-build-debug/*
146+
147+
# models
148+
*.pth
149+
*.th
150+
locobot_navigation/orb_slam2_ros/cfg/default.yaml
151+
thirdparty/ORB_SLAM2/tools/bin_vocabulary
152+
thirdparty/ORB_SLAM2/Vocabulary/ORBvoc.txt
153+
*.npz
154+
*.bin
155+
156+
# tmp files for testing
157+
tmp/*
158+
159+
# docusaurus
160+
node_modules

.gitmodules

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
[submodule "robots/LoCoBot/thirdparty/create_autonomy"]
2+
path = robots/LoCoBot/thirdparty/create_autonomy
3+
url = https://github.com/AutonomyLab/create_autonomy
4+
[submodule "robots/LoCoBot/thirdparty/dynamixel-workbench"]
5+
path = robots/LoCoBot/thirdparty/dynamixel-workbench
6+
url = https://github.com/ROBOTIS-GIT/dynamixel-workbench.git
7+
[submodule "robots/LoCoBot/thirdparty/DynamixelSDK"]
8+
path = robots/LoCoBot/thirdparty/DynamixelSDK
9+
url = https://github.com/ROBOTIS-GIT/DynamixelSDK.git
10+
[submodule "robots/LoCoBot/thirdparty/dynamixel-workbench-msgs"]
11+
path = robots/LoCoBot/thirdparty/dynamixel-workbench-msgs
12+
url = https://github.com/ROBOTIS-GIT/dynamixel-workbench-msgs.git
13+
[submodule "robots/LoCoBot/thirdparty/ros_control"]
14+
path = robots/LoCoBot/thirdparty/ros_control
15+
url = https://github.com/ros-controls/ros_control.git
16+
[submodule "robots/LoCoBot/thirdparty/ORB_SLAM2"]
17+
path = robots/LoCoBot/thirdparty/ORB_SLAM2
18+
url = https://github.com/taochenshh/ORB_SLAM2.git
19+
[submodule "robots/LoCoBot/thirdparty/ar_track_alvar"]
20+
path = robots/LoCoBot/thirdparty/ar_track_alvar
21+
url = https://github.com/s-gupta/ar_track_alvar.git

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Initial release

CODE_OF_CONDUCT.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Code of Conduct
2+
3+
Facebook has adopted a Code of Conduct that we expect project participants to adhere to. Please read the [full text](https://code.fb.com/codeofconduct/) so that you can understand what actions will and will not be tolerated.

CONTRIBUTING.md

+84
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
---
2+
id: contributing
3+
title: Contributing to PyRobot
4+
sidebar_label: Contributing to PyRobot
5+
---
6+
7+
Thank you for your interest in contributing to PyRobot! Your contributions will probably fall into two categories:
8+
9+
1. You want to implement a feature or bug-fix for an outstanding issue.
10+
- You can search for existing issues here: [https://github.com/facebookresearch/pyrobot/issues](https://github.com/facebookresearch/pyrobot/issues)
11+
- Pick an issue and comment on the task that you want to work on this feature.
12+
- If you need more context on a particular issue, please ask and we shall provide.
13+
2. You would like to propose a new feature and implement it.
14+
- Post about your intended feature as a Github issue, and we shall discuss the design and
15+
implementation. Once we agree that the plan looks good, go ahead and implement it. Note that any core changes such as to the core PyRobot code or LoCoBot driver code will take a longer review process.
16+
17+
Once you finish implementing a feature or bug-fix, please send a Pull Request to
18+
[https://github.com/facebookresearch/pyrobot](https://github.com/facebookresearch/pyrobot)
19+
20+
For more best practices on how to contribute, please see [Contributing Guide](https://github.com/pytorch/pytorch/blob/master/docs/source/community/contribution_guide.rst) from the [PyTorch](https://pytorch.org) repo. The following document covers some of the more technical aspects of contributing to PyRobot.
21+
22+
## Issues
23+
We use GitHub issues to track public bugs. Please ensure your description is
24+
clear and has sufficient instructions to be able to reproduce the issue.
25+
26+
Facebook has a [bounty program](https://www.facebook.com/whitehat/) for the safe
27+
disclosure of security bugs. In those cases, please go through the process
28+
outlined on that page and do not file a public issue.
29+
30+
## Codebase Structure
31+
32+
* [docs](docs) This folder is for tutorial documentation
33+
* [website/docs](docs/website/docs) Contains the tutorial markdown files for each tutorial in [pyrobot.org](https://www.pyrobot.org/docs/overview).
34+
* [examples](examples)
35+
* [locobot](examples/locobot) Examples for commanding low level primitive actions for LoCobot
36+
* [sawyer](examples/sawyer) Commanding low level primitive actions for the sawyer arm
37+
* Contains other robot learning examples like [grasping](examples/grasping) and [sim2real](examples/sim2real)
38+
* [robots](robots)
39+
* [LoCoBot](robots/LoCoBot) Drivers and ROS packages for the real LoCoBot and Gazebo simulator
40+
* [install](robots/LoCoBot/install) bash scripts for easy installation
41+
* [locobot_calibration](robots/LoCoBot/locobot_calibration) ROS package for hand-eye camera calibration for LoCoBot
42+
* [locobot_control](robots/LoCoBot/locobot_control) ROS package for LoCoBot drivers, teleoperation, inverse kinematics, etc.
43+
* [locobot_description](robots/LoCoBot/locobot_description) ROS package with LoCoBot urdf, mesh files, etc.
44+
* [locobot_gazebo](robots/LoCoBot/locobot_gazebo) ROS package for LoCoBot gazebo interface
45+
* [locobot_lite_moveit_config](robots/LoCoBot/locobot_lite_moveit_config) MoveIt package specific to full LoCoBot hardware setup (arm+base+camera mount)
46+
* [locobot_moveit_config](robots/LoCoBot/locobot_moveit_config) MoveIt package specific to full LoCoBot-lite hardware setup
47+
* [locobot_navigation](robots/LoCoBot/locobot_navigation)
48+
* [orb_slam2_ros](robots/LoCoBot/locobot_navigation/orb_slam2_ros) ROS package for ORB-SLAM2
49+
* [base_navigation](robots/LoCoBot/locobot_navigation/base_navigation) MoveBase package specific to LoCoBot
50+
* [thirdparty](robots/LoCoBot/thirdpart) Folder for LoCoBot specific external submodules
51+
* [tests](tests) Tests for the core PyRobot API
52+
53+
## Pull Requests
54+
Contributions will be managed through pull requests. This [article](https://gist.github.com/Chaser324/ce0505fbed06b947d962) is good resource for the pull request workflow.
55+
56+
1. Fork the repo and create your branch from `master`.
57+
2. If you've changed APIs, update the documentation.
58+
3. Follow the steps in the section below section on [Testing](#testing)
59+
4. Make sure your code lints.
60+
5. Please consider adding tutorials to better explain your feature. See section on [Tutorials](#tutorials)
61+
6. If you haven't already, complete the Contributor License Agreement ("CLA").
62+
63+
## Testing
64+
If you've added code that should be tested, please add tests. You can either add to existing test files or create new ones in the [tests](tests/) folder. The [tests/run_tests.py](tests/run_tests.py) script will launch and run the tests on a gazebo instance of the LoCoBot robot. Please also run existing tests and add new ones for the real robot (you can pass in *test_real* flag to the script). If you do not have any tests, please explain the reason.
65+
66+
## Tutorials
67+
Please also consider adding tutorials if you are planning to submit a major feature, application or algorithm. Almost all the scripts in the [examples](examples) folder have their associated [tutorials](https://www.pyrobot.org/docs/overview) synced with [pyrobot.org](https://www.pyrobot.org/docs/overview). To add a new tutorial, first create a markdown file in [docs/website/docs](docs/website/docs) or add a symlink to wherever you have added it in the repo (we suggest having a single location for this markdown file for better management). If you want to add a tutorial, you also need to declare the markdown file *id* in [docs/website/website/sidebars.json](docs/website/website/sidebars.json) so that it shows up on the website.
68+
69+
## Contributor License Agreement ("CLA")
70+
In order to accept your pull request, we need you to submit a CLA. You only need
71+
to do this once to work on any of Facebook's open source projects.
72+
73+
Complete your CLA here: <https://code.facebook.com/cla>
74+
75+
## Community
76+
Please consider joining our forum (start a google group?)
77+
78+
## Coding Style
79+
80+
The python code uses [Flake8](https://pypi.org/project/flake8/) style. [autopep8](https://github.com/hhatto/autopep8) will come in handy.
81+
82+
## License
83+
By contributing to **PyRobot**, you agree that your contributions will be licensed
84+
under the LICENSE file in the root directory of this source tree.

LICENSE

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) Facebook, Inc. and its affiliates.
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
 (0)