Linux Terminal Basics¶
Just make sure you know all these before heading into this, you’ll use them constantly in Git Bash.
Make and Delete Folders¶
Since you’re already looking at a terminal window and want to stay on track, it’s best to know how to make and delete directories.
mkdir directory_namethis makes an empty folder in your present working directory called directory_namerm -rf directory_namethis forcefully deletes a folder in your present working directory called directory_name and all of its contents
Doing the thing for the first time¶
Wade is probably the only person who will need to look at this section, but it’s here for reference anyway
- Install backend
apt-get install pipsudo pip install Sphinxsudo pip install sphinx_rtd_theme
- Start a new template
- Navigate to a folder you want the new document to be in and run
sphinx-quickstartdefaults should work just fine. - Edit conf.py
html_theme = 'sphinx_rtd_theme' - initial build
make html
- Navigate to a folder you want the new document to be in and run
- Start Tracking with Git
- in the project’s directory
git init - confirm git was made with
ls -a - add all the files with
git add . - commit to the local repo
git commit -m "initial commit" - make github repo without readme at github.com
- link the repo to the local git
git remote add origin [address listed] - initial push
git push -u origin master
- in the project’s directory
- Link to Readthedocs
- Import a Project
- Find on list populated from github
- Clone the repo to a work computer and work on that shit
ROS Notes¶
Linux in general¶
In Bash Terminal, source is used to point to a list of commands that you want to use in the text environment.
Tab autocomplete also allows you to look at the list of possible commands you can use based on context if you tab twice quickly.
ROS File Structure¶
Nodes are the black boxes that act like libraries would in the arduino world. Nodes talk to each other through the use of Topics. Topics are a class that holds data accessible to other Nodes. Nodes publish data to topics, and can also subscribe to topics that hold data. Multiple nodes can publish to and subscribe to the same topic.
- rosnode list - list running nodes
- rosnode info /some_node - detailed information about the node, including what topics the node is subscribing/publishing to
- rostopic list - list of running topics
- rostopic info /some_topic - all the nodes publishing/subscribed to topic
- rostopic echo /some_topic - print data running on that topic
- rostopic pub /some_topic msg/MessageType “data: value” - send a message on the topic including data formatted in yaml
ros master keeps track of meta information, telling the subscribers about publishers