This commit is contained in:
Björn Ellensohn 2023-08-02 16:51:19 +02:00
parent db47b6a78c
commit bbb134379f

View File

@ -5,11 +5,19 @@ Follow the instructions: To use this you need the latest Docker installed and fo
Run: Run:
For instance on your PC: For instance on your PC:
```
docker compose run guis docker compose run guis
```
This will launch the "guis" container where you will find a full ros2 humble installation and all the dependencies this robot needs. This will launch the "guis" container where you will find a full ros2 humble installation and all the dependencies this robot needs.
On the robot: On the robot:
```
docker compose up -d controller teleop docker compose up -d controller teleop
```
So as you can see, you will be working from the same git repository as well on the robot and your dev PC.
For the fact all can run inside Docker makes the project super portable so everyone should be able to tinker around with it. Nice bonus perks: You won't interfere with your computer's local environment. With Docker you are even able to run multiple versions of ROS simultanously, even on unsupported Linux operating systems like Debian or NixOS. Also on MacOS. Windows might be possible but not tested.
### Attention: do not launch docker compose without arguments else you will start all services at once and you won't need them. ### Attention: do not launch docker compose without arguments else you will start all services at once and you won't need them.
@ -30,7 +38,9 @@ For initialization, just call "python3 initialize.py"
TODO: extend bot_mini_bringup, python scripts for simplyfiyng startup process. TODO: extend bot_mini_bringup, python scripts for simplyfiyng startup process.
## Useful commands: ## Useful commands:
```
rosdep install --from-paths src --ignore-src -r -y rosdep install --from-paths src --ignore-src -r -y
```
### Localization using predefined map and navigation ### Localization using predefined map and navigation
@ -52,9 +62,13 @@ These are the options that allows to configure the process real-time settings:
Example using ros2 launch: Example using ros2 launch:
```
ros2 launch pendulum_bringup pendulum_bringup.launch.py priority:=80 cpu-affinity:=4 lock-memory-size:=100 config-child-threads:=True ros2 launch pendulum_bringup pendulum_bringup.launch.py priority:=80 cpu-affinity:=4 lock-memory-size:=100 config-child-threads:=True
```
Example using the executable command line arguments: Example using the executable command line arguments:
```
ros2 run pendulum_demo pendulum_demo --priority 80 --cpu-affinity:=4 --lock-memory-size 100 --config-child-threads True ros2 run pendulum_demo pendulum_demo --priority 80 --cpu-affinity:=4 --lock-memory-size 100 --config-child-threads True
```
Source: https://github.com/ros2-realtime-demo/pendulum/blob/rolling/docs/real_time_tutorial.md Source: https://github.com/ros2-realtime-demo/pendulum/blob/rolling/docs/real_time_tutorial.md