Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 2 additions & 2 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ ARG RUNTIME=
ARG DEPLOY=
ARG RMW=

FROM --platform=$BUILDPLATFORM ros:${USE_ROS_DISTRO}-ros-base AS ros2
FROM --platform=$BUILDPLATFORM ros:${USE_ROS_DISTRO:-jazzy}-ros-base AS ros2
SHELL ["/bin/bash", "-c"]
ENV DEBIAN_FRONTEND=noninteractive

Expand Down Expand Up @@ -213,7 +213,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
# && rosdep install --rosdistro=${ROS_DISTRO} --from-paths /root/preinstall -iry --os=ubuntu:$(lsb_release -sc) \
# && rm -rf /var/lib/apt/lists/*

FROM ${DEPLOY} AS base
FROM ${DEPLOY:-simulation} AS base
SHELL ["/bin/bash", "-c"]

COPY . /root/linorobot2_ws/src/linorobot2
Expand Down
66 changes: 18 additions & 48 deletions docker/docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,12 @@ services:
gazebo:
container_name: gazebo
extends: dev
command: ros2 launch linorobot2_gazebo gazebo.launch.py world:=/root/linorobot2_ws/install/linorobot2_gazebo/share/linorobot2_gazebo/worlds/${WORLD:-playground}.sdf
command: >
ros2 launch linorobot2_gazebo gazebo.launch.py
world:=/root/linorobot2_ws/install/linorobot2_gazebo/share/linorobot2_gazebo/worlds/${WORLD:-turtlebot3_world}.sdf
spawn_x:=${SPAWN_X:-0.0}
spawn_y:=${SPAWN_Y:-0.0}
spawn_yaw:=${SPAWN_Z:-0.0}
devices:
- /dev:/dev

Expand All @@ -62,33 +67,17 @@ services:
extends: dev
command: >
ros2 launch linorobot2_navigation slam.launch.py
rviz:=false

slam-sim:
container_name: slam-sim
extends: dev
command: >
ros2 launch linorobot2_navigation slam.launch.py
rviz:=true
sim:=true
rviz:=${RVIZ:-false}
sim:=${SIM:-false}

navigate:
container_name: navigate
extends: dev
command: >
ros2 launch linorobot2_navigation navigation.launch.py
map:=/root/linorobot2_ws/src/linorobot2/linorobot2_navigation/maps/${WORLD:-playground}.yaml
rviz:=false
sim:=false

navigate-sim:
container_name: navigate-sim
extends: dev
command: >
ros2 launch linorobot2_navigation navigation.launch.py
map:=/root/linorobot2_ws/src/linorobot2/linorobot2_navigation/maps/${WORLD:-playground}.yaml
rviz:=true
sim:=true
map:=/root/linorobot2_ws/src/linorobot2/linorobot2_navigation/maps/${WORLD:-turtlebot3_world}.yaml
rviz:=${RVIZ:-false}
sim:=${SIM:-false}

save-map:
container_name: save-map
Expand Down Expand Up @@ -117,38 +106,19 @@ services:
- ../.:/root/linorobot2_ws/src/linorobot2

webtop:
image: lscr.io/linuxserver/webtop:latest
container_name: webtop
security_opt:
- seccomp:unconfined
image: lscr.io/linuxserver/webtop:latest
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- SUBFOLDER=/
- TITLE=Webtop
- DISPLAY=:200
- DISPLAY=:200
network_mode: host
volumes:
- /path/to/data:/config
- /var/run/docker.sock:/var/run/docker.sock
- /tmp/.X11-unix:/tmp/.X11-unix:rw
- $HOME/.Xauthority:/root/.Xauthority
devices:
- /dev/dri:/dev/dri
shm_size: "1gb"
restart: unless-stopped
- /dev/dri:/dev/dri

kasmvnc:
runtime: ${RUNTIME}
container_name: kasmvnc
image: ghcr.io/linuxserver/baseimage-kasmvnc:alpine318
privileged: true
network_mode: host
volumes:
- /tmp/.X11-unix:/tmp/.X11-unix:rw
- $HOME/.Xauthority:/root/.Xauthority
image: lsiobase/kasmvnc:alpine321
environment:
- DISPLAY=:200
- DISPLAY=:200
network_mode: host
devices:
- /dev/dri:/dev/dri
- /dev/dri:/dev/dri
10 changes: 8 additions & 2 deletions docker/sim.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
name: linorobot2-sim-demo
on_project_start: export DISPLAY=:200
on_project_start:
- export DISPLAY=:200
- export WORLD=turtlebot3_world
- export SIM=true
- export RVIZ=true
- export SPAWN_X=0.5

on_project_exit:
- docker compose down
tmux_options: -f $HOME/.config/tmuxinator/eztmux/.tmux.conf
Expand All @@ -8,7 +14,7 @@ windows:
panes:
- docker compose up webtop
- docker compose up gazebo
- docker compose up navigate-sim
- docker compose up navigate

- # This is not limited to this line only
- # You can add as much panes as you want.
1 change: 0 additions & 1 deletion linorobot2_gazebo/env-hooks/linorobot2_gazebo.sh.in

This file was deleted.

2 changes: 1 addition & 1 deletion linorobot2_gazebo/launch/gazebo.launch.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ def generate_launch_description():
)

world_path = PathJoinSubstitution(
[FindPackageShare("linorobot2_gazebo"), "worlds", "playground.sdf"]
[FindPackageShare("linorobot2_gazebo"), "worlds", "turtlebot3_world.sdf"]
)

description_launch_path = PathJoinSubstitution(
Expand Down
76 changes: 76 additions & 0 deletions linorobot2_gazebo/models/turtlebot3_world/meshes/hexagon.dae
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
<COLLADA version="1.4.1" xmlns="http://www.collada.org/2005/11/COLLADASchema">
<asset>
<created>2017-03-30T01:06:40</created>
<modified>2017-03-30T01:06:40</modified>
<unit name="inch" meter="0.0254"/>
<up_axis>Y_UP</up_axis>
</asset>
<library_visual_scenes>
<visual_scene id="ID1">
<node>
<instance_geometry url="#ID2">
<bind_material>
<technique_common>
<instance_material symbol="Material0" target="#ID9"/>
</technique_common>
</bind_material>
</instance_geometry>
</node>
</visual_scene>
</library_visual_scenes>
<library_geometries>
<geometry id="ID2">
<mesh>
<source id="ID3">
<float_array id="ID4" count="108">-28.8675 50 100 -57.735 9.66338e-13 0 -57.735 1.13687e-12 100 -28.8675 50 0 -57.735 1.13687e-12 100 -28.8675 -50 0 -28.8675 -50 100 -57.735 9.66338e-13 0 -28.8675 -50 100 28.8675 -50 0 28.8675 -50 100 -28.8675 -50 0 28.8675 -50 100 57.735 1.7053e-12 0 57.735 1.36424e-12 100 28.8675 -50 0 57.735 1.36424e-12 100 28.8675 50 2.498e-13 28.8675 50 100 57.735 1.7053e-12 0 28.8675 50 100 -28.8675 50 0 -28.8675 50 100 28.8675 50 2.498e-13 -57.735 1.13687e-12 100 57.735 1.36424e-12 100 -28.8675 50 100 -28.8675 -50 100 28.8675 -50 100 28.8675 50 100 -57.735 9.66338e-13 0 28.8675 -50 0 -28.8675 -50 0 57.735 1.7053e-12 0 -28.8675 50 0 28.8675 50 2.498e-13</float_array>
<technique_common>
<accessor stride="3" count="36" source="#ID4">
<param type="float" name="X"/>
<param type="float" name="Y"/>
<param type="float" name="Z"/>
</accessor>
</technique_common>
</source>
<source id="ID5">
<float_array id="ID6" count="108">-0.866025 0.5 0 -0.866025 0.5 0 -0.866025 0.5 0 -0.866025 0.5 0 -0.866025 -0.5 0 -0.866025 -0.5 0 -0.866025 -0.5 0 -0.866025 -0.5 0 5.51091e-16 -1 0 5.51091e-16 -1 0 5.51091e-16 -1 0 5.51091e-16 -1 0 0.866025 -0.5 0 0.866025 -0.5 0 0.866025 -0.5 0 0.866025 -0.5 0 0.866025 0.5 0 0.866025 0.5 0 0.866025 0.5 0 0.866025 0.5 0 -4.28626e-16 1 0 -4.28626e-16 1 0 -4.28626e-16 1 0 -4.28626e-16 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1</float_array>
<technique_common>
<accessor stride="3" count="36" source="#ID6">
<param type="float" name="X"/>
<param type="float" name="Y"/>
<param type="float" name="Z"/>
</accessor>
</technique_common>
</source>
<vertices id="ID7">
<input semantic="POSITION" source="#ID3"/>
<input semantic="NORMAL" source="#ID5"/>
</vertices>
<triangles count="20" material="Material0">
<input semantic="VERTEX" source="#ID7" offset="0"/>
<p>0 1 2 1 0 3 4 5 6 5 4 7 8 9 10 9 8 11 12 13 14 13 12 15 16 17 18 17 16 19 20 21 22 21 20 23 24 25 26 24 27 28 28 25 24 26 25 29 30 31 32 31 30 33 33 34 35 33 30 34</p>
</triangles>
</mesh>
</geometry>
</library_geometries>
<library_materials>
<material id="ID9">
<instance_effect url="#ID8"/>
</material>
</library_materials>
<library_effects>
<effect id="ID8">
<profile_COMMON>
<technique sid="COMMON">
<lambert>
<diffuse>
<color>0.392157 0.976471 0.121569 1</color>
</diffuse>
</lambert>
</technique>
</profile_COMMON>
</effect>
</library_effects>
<scene>
<instance_visual_scene url="#ID1"/>
</scene>
</COLLADA>
76 changes: 76 additions & 0 deletions linorobot2_gazebo/models/turtlebot3_world/meshes/wall.dae
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1">
<asset>
<created>2017-03-30T02:35:53</created>
<modified>2017-03-30T02:35:53</modified>
<unit name="inch" meter="0.0254"/>
<up_axis>Y_UP</up_axis>
</asset>
<library_visual_scenes>
<visual_scene id="ID1">
<node>
<instance_geometry url="#ID2">
<bind_material>
<technique_common>
<instance_material symbol="Material0" target="#ID9"/>
</technique_common>
</bind_material>
</instance_geometry>
</node>
</visual_scene>
</library_visual_scenes>
<library_geometries>
<geometry id="ID2">
<mesh>
<source id="ID3">
<float_array count="216" id="ID4">-400 230.94 0 -400 230.94 200 4.54747e-13 461.88 200 6.25278e-13 461.88 0 6.25278e-13 461.88 0 4.54747e-13 461.88 200 400 230.94 200 400 230.94 0 400 230.94 0 400 230.94 200 400 -230.94 200 400 -230.94 0 400 -230.94 0 400 -230.94 200 -1.7053e-13 -461.88 200 2.27374e-13 -461.88 0 2.27374e-13 -461.88 0 -1.7053e-13 -461.88 200 -400 -230.94 200 -400 -230.94 0 450 259.808 200 -3.69482e-13 519.615 200 -2.27374e-13 519.615 0 450 259.808 0 -3.69482e-13 519.615 200 -450 259.808 200 -450 259.808 0 -2.27374e-13 519.615 0 -450 259.808 200 -450 -259.808 200 -450 -259.808 0 -450 259.808 0 -450 -259.808 200 -1.13687e-13 -519.615 200 -2.27374e-13 -519.615 0 -450 -259.808 0 -1.13687e-13 -519.615 200 450 -259.808 200 450 -259.808 0 -2.27374e-13 -519.615 0 450 -259.808 0 450 259.808 200 450 259.808 0 450 -259.808 200 -400 -230.94 0 -400 -230.94 200 -400 230.94 200 -400 230.94 0 -1.7053e-13 -461.88 200 -1.13687e-13 -519.615 200 -400 -230.94 200 -450 -259.808 200 -450 259.808 200 450 -259.808 200 400 -230.94 200 400 230.94 200 4.54747e-13 461.88 200 -3.69482e-13 519.615 200 -400 230.94 200 450 259.808 200 -2.27374e-13 -519.615 0 400 -230.94 0 2.27374e-13 -461.88 0 400 230.94 0 -2.27374e-13 519.615 0 6.25278e-13 461.88 0 450 -259.808 0 450 259.808 0 -400 230.94 0 -450 259.808 0 -400 -230.94 0 -450 -259.808 0</float_array>
<technique_common>
<accessor count="72" source="#ID4" stride="3">
<param name="X" type="float"/>
<param name="Y" type="float"/>
<param name="Z" type="float"/>
</accessor>
</technique_common>
</source>
<source id="ID5">
<float_array count="216" id="ID6">0.5 -0.866025 0 0.5 -0.866025 0 0.5 -0.866025 0 0.5 -0.866025 0 -0.5 -0.866025 -0 -0.5 -0.866025 -0 -0.5 -0.866025 -0 -0.5 -0.866025 -0 -1 -6.12323e-17 -0 -1 -6.12323e-17 -0 -1 -6.12323e-17 -0 -1 -6.12323e-17 -0 -0.5 0.866025 0 -0.5 0.866025 0 -0.5 0.866025 0 -0.5 0.866025 0 0.5 0.866025 0 0.5 0.866025 0 0.5 0.866025 0 0.5 0.866025 0 0.5 0.866025 0 0.5 0.866025 0 0.5 0.866025 0 0.5 0.866025 0 -0.5 0.866025 0 -0.5 0.866025 0 -0.5 0.866025 0 -0.5 0.866025 0 -1 -5.21642e-16 0 -1 -5.21642e-16 0 -1 -5.21642e-16 0 -1 -5.21642e-16 0 -0.5 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866025 0 0.5 -0.866025 0 0.5 -0.866025 0 0.5 -0.866025 0 0.5 -0.866025 0 1 0 0 1 0 0 1 0 0 1 0 0 1 1.83697e-16 0 1 1.83697e-16 0 1 1.83697e-16 0 1 1.83697e-16 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1</float_array>
<technique_common>
<accessor count="72" source="#ID6" stride="3">
<param name="X" type="float"/>
<param name="Y" type="float"/>
<param name="Z" type="float"/>
</accessor>
</technique_common>
</source>
<vertices id="ID7">
<input semantic="POSITION" source="#ID3"/>
<input semantic="NORMAL" source="#ID5"/>
</vertices>
<triangles count="48" material="Material0">
<input semantic="VERTEX" source="#ID7" offset="0"/>
<p>0 2 1 0 3 2 4 6 5 4 7 6 8 10 9 8 11 10 12 14 13 12 15 14 16 18 17 16 19 18 20 22 21 22 20 23 24 26 25 26 24 27 28 30 29 30 28 31 32 34 33 34 32 35 36 38 37 38 36 39 40 42 41 40 41 43 44 46 45 44 47 46 48 50 49 50 52 51 53 54 49 55 57 56 48 49 54 57 52 58 58 56 57 53 59 55 57 55 59 53 55 54 49 50 51 52 50 58 60 62 61 63 65 64 63 67 66 68 69 64 66 61 63 64 67 63 60 61 66 60 70 62 69 70 71 60 71 70 64 65 68 69 68 70</p>
</triangles>
</mesh>
</geometry>
</library_geometries>
<library_materials>
<material id="ID9">
<instance_effect url="#ID8"/>
</material>
</library_materials>
<library_effects>
<effect id="ID8">
<profile_COMMON>
<technique sid="COMMON">
<lambert>
<diffuse>
<color>0.603922 0.647059 0.686275 1</color>
</diffuse>
</lambert>
</technique>
</profile_COMMON>
</effect>
</library_effects>
<scene>
<instance_visual_scene url="#ID1"/>
</scene>
</COLLADA>
Loading