Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Melodic devel #34

Open
wants to merge 168 commits into
base: melodic-master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
168 commits
Select commit Hold shift + click to select a range
09ea623
Changed to local images
ggari-robotnik Mar 1, 2021
575860a
Moved vcstool repo file to repos folder
ggari-robotnik Mar 1, 2021
8b0ce62
added changelog file
ggari-robotnik Mar 1, 2021
7060992
added dockignore file
ggari-robotnik Mar 1, 2021
7b9f7ea
added first stage of dockerfile
ggari-robotnik Mar 1, 2021
02150e6
style cleanup
ggari-robotnik Mar 1, 2021
7980506
Removed startup of robot local control
ggari-robotnik Mar 1, 2021
677fbdb
style clean up
ggari-robotnik Mar 1, 2021
5f7048d
removed robot-local-control dependancy on gazebo package
ggari-robotnik Mar 1, 2021
bd6509d
removed perception on gazebo launch
ggari-robotnik Mar 1, 2021
9e6adbb
removed perception dependency on gazebo
ggari-robotnik Mar 1, 2021
0775b34
first version of docker image
ggari-robotnik Mar 1, 2021
4e2aa67
added bashrc config
ggari-robotnik Mar 1, 2021
afccf40
style minor fix
ggari-robotnik Mar 1, 2021
0d7332c
added compile of packages
ggari-robotnik Mar 1, 2021
f7fe4f1
added first attempt of docker-compose
ggari-robotnik Mar 1, 2021
e1b4116
first working version of compose
ggari-robotnik Mar 1, 2021
73d5a72
Corrected xml malformed
ggari-robotnik Mar 1, 2021
643cf5c
added imu_complementary_filter run dependecy
ggari-robotnik Mar 1, 2021
ed9b3ef
added required enviroment for nvidia
ggari-robotnik Mar 1, 2021
ad98966
updated docker-compose for >=1.28 but not working with gui
ggari-robotnik Mar 1, 2021
4f730eb
added script for launching simulation
ggari-robotnik Mar 1, 2021
78eafbc
added a check before removing the docker container instance
ggari-robotnik Mar 2, 2021
2649f4e
added the header on script
ggari-robotnik Mar 2, 2021
9677c61
added changelog
ggari-robotnik Mar 2, 2021
45cc9e0
added gazebo changelog on markdown format
ggari-robotnik Mar 2, 2021
494186e
added changelog.md
ggari-robotnik Mar 2, 2021
77bed1e
added changelog.md
ggari-robotnik Mar 2, 2021
8e491ba
removed old changelog.rst on sim_bringup
ggari-robotnik Mar 2, 2021
f87b1ab
removed old changelog.rst on sim
ggari-robotnik Mar 2, 2021
c433cd4
removed old changelog.rst on gazebo
ggari-robotnik Mar 2, 2021
bcc5eb3
added changelog on gazebo
ggari-robotnik Mar 2, 2021
721c049
Change of style to more markdown
ggari-robotnik Mar 2, 2021
45b5e62
improvement of style
ggari-robotnik Mar 2, 2021
17f1245
Added prototypes of functions
ggari-robotnik Mar 2, 2021
cffdceb
added general functions prototypes
ggari-robotnik Mar 2, 2021
1d2fa2d
added main flow
ggari-robotnik Mar 2, 2021
30910cc
added current functions
ggari-robotnik Mar 2, 2021
4eee818
added the body of allow and disallow screen
ggari-robotnik Mar 2, 2021
4716fd4
corrected build command
ggari-robotnik Mar 2, 2021
386f9f3
migrated to function execution
ggari-robotnik Mar 2, 2021
572fc1e
added print and check functions body
ggari-robotnik Mar 2, 2021
673dc5f
improved main flow
ggari-robotnik Mar 2, 2021
da72a73
added prototype of environment check
ggari-robotnik Mar 2, 2021
2318c1a
added required tools
ggari-robotnik Mar 2, 2021
1043303
added data and func in order to separate the script
ggari-robotnik Mar 2, 2021
f7a182f
added data body
ggari-robotnik Mar 2, 2021
dc5c537
removed variables from functions
ggari-robotnik Mar 2, 2021
85ce045
added load data and func files
ggari-robotnik Mar 2, 2021
9d9ab0f
improved main and and added load files
ggari-robotnik Mar 2, 2021
a5f01e4
corrected names of data and func files
ggari-robotnik Mar 2, 2021
8b393b0
Corrected failed load messages
ggari-robotnik Mar 2, 2021
330e01f
removed the data and func from main script
ggari-robotnik Mar 2, 2021
f40dedf
added environment verification functions and variables
ggari-robotnik Mar 2, 2021
97ece47
Added the environment check functions
ggari-robotnik Mar 2, 2021
1cf7e7c
Corrected display-check
ggari-robotnik Mar 2, 2021
9bb7ca1
Added print info and added instances image-name variables
ggari-robotnik Mar 2, 2021
fbfabc8
added print on running container
ggari-robotnik Mar 2, 2021
ce8b94d
Added x11 access error messages
ggari-robotnik Mar 2, 2021
35fa4cf
added argument in order allow to download fresh git repos
ggari-robotnik Mar 2, 2021
a932adf
added files to dockerignore
ggari-robotnik Mar 2, 2021
5c07969
added vcs repo dir for docker
ggari-robotnik Mar 2, 2021
731bf54
Now use the local summit_xl_sim packages
ggari-robotnik Mar 2, 2021
4b2ab34
added new entrypoint and corrected the copy of the packages
ggari-robotnik Mar 2, 2021
166805b
added use of entrypoint and env for launch file
ggari-robotnik Mar 2, 2021
435825d
Added variables for selecting the bringup package and launch on the s…
ggari-robotnik Mar 2, 2021
0819222
added environment variable to use gpu on simulation
ggari-robotnik Mar 2, 2021
ebac8f7
moved docker-files to docker folder
ggari-robotnik Mar 3, 2021
54f2268
added willow garage model in order to correct loading (not internet d…
ggari-robotnik Mar 3, 2021
685e2e4
added copy willow garage gazebo model to docker image
ggari-robotnik Mar 3, 2021
aff6489
added fuel config file
ggari-robotnik Mar 3, 2021
47e1f5b
updated ignition url
ggari-robotnik Mar 3, 2021
3e1bd0b
added ignition url fix on docker image
ggari-robotnik Mar 3, 2021
421a5e3
added prototype of nvidia cuda image search
ggari-robotnik Mar 3, 2021
a25a46a
added function to search the suitable nvidia docker image for testing
ggari-robotnik Mar 3, 2021
624fe5e
corrected the load of nvidia image
ggari-robotnik Mar 3, 2021
214a87a
added sound
ggari-robotnik Mar 3, 2021
f22a692
corrected ignition fuel url
ggari-robotnik Mar 3, 2021
44f6ddd
Updated index of titles
ggari-robotnik Mar 3, 2021
c6f3f15
added first instruccions of docker usage
ggari-robotnik Mar 3, 2021
f76abe5
removed willow garage and downloaded all models from gazebo_models
ggari-robotnik Mar 3, 2021
8464e58
now the ignition configuration is downloaded from github
ggari-robotnik Mar 3, 2021
8be408d
moved docker files to docker folder
ggari-robotnik Mar 4, 2021
ecd04e9
corrected the docker build command
ggari-robotnik Mar 4, 2021
94c8c38
updated the dockerignore
ggari-robotnik Mar 4, 2021
d4ff5cd
Updated docker-compose. But still not working
ggari-robotnik Mar 4, 2021
05bd5ec
Corrected the execution of the script outside the containing folder
ggari-robotnik Mar 4, 2021
da0cfae
Updated the docker help
ggari-robotnik Mar 4, 2021
a45dee8
added standalone build instructions
ggari-robotnik Mar 4, 2021
937db32
corrected markdown format
ggari-robotnik Mar 4, 2021
da8fb76
corrected and added strings
ggari-robotnik Mar 4, 2021
42adc09
added associative array for selecting robot simulation
ggari-robotnik Mar 4, 2021
f2f8620
Corrected print strings calls
ggari-robotnik Mar 4, 2021
de97488
added select simulation function
ggari-robotnik Mar 4, 2021
46ca963
Corrected load of files for working with associative arrays
ggari-robotnik Mar 4, 2021
cab5466
added help function
ggari-robotnik Mar 4, 2021
ea5f214
added parse argument function
ggari-robotnik Mar 4, 2021
7981fe5
adding parsing of arguments
ggari-robotnik Mar 4, 2021
230f477
Completed help
ggari-robotnik Mar 4, 2021
4c688a6
added robot selection instructions on readme
ggari-robotnik Mar 4, 2021
c6bd594
added links to install guides on readme
ggari-robotnik Mar 4, 2021
28641fc
added nvidia acceleration requirement on docker readme
ggari-robotnik Mar 4, 2021
44e40e5
added kinova ros package in order to make it work summit_xl_gen
ggari-robotnik Mar 5, 2021
1fd71ab
added dependancies installed by the rosdep (improves the rebuild speed)
ggari-robotnik Mar 5, 2021
8cc0932
Put upper the gazebo models in order to speed up rebuilds
ggari-robotnik Mar 5, 2021
d3f1e0f
added position of fingertip
ggari-robotnik Mar 5, 2021
66f1dad
changed initial position of finger in order remove ficker
ggari-robotnik Mar 5, 2021
384fd39
removed wait (not showing the robot on simulation)
ggari-robotnik Mar 5, 2021
ac43bea
Improved help
ggari-robotnik Mar 8, 2021
55a2875
Updated readme
ggari-robotnik Mar 8, 2021
47a92f5
updated use instructions
ggari-robotnik Mar 8, 2021
bce3692
Now the host can access to ros topics/services/nodes from the container
ggari-robotnik Apr 22, 2021
f834138
changed nvidia docker repo variable
ggari-robotnik Apr 23, 2021
09f2d6c
Corrected the nvidia docker check without internet (now the local ima…
ggari-robotnik Apr 23, 2021
7322966
removed unneeded bash debug
ggari-robotnik Apr 23, 2021
02427e6
Corrected ros port on help
ggari-robotnik Apr 23, 2021
88dca8f
Add xacro package parameter
Jul 14, 2021
01c6a44
Fix parameters warning
Jul 19, 2021
83e8a9c
Nested argument inside robot_description command fixed
robert-ros Jul 23, 2021
d596cb3
Gazebo local models added
robert-ros Jul 23, 2021
1e4ce05
Default gazebo world fixed
robert-ros Jul 23, 2021
5097b17
Gazebo gui added as argument
robert-ros Jul 29, 2021
4ebf7b8
Add ViperX 300s arm
robert-ros Jul 29, 2021
69dbb45
Add robotnik_pad and ViperX 300s arm dependencies
robert-ros Aug 6, 2021
c6852dc
Documentation updated
robert-ros Aug 6, 2021
8507323
Update readme
robert-ros Sep 20, 2021
07fc401
rviz: Add robot_map frame by default
robert-ros Sep 20, 2021
ca1587d
readme: Add navigation note on summit xl gen
robert-ros Sep 20, 2021
e6c91e9
repos: Add rcomponent repo
robert-ros Sep 21, 2021
cb8a8e0
Corrected the entrypoint.sh
ggari-robotnik Oct 8, 2021
7a03aac
updated the keys on the docker
ggari-robotnik Oct 8, 2021
c462f44
added rosbridge launch
ggari-robotnik Nov 24, 2021
fc2f0e4
removed the system monitor launch
ggari-robotnik Nov 24, 2021
02ac657
added rosbridge package to simulation
ggari-robotnik Nov 24, 2021
b01a041
added port on rosbridge launch
ggari-robotnik Nov 24, 2021
f3a35e7
added rosbridge launch on summit_xl_complete
ggari-robotnik Nov 24, 2021
66078f7
added rosbrige port to docker run
ggari-robotnik Nov 24, 2021
103623b
readme: Add more explicit ROS dependencies installation
robert-ros Dec 24, 2021
06e8d8d
Add missing param pad_model
Jan 24, 2022
c96df99
summit_xl_sim: Add ros_planar_move_plugin_force_based option for summ…
robert-ros Feb 14, 2022
a8c4f7f
rviz: Fix teleop bug for summitxl_a.rviz file
robert-ros Feb 14, 2022
ae8b3f7
repos/summit_xl_sim_devel: Add teleop_panel package
robert-ros Feb 14, 2022
076aa41
repos/summit_xl_sim_devel: Add ros_planar_move_plugin_force_based pac…
robert-ros Feb 14, 2022
64428c9
readme: Update rosdep dependencies
robert-ros Feb 15, 2022
5aa0b96
summit_xl_sim: Add ros_planar_move_plugin_force_based option for summ…
robert-ros Feb 15, 2022
a8f062a
added the working compose with version >=1.29
ggari-robotnik Mar 16, 2022
743d8fe
summit_xl_gazebo: Add demo world
robert-ros Jul 15, 2022
3c2a1d6
Adds flag -r to rosdep install in readme file
ndiazrey Jan 17, 2023
104bbf3
Added the correct commands to use the docker
ndiazrey Jan 18, 2023
565bb7c
removed obsolete script
ggari-robotnik Feb 9, 2023
0dcd8be
moved docker-compose to docker-compose-nvidia
ggari-robotnik Feb 9, 2023
d1cd5b3
removed ports and added stop_signal
ggari-robotnik Feb 9, 2023
cf88e3c
added intel docker-compose
ggari-robotnik Feb 9, 2023
571a28c
added symbolic link
ggari-robotnik Feb 9, 2023
6417404
added teleop
ggari-robotnik Feb 9, 2023
4e4fc5f
Merge branch 'melodic-devel' into melodic-docker-tidy
ggari-robotnik Feb 9, 2023
bf7e093
Minor style changes
ggari-robotnik Feb 9, 2023
358ea77
Changed docker instructions
ggari-robotnik Feb 9, 2023
cacca58
deleted reference to non existing script
ggari-robotnik Feb 9, 2023
6486fc8
Updated docker section on readme
ggari-robotnik Feb 9, 2023
1c068ba
Changed user name from ros to robot
ggari-robotnik Feb 9, 2023
6e8871d
Changed the way of install the ros packages
ggari-robotnik Feb 9, 2023
6a22374
Minor fixes on dockerfile
ggari-robotnik Feb 9, 2023
236b72b
added image name for building
ggari-robotnik Feb 9, 2023
4a2a5c3
Merge pull request #38 from ggari-robotnik/melodic-devel
ndiazrey Mar 13, 2023
c3e0933
Add description package as argument
alex-arnal Jun 12, 2023
12ff0a9
Updates rosdep file to include EOL distros
alex-arnal Aug 7, 2023
c438248
Merge pull request #44 from RobotnikAutomation/fix/dockerfile-rosdep-…
alex-arnal Oct 11, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
.dockerignore
.git/
CHANGELOG.md
doc/
docker/docker-compose.yml
docker/Dockerfile
LICENSE
README.md
docker/simulation-in-container-run.*
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Changelog

## 2021-03-21

### Added
- Added Docker image build for nvidia
- Added test script
262 changes: 207 additions & 55 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,116 +1,268 @@
<h1>summit_xl_sim</h1>
# summit_xl_sim

Packages for the simulation of the Summit XL

<p align="center">
<img src="https://github.com/RobotnikAutomation/summit_xl_sim/blob/melodic-master/doc/summit_xl.jpeg" height="275" />
<img src="https://github.com/RobotnikAutomation/summit_xl_sim/blob/melodic-master/doc/summit_xl_steel.jpeg" height="275" />
<img src="https://github.com/RobotnikAutomation/summit_xl_sim/blob/melodic-master/doc/summit_xl_gazebo.png" height="275" />
<img src="https://github.com/RobotnikAutomation/summit_xl_sim/blob/melodic-master/doc/summit_xl_steel_gazebo.png" height="275" />

<img src="doc/summit_xl.jpeg" height="275" />
<img src="doc/summit_xl_steel.jpeg" height="275" />
<img src="doc/summit_xl_gazebo.png" height="275" />
<img src="doc/summit_xl_steel_gazebo.png" height="275" />
</p>

This packages contains:

<h1>summit_xl_gazebo</h1>
## summit_xl_gazebo

Launch files and world files to start the models in gazebo

<h1>summit_xl_sim_bringup</h1>
## summit_xl_sim_bringup

Launch files that launch the complete simulation of the robot/s

<h1>Simulating Summit XL</h1>
## Simulating Summit XL

This simulation has been tested using Gazebo 9 version.

<h2>1. Install the following dependencies:</h2>
## Installation and run instruccions

### 1. Install the following dependencies:

To facilitate the installation you can use the vcstool:

```bash
sudo apt-get install -y python3-vcstool
```

<h2>2. Create a workspace and clone the repository:</h2>
### 2. Create a workspace and clone the repository:

```bash
mkdir catkin_ws
cd catkin_ws
vcs import --input https://raw.githubusercontent.com/RobotnikAutomation/summit_xl_sim/melodic-master/doc/summit_xl_sim.repos
rosdep install --from-paths src --ignore-src -y
```

<h2>3. Compile:</h2>
Install the latest version of the simulation:

```bash
vcs import --input https://raw.githubusercontent.com/RobotnikAutomation/summit_xl_sim/melodic-devel/repos/summit_xl_sim_devel.repos
```

**Install the ROS dependencies**

```bash
rosdep install --from-paths src --ignore-src --skip-keys="summit_xl_robot_control marker_mapping robotnik_locator robotnik_pose_filter robotnik_gazebo_elevator" -y -r
```

<!--
For the stable version (some latest features may be not available):

```bash
vcs import --input \
https://raw.githubusercontent.com/RobotnikAutomation/summit_xl_sim/melodic-master/doc/summit_xl_sim.repos
rosdep install --from-paths src --ignore-src --skip-keys="summit_xl_robot_control" -y
``` -->

### 3. Compile:

```bash
catkin build
source devel/setup.bash
```

**ONLY: if catkin build doesn't work:** The package catkin-tools is need to compile with catkin build:

```bash
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu `lsb_release -sc` main" > /etc/apt/sources.list.d/ros-latest.list'
wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
sudo apt-get update
sudo apt-get install python-catkin-tools
```

<h2>4. Launch Summit XL simulation (1 robot by default, up to 3 robots): </h2>
### 4. Launch Summit XL simulation (1 robot by default, up to 3 robots):

<h3> Summit XL:</h3>
#### Summit XL:

```
roslaunch summit_xl_sim_bringup summit_xl_complete.launch
```
```bash
roslaunch summit_xl_sim_bringup summit_xl_complete.launch
```

<h3> or Summit XL Steel: </h3>
#### Summit XL with Trossen Arm

```
roslaunch summit_xl_sim_bringup summit_xls_complete.launch
```
<h3> Optional general arguments: </h3>
```bash
roslaunch summit_xl_sim_bringup summit_xl_complete.launch default_xacro:=summit_xl_tix_std.urdf.xacro launch_arm_a:=true arm_manufacturer_a:=trossen arm_model_a:=vx300s
```

```
<arg name="launch_rviz" default="true"/>
<arg name="gazebo_world" default="$(find summit_xl_gazebo)/worlds/summit_xl_office.world"/>
<arg name="omni_drive" default="false"/> (only for Summit XL)
<arg name="use_gpu_for_simulation" default="false"/>
```
Launch moveit to plan trajectories:

By default the Gazebo plugin [Planar Move](http://gazebosim.org/tutorials?tut=ros_gzplugins) to ignore the physics of the wheels + the skid steering kinematics. In case you want to disable this plugin, set the following arguments:
```bash
ROS_NAMESPACE=robot roslaunch summit_xl_vx300s_moveit_config demo.launch
```

```
roslaunch summit_xl_sim_bringup summit_xl_complete.launch ros_planar_move_plugin:=false omni_drive:=false
```
#### Summit XL with Kinova Arm

```bash
roslaunch summit_xl_sim_bringup summit_xl_complete.launch default_xacro:=summit_xl_gen_std.urdf.xacro launch_arm_a:=true arm_manufacturer_a:=kinova arm_model_a:=j2s7s300 amcl_and_mapserver_a:=false move_base_robot_a:=false
```

<h3> Optional robot arguments: </h3>
**Note:** in this configuration the robot has not laser, therefore the amcl is turned off. When Rviz is opened, change robot_map to robot_odom in ```fixed_frame``` in order to visualize the robot.

```
<!--arguments for each robot (example for robot A)-->
<arg name="id_robot_a" default="robot"/>
<arg name="launch_robot_a" default="true"/>
<arg name="map_file_a" default="willow_garage/willow_garage.yaml"/>
<arg name="localization_robot_a" default="false"/>
<arg name="gmapping_robot_a" default="false"/>
<arg name="amcl_and_mapserver_a" default="true"/>
<arg name="x_init_pose_robot_a" default="0" />
<arg name="y_init_pose_robot_a" default="0" />
<arg name="z_init_pose_robot_a" default="0" />
<arg name="xacro_robot_a" default="summit_xl_std.urdf.xacro"/>
```
#### or Summit XL Steel:

```bash
roslaunch summit_xl_sim_bringup summit_xls_complete.launch
```

#### Optional general arguments:

```xml
<arg name="launch_rviz" default="true"/>
<arg name="gazebo_world" default="$(find summit_xl_gazebo)/worlds/summit_xl_office.world"/>
<arg name="omni_drive" default="false"/> (only for Summit XL)
<arg name="use_gpu_for_simulation" default="false"/>
```

By default the Gazebo plugin [Planar Move](http://gazebosim.org/tutorials?tut=ros_gzplugins) to ignore the physics of the wheels + the skid steering kinematics. In case you want to disable this plugin, set the following arguments:

```bash
roslaunch summit_xl_sim_bringup summit_xl_complete.launch \
ros_planar_move_plugin:=false \
omni_drive:=false
```

#### Optional robot arguments:

```xml
<!--arguments for each robot (example for robot A)-->
<arg name="id_robot_a" default="robot"/>
<arg name="launch_robot_a" default="true"/>
<arg name="map_file_a" default="willow_garage/willow_garage.yaml"/>
<arg name="localization_robot_a" default="false"/>
<arg name="gmapping_robot_a" default="false"/>
<arg name="amcl_and_mapserver_a" default="true"/>
<arg name="x_init_pose_robot_a" default="0" />
<arg name="y_init_pose_robot_a" default="0" />
<arg name="z_init_pose_robot_a" default="0" />
<arg name="xacro_robot_a" default="summit_xl_std.urdf.xacro"/>
```

- Example to launch simulation with 3 Summit XL robots:

```
roslaunch summit_xl_sim_bringup summit_xl_complete.launch launch_robot_b:=true launch_robot_c:=true
```

```bash
roslaunch summit_xl_sim_bringup summit_xl_complete.launch \
launch_robot_b:=true \
launch_robot_c:=true
```

- Example to launch simulation with 1 Summit XL robot with navigation:

```
```bash
roslaunch summit_xl_sim_bringup summit_xl_complete.launch \
move_base_robot_a:=true \
amcl_and_mapserver_a:=true
```

Enjoy! You can use the topic `${id_robot}/robotnik_base_control/cmd_vel` to control the Summit XL robot or send simple goals using `/${id_robot}/move_base_simple/goal`

## Docker usage

### Installation of required files

#### Intel GPU

- [docker engine](https://docs.docker.com/engine/install/ubuntu/)
- [docker compose plugin](https://docs.docker.com/compose/install/linux/)

#### Nvidia GPU

- [docker engine](https://docs.docker.com/engine/install/ubuntu/)

- [docker compose plugin](https://docs.docker.com/compose/install/linux/)

- nvidia-drivers

- [nvidia-docker](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker)

### Usage

```bash
git clone https://github.com/RobotnikAutomation/summit_xl_sim.git
cd summit_xl_sim
git checkout melodic-devel
export ROS_BU_PKG="summit_xl_sim_bringup"
export ROS_BU_LAUNCH="summit_xl_complete.launch"
nvidia-smi &>/dev/null \
&& ln -sf docker-compose-nvidia.yml docker-compose.yml \
|| ln -sf docker-compose-intel.yml docker-compose.yml
docker compose up
```

#### Selecting the robot model

You can select the robot, the launch file of package using the optional arguments on launch
By default the selected robot is `summit_xl`

**Summit XL GEN**

```bash
export ROS_BU_PKG="summit_xl_sim_bringup"
export ROS_BU_LAUNCH="summit_xl_gen_complete.launch"
docker compose up
```

**Summit XLS**

```bash
export ROS_BU_PKG="summit_xl_sim_bringup"
export ROS_BU_LAUNCH="summit_xls_complete.launch"
docker compose up
```

#### Manual Build

If you wish to build the image without launching the simulation use the following commands:

```bash
cd docker
docker compose build
```

#### Notes

roslaunch summit_xl_sim_bringup summit_xl_complete.launch move_base_robot_a:=true amcl_and_mapserver_a:=true
This is docker requires a graphical interface

- In order to exit you have to 2 options

- The `ROS_MASTER_URI` is accessible outside the container, so in the host any ros command should work

- You could also run a `roscore` previous to launch the simulation in order to have some processes on the host running

- if you want to enter on the container use the following command in another terminal
1. Close `gazebo` and `rviz` and wait a bit

2. execute in another terminal:

```bash
docker container rm --force summit_xl_sim_instance
```

#### Notes

- This is docker requires a graphical interface

- The `ROS_MASTER_URI` is accessible outside the container, so in the host any ros command should work

- You could also run a `roscore` previous to launch the simulation in order to have some processes on the host running

- if you want to enter on the container use the following command in another terminal

```bash
docker container exec -it docker-base-1 bash
```

Enjoy! You can use the topic "${id_robot}/robotnik_base_control/cmd_vel" to control the Summit XL robot or send simple goals using "/${id_robot}/move_base_simple/goal"
- In order to exit you have to 2 options
1. Close `gazebo` and `rviz` and wait a bit

2. execute in another terminal in the same folder than the `docker-compose.yml`:

```bash
docker compose down
```
Loading