> For the complete documentation index, see [llms.txt](https://robodog.gitbook.io/robodog-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://robodog.gitbook.io/robodog-docs/introduction-to-ros.md).

# Introduction to ROS

## Getting started

If you are completely new to ROS, there are a few resources we can personally recommend. First of all, the official ROS documentation features an extensive [tutorial](http://wiki.ros.org/ROS/Tutorials) for both Python and C++. If you are looking for a good lecture on ROS, the five [lectures available](https://rsl.ethz.ch/education-students/lectures/ros.html) on the website of the Robotic Systems Lab at ETH will have you covered on all basic ROS functionalities and feature structured exercises with prepared packages and code (solutions are spread all over [Github](https://github.com/juripfammatter/smb_highlevel_controller)). Additionally, the [ros\_best\_pratices](https://github.com/leggedrobotics/ros_best_practices) package can serve as a template for further projects.

## Working with the available packages

Most packages are running locally on the robot, in order to start them, you'll need to connect to the robots wifi and connect over SSH with

```
ssh unitree@192.168.123.12
sudo su
123 #Password
source robodog.sh
```

which will setup everything you need to start the communication between ROS on the robot and on your computer. After that you can simply start the current demonstration by running

```bash
roslaunch rbd_controller rbd_controller.launch
```

which will start all necessary ROS nodes. Furthermore you'll need to start the gesture recognition program on the Ubuntu VM with the command

```bash
python3 /path/to/gestrec.py #change path to the actual path
```

Now you are all set up to run the current demonstration.

### Creating and Running Other Nodes

To launch individual nodes you can use the steps mentioned before to get to the right folder. By running the command&#x20;

```
roslaunch package_name node.launch
```

you can launch an available `.launch` file from any package. A more detailed explanation on how to build your own package can be found in section [Creating a Node](/robodog-docs/software/creating-a-node.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://robodog.gitbook.io/robodog-docs/introduction-to-ros.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
