cleanup
This commit is contained in:
parent
90639412ef
commit
b6b70dde04
3
.gitignore
vendored
3
.gitignore
vendored
@ -1 +1,2 @@
|
||||
*.pgm
|
||||
*.pgm
|
||||
maps/
|
29
cert.pem
29
cert.pem
@ -1,29 +0,0 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFCTCCAvGgAwIBAgIUSToN1sKvyyEHUX43N0x2pJ2tozYwDQYJKoZIhvcNAQEL
|
||||
BQAwFDESMBAGA1UEAwwJbG9jYWxob3N0MB4XDTIzMDgyMzE0NDgwMFoXDTI0MDgy
|
||||
MjE0NDgwMFowFDESMBAGA1UEAwwJbG9jYWxob3N0MIICIjANBgkqhkiG9w0BAQEF
|
||||
AAOCAg8AMIICCgKCAgEAuz16ToP/oe0GlHELnOxXVMbQ4ygDhAoJRDW+h3AN01QP
|
||||
GD8hKByM5QKUd1bnUa40jKeENerJLVpwvYW+wksIw8OEoU+XKLQav59LkumMx94Y
|
||||
92vhfYPEdjJGfBSemf4GALw0GmeizeglGKQAomBN2fV0Wege77T6aE3GSafzmgWk
|
||||
WKIXLzYd0C+fzMUnf7TtbpacG71D1VAryedq2/srR6ZnrP92SyWB6vJt9kdFxhie
|
||||
V0zdrmiLhKbj4QBHn2ZfBzBe33eLHEJc7DlQ7fkQr58PVnF35h0lIYC2YdZjGSIe
|
||||
1r12HGCvjDlDX3ygznsnMIIOGPd78vzpiVUlIk1MLqS4FeAMqyTFuljZ7UjG2+Yf
|
||||
p+9gJ/3vfbCiWmtwJOuZvCeXvCwUGlvJH7aFan9UKG0OCuIOBY+8ZqkbgKQ8lCNv
|
||||
hk5HD8z49pa2u9Tzau68KMLOIhJ000sPW17RrWTrQK0izLeNmxlUvNFtg65pCpE7
|
||||
yUinlKVfBjPraK1htuZL/E0MZ1sq9YV/VbjFQnrhad1bZ+DvLRuX2Ehd8gsUt6UL
|
||||
hQW3vq7GmXo0u+xT1XIkCEYdNUGo4xXKr925MmcRVa6gR5dsAuAoQ5cN/5z4wnJt
|
||||
eNonakERtPomAC/ACTsbr3RjpG6h0jPHXta5XC+PKydV9riuk/LAIRIF0dKGfHUC
|
||||
AwEAAaNTMFEwHQYDVR0OBBYEFKL/qoyl0fc1f6VBhW5GJDpae5a7MB8GA1UdIwQY
|
||||
MBaAFKL/qoyl0fc1f6VBhW5GJDpae5a7MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI
|
||||
hvcNAQELBQADggIBADoEzbUqOiTbTOppCRP3q+l8Z3mlymtZgz/BcyGms+8B2LMC
|
||||
xSJ88+lkg23XG8KQ+oIOHDaLBsVUePeSLLt3MAtDMbBEDUsUf2nWK+l3IbNlMxTn
|
||||
1beb/FM1QRwLfbqGvVi7afpZvLH7wJc2SCv+996eW/Hau5yDxntqupjAd1G7pDrJ
|
||||
PQMJhmWg1VQHxBC1MyMVdz8r4nqBSIKN5XMxdrZitXOa6c2b2/SvolGN6UEUD1at
|
||||
LAbS1nXloBNVuOrmTCxRxCKxec8+2qs4QOc/Ux7jF9Q65TkW1IkucnDaOluDcufY
|
||||
n4GQXaRFyQJInoGpWlOM3hJ2ZlhlQj+tjuvTyu7uWCINC4r0bYqpIpY4mWzXKRFT
|
||||
e5M4nVy8YukjsM82zZRvXdD8Mlfuxb8xkpQBdqVClO24TSjZOCAw4qsizpV/N7S9
|
||||
NmQ5+2CI4l3KvhH1gAjtXvNOOicn7laXDtz5wc1fZxmUptQQp5JXFtSguLpJpGli
|
||||
r7s8wRPnVJW3HhjNIzYIzOm3J4dtl1+ZqHGfeFes+8ty2HAJK1AmnRvt8UQK3VjR
|
||||
YrlzbM6+cjzmJQ3S3LTXOi0Zssf6SQspCaAMP8hUXhZyi8y7PMNHpp/LuUEFox03
|
||||
/L8X5DB9SXofdFp+1jVh6WZCV8wt39Fxo+l+5afpeIc138XOkgvsrBFNzTi9
|
||||
-----END CERTIFICATE-----
|
@ -1,62 +0,0 @@
|
||||
services:
|
||||
### Husarnet VPN Container for remote access
|
||||
husarnet:
|
||||
image: husarnet/husarnet
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /var/lib/husarnet # This will persist your Husarnet Client keys, thus IP of the container will be stable/the same between (re)boots
|
||||
sysctls:
|
||||
- net.ipv6.conf.all.disable_ipv6=0 # Husarnet is using IPv6 for the internal connections
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
devices:
|
||||
- /dev/net/tun
|
||||
env_file:
|
||||
- ./husarnet/.env # create .env file in the same folder as Dockerfile and specify HOSTNAME and JOINCODE there
|
||||
|
||||
color_controller:
|
||||
build:
|
||||
dockerfile: husarnet/Dockerfile
|
||||
volumes:
|
||||
- ./husarnet/cyclonedds.xml:/cyclonedds.xml
|
||||
command:
|
||||
- bash
|
||||
- -c
|
||||
- |
|
||||
export CYCLONEDDS_URI=file:///cyclonedds.xml
|
||||
ros2 run my_demo_pkg color_controller
|
||||
network_mode: service:husarnet
|
||||
|
||||
move_controller:
|
||||
build:
|
||||
dockerfile: husarnet/Dockerfile
|
||||
volumes:
|
||||
- ./husarnet/cyclonedds.xml:/cyclonedds.xml
|
||||
command:
|
||||
- bash
|
||||
- -c
|
||||
- |
|
||||
export CYCLONEDDS_URI=file:///cyclonedds.xml
|
||||
ros2 run my_demo_pkg move_controller
|
||||
network_mode: service:husarnet
|
||||
|
||||
turtle_sim:
|
||||
image: osrf/ros:galactic-desktop
|
||||
privileged: true
|
||||
environment:
|
||||
# Allows graphical programs in the container.
|
||||
- DISPLAY=${DISPLAY}
|
||||
- QT_X11_NO_MITSHM=1
|
||||
- NVIDIA_DRIVER_CAPABILITIES=all
|
||||
volumes:
|
||||
# Allows graphical programs in the container.
|
||||
- /tmp/.X11-unix:/tmp/.X11-unix:rw
|
||||
- ${XAUTHORITY:-$HOME/.Xauthority}:/root/.Xauthority
|
||||
- ./husarnet/cyclonedds.xml:/cyclonedds.xml
|
||||
command:
|
||||
- bash
|
||||
- -c
|
||||
- |
|
||||
export CYCLONEDDS_URI=file:///cyclonedds.xml
|
||||
ros2 run turtlesim turtlesim_node
|
||||
network_mode: service:husarnet # This is the most important line in this setup. This will put the Husarnet Client in the same network namespace as your app (in this example: turtle_sim)
|
27
init_repo.sh
27
init_repo.sh
@ -1,27 +0,0 @@
|
||||
#!/bin/bash
|
||||
# Basic entrypoint for ROS / Colcon Docker containers
|
||||
|
||||
# Source ROS 2
|
||||
source /opt/ros/${ROS_DISTRO}/setup.bash
|
||||
echo "Sourced ROS 2 ${ROS_DISTRO}"
|
||||
|
||||
# Source the base workspace, if built
|
||||
if [ -f ${UNDERLAY_WS}/install/setup.bash ]
|
||||
then
|
||||
source ${UNDERLAY_WS}/install/setup.bash
|
||||
#export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:$(ros2 pkg prefix turtlebot3_gazebo)/share/turtlebot3_gazebo/models
|
||||
echo "Sourced Bot Mini base workspace"
|
||||
fi
|
||||
|
||||
# Source the overlay workspace, if built
|
||||
if [ -f /overlay_ws/install/setup.bash ]
|
||||
then
|
||||
source /overlay_ws/install/setup.bash
|
||||
#export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:$(ros2 pkg prefix tb3_worlds)/share/tb3_worlds/models
|
||||
echo "Sourced Bot Mini overlay workspace"
|
||||
fi
|
||||
|
||||
# Copy over files
|
||||
cp -r /overlay_ws/src/* /repo/src/
|
||||
|
||||
wait
|
19
install.sh
19
install.sh
@ -1,19 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Specify the name of your Python script
|
||||
SCRIPT_NAME="robot_config.py"
|
||||
|
||||
# Check if the script exists in the current directory
|
||||
if [ -f "$SCRIPT_NAME" ]; then
|
||||
# Check if /usr/local/bin is writable
|
||||
if [ -w "/usr/local/bin" ]; then
|
||||
# Copy the script to /usr/local/bin
|
||||
sudo cp "$SCRIPT_NAME" "/usr/local/bin"
|
||||
sudo chmod +x "/usr/local/bin/$SCRIPT_NAME"
|
||||
echo "Script '$SCRIPT_NAME' has been installed in /usr/local/bin."
|
||||
else
|
||||
echo "Error: /usr/local/bin is not writable. You may need to use 'sudo' to install the script."
|
||||
fi
|
||||
else
|
||||
echo "Error: Script '$SCRIPT_NAME' not found in the current directory."
|
||||
fi
|
52
key.pem
52
key.pem
@ -1,52 +0,0 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQC7PXpOg/+h7QaU
|
||||
cQuc7FdUxtDjKAOECglENb6HcA3TVA8YPyEoHIzlApR3VudRrjSMp4Q16sktWnC9
|
||||
hb7CSwjDw4ShT5cotBq/n0uS6YzH3hj3a+F9g8R2MkZ8FJ6Z/gYAvDQaZ6LN6CUY
|
||||
pACiYE3Z9XRZ6B7vtPpoTcZJp/OaBaRYohcvNh3QL5/MxSd/tO1ulpwbvUPVUCvJ
|
||||
52rb+ytHpmes/3ZLJYHq8m32R0XGGJ5XTN2uaIuEpuPhAEefZl8HMF7fd4scQlzs
|
||||
OVDt+RCvnw9WcXfmHSUhgLZh1mMZIh7WvXYcYK+MOUNffKDOeycwgg4Y93vy/OmJ
|
||||
VSUiTUwupLgV4AyrJMW6WNntSMbb5h+n72An/e99sKJaa3Ak65m8J5e8LBQaW8kf
|
||||
toVqf1QobQ4K4g4Fj7xmqRuApDyUI2+GTkcPzPj2lra71PNq7rwows4iEnTTSw9b
|
||||
XtGtZOtArSLMt42bGVS80W2DrmkKkTvJSKeUpV8GM+torWG25kv8TQxnWyr1hX9V
|
||||
uMVCeuFp3Vtn4O8tG5fYSF3yCxS3pQuFBbe+rsaZejS77FPVciQIRh01QajjFcqv
|
||||
3bkyZxFVrqBHl2wC4ChDlw3/nPjCcm142idqQRG0+iYAL8AJOxuvdGOkbqHSM8de
|
||||
1rlcL48rJ1X2uK6T8sAhEgXR0oZ8dQIDAQABAoICABwvlX1DRpSQEzj+SXK+aykS
|
||||
YriHOfxC7IEtm/hUaGhjE4ChZDLfFWCWAlZyqRC1KijwQKlDJjSjFCybeQtTc0bQ
|
||||
5GLKEeWpMwuchapgaPZfWx/HyCJ2Vvk5+T1Nd1CUGkA7FJbS+gGIDCmI6qWG3MFO
|
||||
P00XcazA8B8Kcip9U2Dgr4w+HkJXoaZIvQP8u8TwLfvDRU2xsIfocScMJJxn02yO
|
||||
QrYaoKqQQ13kT6ROt1SqOQ/IPOi3ySTXYJ9qxN1ccjqpT+bQ3oqK/OT8fc/M+fON
|
||||
/KeVHijwQzonX40b0kAi0ESgMar07QgtSJSTtLtQc6ZMNaYRf0GlS9yGCjh/LVPo
|
||||
IFCKjpSDfp2J9Q7RSFKdb8tghcTfQNAg/6zen1JnE5iUBiaQZfIj7+iD5hQfn9a2
|
||||
I1Fs3m1or3n1Z+BUg7vkDPQCyRkVEBXkKsbpD3T2cnxY9sfF0+ClmdfBQyCcLG5p
|
||||
mf6XAWQEiJrQ9iWuQYWpHDqaatan6G5ym8Wy7nJYdjJgJTszzduUSt176W8R7bGW
|
||||
73y9de+kEODQsxehSpkTVEqsMEgpTAKi5u59RRhj4OT9Lbvk9Xs9OH23aUcVUu5H
|
||||
urMIAKdsjlAUhLSPupDr4bJPRM9N4t2v709VeH170Z/9X5j7LbF++Wh2t+UXprmb
|
||||
0nDk5fjfzJnjXJQgd+nRAoIBAQDpUc+3MuLadphfyM5b5xc9A/8TuwW5a2jcLi1h
|
||||
6NlZa63qPbGvEk3kUw71ELrh8NorRqvn895CJUG4K+zVUTl9dgsXqla7GWZFHIXW
|
||||
2641R4p8HQNwNFP7KIyvvv5l72A+wWf1jpZiXXYNinrHDtPgdVXEFMDhDLibu6AK
|
||||
jsfdNOXDE+mmxMTSwwgJ9blZkdp1pBEWYCZsqW/yED6pLdTh8ZRPGHOb24x6HksZ
|
||||
Z/Gc4SIOrj5jrt3/M9oEymP+fQnF/StlnVsRnai6hBQX9khlS3pjneLOCLJfhpt/
|
||||
qcIDL03KsIhf0miIkOpNTATL4SGsWDBAQp17eN4UToacARRpAoIBAQDNcPlDVBqt
|
||||
K+fy9BBR9HBzBQlx6XkrmZ9Cgje/FrpMT+2UZ5wqMMPyB7SdoXkxx0CpB3ajOost
|
||||
i92fk7Y03xHXS3COGLKhWqDNhH1Uotlp3wpeOWx3DlAFRcIvy86iDzTa/hGaq8Kp
|
||||
2HPw0YqcxQjwYQzILBfZx3DRuQ8bt3Wiqxer/K+NRDnass/ZUTqz6nZcadMj6NiS
|
||||
Zlwm7ErjhjdYRc6amTZMtxOenxP8cAtNW+RBZ7JbUEhAhE8zU42wZI+DxhvM0mTg
|
||||
/CrRaYVE6YyAnaYo0RuJCRldz6obbgABn0q8qoY1Rmxjm+Do27hsrQgAB9Z/gmAp
|
||||
hdU2+S270fYtAoIBAQCuEYlEhkRU9HHN1ESQsCHYNakSEU+9+/JpglH9X/j4C6ve
|
||||
vFRZ5vARzh20m9yxQD2kV79c98Xz11PmkW7J3yVjArRX3Y+DWvm/yf3YRGD+AvfA
|
||||
jOzJw2B8Ws5LN9UYO7S0XRqwSsbLcCrpA02CQP+10BRCi7EytYjtNte5yLg3woVA
|
||||
OxTwhJDLJRJUS+0SdAxmBBdzeBxyqR6Jm7EECttuDgu1zupBd1SgrwUcWT4a6qO8
|
||||
DCcju4yIHykitdRQQv0Np0m/L9yHkfYV4QAUuHtehycyNtLFIBvjxMsyPXYvZhVF
|
||||
iNrVkmbGrEcBkBtr9/RlXg3xg0F2osAcqlEnBm8xAoIBADGLZkGrfcd3iDeaTnlF
|
||||
Rv0mINH86UDvim3is4j89S7EM9qPZiTyn761xwQg1faARAK/jwfsbXYtfeQnHlD/
|
||||
3vCZ++n44NNy5MbLheIsZ9xVcs2ocZUAuaGb4iner9V7b1bE4P/5HjgRwFw6XIBU
|
||||
MESwUwHPSG034OhjBda8Vr1FH69VgAzEgGNSrjeNlGehSqwcxVOqqtgboWutnp3i
|
||||
V2SNaTb1bhfwKuYdHRfK+Z7NY222kVfeM56Digopw0jf55By7W9m6fcsOTNJjF9D
|
||||
J6Q44MKFM2vH6vspwq9cxtmdTcvUIAunESqwg/wESSTEUeKYAU285m39HZ9lVncu
|
||||
On0CggEAEk6pzS5OX7DSWqrTnYd9T83lr7RzFQpWpbeK7OOidMUYm/MHx7I2UyLN
|
||||
V0K/ChkYowm69VvHJW9mcSHo0RAZiokBegJP8fhU0RJJaWyED+wdw2vOHlwAI7WP
|
||||
hj3xCOT8D+qfx12wVqo6c0jRXnNUsd5V9DPtMkn7YFYuq56gSqwlLvIpuhfU8dJM
|
||||
dCznLvjQqRQhqMk3p0bbcy4+EICR19F8UzgUfqWITwrdIriWQEWzDXIZvsBjxpaE
|
||||
PenJGHMSac7xOU/hdljj6FSpwu03aA0HklCQhwpfNDd+KPR7ntNE1DBEn93/bScb
|
||||
O61K2Igm/AywqweBe9cWRgB7lOXwIA==
|
||||
-----END PRIVATE KEY-----
|
Binary file not shown.
@ -1,7 +0,0 @@
|
||||
image: map_floor_save.pgm
|
||||
mode: trinary
|
||||
resolution: 0.05
|
||||
origin: [-13.7, -5.57, 0]
|
||||
negate: 0
|
||||
occupied_thresh: 0.65
|
||||
free_thresh: 0.25
|
@ -1,7 +0,0 @@
|
||||
image: map_floor_mainb_save_retouched.pgm
|
||||
mode: trinary
|
||||
resolution: 0.05
|
||||
origin: [-66.2, -24.5, 0]
|
||||
negate: 0
|
||||
occupied_thresh: 0.65
|
||||
free_thresh: 0.25
|
@ -1,7 +0,0 @@
|
||||
image: map_floor_mainb_save.pgm
|
||||
mode: trinary
|
||||
resolution: 0.05
|
||||
origin: [-20.9, -7.03, 0]
|
||||
negate: 0
|
||||
occupied_thresh: 0.65
|
||||
free_thresh: 0.25
|
Binary file not shown.
@ -1,7 +0,0 @@
|
||||
image: map_floor_03-10-23.sav.pgm
|
||||
mode: trinary
|
||||
resolution: 0.05
|
||||
origin: [-27.2, -0.0189, 0]
|
||||
negate: 0
|
||||
occupied_thresh: 0.65
|
||||
free_thresh: 0.25
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
@ -1,7 +0,0 @@
|
||||
image: map_floor_mainb_save_retouched.pgm
|
||||
mode: trinary
|
||||
resolution: 0.05
|
||||
origin: [-20.9, -7.03, 0]
|
||||
negate: 0
|
||||
occupied_thresh: 0.65
|
||||
free_thresh: 0.25
|
File diff suppressed because one or more lines are too long
Binary file not shown.
@ -1,7 +0,0 @@
|
||||
image: map_floor_save.pgm
|
||||
mode: trinary
|
||||
resolution: 0.05
|
||||
origin: [-13.7, -5.57, 0]
|
||||
negate: 0
|
||||
occupied_thresh: 0.65
|
||||
free_thresh: 0.25
|
File diff suppressed because one or more lines are too long
@ -1,7 +0,0 @@
|
||||
image: map_openlabday.pgm
|
||||
mode: trinary
|
||||
resolution: 0.05
|
||||
origin: [-13.5, -20.9, 0]
|
||||
negate: 0
|
||||
occupied_thresh: 0.65
|
||||
free_thresh: 0.25
|
File diff suppressed because one or more lines are too long
@ -1,7 +0,0 @@
|
||||
image: map_save_16.10..pgm
|
||||
mode: trinary
|
||||
resolution: 0.05
|
||||
origin: [-25.7, -17, 0]
|
||||
negate: 0
|
||||
occupied_thresh: 0.65
|
||||
free_thresh: 0.25
|
Binary file not shown.
Binary file not shown.
@ -1,71 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
# Function to get the path to the docker-compose.yaml file
|
||||
def get_compose_file_path():
|
||||
path = input("Enter the path to the docker-compose.yaml file (press Enter for current directory): ").strip()
|
||||
return path if path else "docker-compose.yaml"
|
||||
|
||||
# Initialize the path to the docker-compose.yaml file
|
||||
compose_file_path = get_compose_file_path()
|
||||
|
||||
# Define a list to keep track of running services
|
||||
running_services = []
|
||||
|
||||
# Function to check if a service is already running
|
||||
def is_service_running(service_name):
|
||||
return service_name in running_services
|
||||
|
||||
# Function to start a service
|
||||
def start_service(service_name):
|
||||
if not is_service_running(service_name):
|
||||
print(f"Starting {service_name}...")
|
||||
subprocess.run(["docker", "compose", "-f", compose_file_path, "up", "-d", service_name])
|
||||
running_services.append(service_name)
|
||||
else:
|
||||
print(f"{service_name} is already running.")
|
||||
|
||||
# Function to stop a service
|
||||
def stop_service(service_name):
|
||||
if is_service_running(service_name):
|
||||
print(f"Stopping {service_name}...")
|
||||
subprocess.run(["docker", "compose", "-f", compose_file_path, "down", "-v", "--remove-orphans", service_name])
|
||||
running_services.remove(service_name)
|
||||
else:
|
||||
print(f"{service_name} is not running.")
|
||||
|
||||
# Main program
|
||||
if __name__ == "__main__":
|
||||
while True:
|
||||
print("Options:")
|
||||
print("1. Start Controller, Teleop, RSP, Lidar")
|
||||
print("2. Start AMCL and Navigation")
|
||||
print("3. Start Mapping and Navigation")
|
||||
print("4. Stop AMCL and Mapping")
|
||||
print("5. Change docker-compose.yaml file path")
|
||||
print("6. Quit")
|
||||
|
||||
choice = input("Enter your choice: ")
|
||||
|
||||
if choice == "1":
|
||||
start_service("controller")
|
||||
start_service("teleop")
|
||||
start_service("rsp")
|
||||
start_service("lidar")
|
||||
elif choice == "2":
|
||||
start_service("amcl")
|
||||
start_service("navigation")
|
||||
elif choice == "3":
|
||||
start_service("mapping")
|
||||
start_service("navigation")
|
||||
elif choice == "4":
|
||||
stop_service("amcl")
|
||||
stop_service("mapping")
|
||||
elif choice == "5":
|
||||
compose_file_path = get_compose_file_path()
|
||||
elif choice == "6":
|
||||
break
|
||||
else:
|
||||
print("Invalid choice. Please try again.")
|
70
rviz2.yaml
70
rviz2.yaml
@ -1,70 +0,0 @@
|
||||
networks:
|
||||
pc: # config for this pc. Only required for running the containers locally on the pc. For instance rviz2 or guis with gazebo.
|
||||
driver: macvlan
|
||||
driver_opts:
|
||||
parent: wlx00e04c5513fc # pc network interface: here my wifi card. Can be found with ifconfig.
|
||||
ipam:
|
||||
config:
|
||||
- subnet: 192.168.0.0/24
|
||||
gateway: 192.168.0.1
|
||||
ip_range: 192.168.0.200/25
|
||||
aux_addresses:
|
||||
net-address: 192.168.0.100 #? what is this for --> to exclude addresses from buing used.
|
||||
|
||||
services:
|
||||
# rviz2
|
||||
rviz2:
|
||||
image: ghcr.io/bjoernellens1/ros2_rmp/rmp:guis
|
||||
# command: >
|
||||
# ros2 launch cps_rmp220_support robot_rviz2.launch.py
|
||||
command: >
|
||||
ros2 launch cps_rmp220_support rviz.launch.py
|
||||
# Interactive shell
|
||||
stdin_open: true
|
||||
tty: true
|
||||
# Networking and IPC for ROS 2
|
||||
network_mode: host
|
||||
ipc: host
|
||||
# Needed to display graphical applications
|
||||
privileged: true
|
||||
environment:
|
||||
# Allows graphical programs in the container.
|
||||
- DISPLAY=${DISPLAY}
|
||||
- QT_X11_NO_MITSHM=1
|
||||
- NVIDIA_DRIVER_CAPABILITIES=all
|
||||
- ROS_DOMAIN_ID=5
|
||||
- RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
|
||||
volumes:
|
||||
# Allows graphical programs in the container.
|
||||
- /tmp/.X11-unix:/tmp/.X11-unix:rw
|
||||
- ${XAUTHORITY:-$HOME/.Xauthority}:/root/.Xauthority
|
||||
# networks: # not using bridging anymore, instead try using all services on macvlan? let's see... shoudl word for now. Bridging does definitely not work because multicast is not supported here.
|
||||
# pc:
|
||||
# ipv4_address: 192.168.0.201 #here need to set fixed ip to avoid collissions with other containers on robot.
|
||||
|
||||
rviz2-depthai:
|
||||
image: luxonis/depthai-ros:humble-latest
|
||||
command: >
|
||||
ros2 launch cps_rmp220_support rviz.launch.py
|
||||
# Interactive shell
|
||||
stdin_open: true
|
||||
tty: true
|
||||
# Networking and IPC for ROS 2
|
||||
network_mode: host
|
||||
ipc: host
|
||||
# Needed to display graphical applications
|
||||
privileged: true
|
||||
environment:
|
||||
# Allows graphical programs in the container.
|
||||
- DISPLAY=${DISPLAY}
|
||||
- QT_X11_NO_MITSHM=1
|
||||
- NVIDIA_DRIVER_CAPABILITIES=all
|
||||
- ROS_DOMAIN_ID=5
|
||||
- RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
|
||||
volumes:
|
||||
# Allows graphical programs in the container.
|
||||
- /tmp/.X11-unix:/tmp/.X11-unix:rw
|
||||
- ${XAUTHORITY:-$HOME/.Xauthority}:/root/.Xauthority
|
||||
# networks: # not using bridging anymore, instead try using all services on macvlan? let's see... shoudl word for now. Bridging does definitely not work because multicast is not supported here.
|
||||
# pc:
|
||||
# ipv4_address: 192.168.0.201 #here need to set fixed ip to avoid collissions with other containers on robot.
|
@ -1,47 +0,0 @@
|
||||
{
|
||||
"version": "1.1",
|
||||
"engine": "linux|Transformer|1.40.6|1.40.6|latest",
|
||||
"containerized": false,
|
||||
"host_distro": {
|
||||
"name": "NixOS",
|
||||
"version": "23.11",
|
||||
"display_name": "NixOS 23.11 (Tapir)"
|
||||
},
|
||||
"type": "build",
|
||||
"state": "error",
|
||||
"target_reference": "ubuntu",
|
||||
"system": {
|
||||
"type": "",
|
||||
"release": "",
|
||||
"distro": {
|
||||
"name": "",
|
||||
"version": "",
|
||||
"display_name": ""
|
||||
}
|
||||
},
|
||||
"source_image": {
|
||||
"identity": {
|
||||
"id": ""
|
||||
},
|
||||
"size": 0,
|
||||
"size_human": "",
|
||||
"create_time": "",
|
||||
"docker_version": "",
|
||||
"architecture": "",
|
||||
"container_entry": {
|
||||
"exe_path": ""
|
||||
}
|
||||
},
|
||||
"minified_image_size": 0,
|
||||
"minified_image_size_human": "",
|
||||
"minified_image": "",
|
||||
"minified_image_has_data": false,
|
||||
"minified_by": 0,
|
||||
"artifact_location": "",
|
||||
"container_report_name": "",
|
||||
"seccomp_profile_name": "",
|
||||
"apparmor_profile_name": "",
|
||||
"image_stack": null,
|
||||
"image_created": false,
|
||||
"image_build_engine": ""
|
||||
}
|
@ -1,52 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import subprocess
|
||||
|
||||
# Define the stacks
|
||||
stack1 = ["controller", "teleop", "rsp", "lidar"]
|
||||
stack2 = stack1 + ["mapping", "navigation"]
|
||||
stack3 = stack1 + ["amcl", "navigation"]
|
||||
|
||||
# Function to start a stack
|
||||
def start_stack(stack):
|
||||
print(f"Starting {', '.join(stack)}...")
|
||||
subprocess.run(["docker", "compose", "up", "-d"] + stack)
|
||||
|
||||
# Function to stop a stack
|
||||
def stop_stack(stack):
|
||||
print(f"Stopping {', '.join(stack)}...")
|
||||
subprocess.run(["docker", "compose", "down", "-v", "--remove-orphans"] + stack)
|
||||
|
||||
# Main program
|
||||
if __name__ == "__main__":
|
||||
while True:
|
||||
print("Options:")
|
||||
print("1. Start Stack 1")
|
||||
print("2. Start Stack 2")
|
||||
print("3. Start Stack 3")
|
||||
print("4. Stop Stack 1")
|
||||
print("5. Stop Stack 2")
|
||||
print("6. Stop Stack 3")
|
||||
print("7. Quit")
|
||||
|
||||
choice = input("Enter your choice: ")
|
||||
|
||||
if choice == "1":
|
||||
stop_stack(stack2 + stack3) # Stop stack2 and stack3 to avoid interference
|
||||
start_stack(stack1)
|
||||
elif choice == "2":
|
||||
stop_stack(stack1 + stack3) # Stop stack1 and stack3 to avoid interference
|
||||
start_stack(stack2)
|
||||
elif choice == "3":
|
||||
stop_stack(stack1 + stack2) # Stop stack1 and stack2 to avoid interference
|
||||
start_stack(stack3)
|
||||
elif choice == "4":
|
||||
stop_stack(stack1)
|
||||
elif choice == "5":
|
||||
stop_stack(stack2)
|
||||
elif choice == "6":
|
||||
stop_stack(stack3)
|
||||
elif choice == "7":
|
||||
break
|
||||
else:
|
||||
print("Invalid choice. Please try again.")
|
@ -1 +0,0 @@
|
||||
docker compose up -d controller teleop rsp lidar mapping navigation
|
@ -1 +0,0 @@
|
||||
docker compose up -d controller teleop rsp lidar amcl navigation
|
@ -1 +0,0 @@
|
||||
docker compose up -d controller teleop rsp lidar
|
133
test.rviz
133
test.rviz
@ -1,133 +0,0 @@
|
||||
Panels:
|
||||
- Class: rviz_common/Displays
|
||||
Help Height: 85
|
||||
Name: Displays
|
||||
Property Tree Widget:
|
||||
Expanded:
|
||||
- /Global Options1
|
||||
- /Status1
|
||||
Splitter Ratio: 0.5
|
||||
Tree Height: 528
|
||||
- Class: rviz_common/Selection
|
||||
Name: Selection
|
||||
- Class: rviz_common/Tool Properties
|
||||
Expanded:
|
||||
- /2D Goal Pose1
|
||||
- /Publish Point1
|
||||
Name: Tool Properties
|
||||
Splitter Ratio: 0.5886790156364441
|
||||
- Class: rviz_common/Views
|
||||
Expanded:
|
||||
- /Current View1
|
||||
Name: Views
|
||||
Splitter Ratio: 0.5
|
||||
- Class: rviz_common/Time
|
||||
Experimental: false
|
||||
Name: Time
|
||||
SyncMode: 0
|
||||
SyncSource: ""
|
||||
Visualization Manager:
|
||||
Class: ""
|
||||
Displays:
|
||||
- Alpha: 0.5
|
||||
Cell Size: 1
|
||||
Class: rviz_default_plugins/Grid
|
||||
Color: 160; 160; 164
|
||||
Enabled: true
|
||||
Line Style:
|
||||
Line Width: 0.029999999329447746
|
||||
Value: Lines
|
||||
Name: Grid
|
||||
Normal Cell Count: 0
|
||||
Offset:
|
||||
X: 0
|
||||
Y: 0
|
||||
Z: 0
|
||||
Plane: XY
|
||||
Plane Cell Count: 10
|
||||
Reference Frame: <Fixed Frame>
|
||||
Value: true
|
||||
Enabled: true
|
||||
Global Options:
|
||||
Background Color: 48; 48; 48
|
||||
Fixed Frame: map
|
||||
Frame Rate: 30
|
||||
Name: root
|
||||
Tools:
|
||||
- Class: rviz_default_plugins/Interact
|
||||
Hide Inactive Objects: true
|
||||
- Class: rviz_default_plugins/MoveCamera
|
||||
- Class: rviz_default_plugins/Select
|
||||
- Class: rviz_default_plugins/FocusCamera
|
||||
- Class: rviz_default_plugins/Measure
|
||||
Line color: 128; 128; 0
|
||||
- Class: rviz_default_plugins/SetInitialPose
|
||||
Covariance x: 0.25
|
||||
Covariance y: 0.25
|
||||
Covariance yaw: 0.06853891909122467
|
||||
Topic:
|
||||
Depth: 5
|
||||
Durability Policy: Volatile
|
||||
History Policy: Keep Last
|
||||
Reliability Policy: Reliable
|
||||
Value: /initialpose
|
||||
- Class: rviz_default_plugins/SetGoal
|
||||
Topic:
|
||||
Depth: 5
|
||||
Durability Policy: Volatile
|
||||
History Policy: Keep Last
|
||||
Reliability Policy: Reliable
|
||||
Value: /goal_pose
|
||||
- Class: rviz_default_plugins/PublishPoint
|
||||
Single click: true
|
||||
Topic:
|
||||
Depth: 5
|
||||
Durability Policy: Volatile
|
||||
History Policy: Keep Last
|
||||
Reliability Policy: Reliable
|
||||
Value: /clicked_point
|
||||
Transformation:
|
||||
Current:
|
||||
Class: rviz_default_plugins/TF
|
||||
Value: true
|
||||
Views:
|
||||
Current:
|
||||
Class: rviz_default_plugins/Orbit
|
||||
Distance: 10
|
||||
Enable Stereo Rendering:
|
||||
Stereo Eye Separation: 0.05999999865889549
|
||||
Stereo Focal Distance: 1
|
||||
Swap Stereo Eyes: false
|
||||
Value: false
|
||||
Focal Point:
|
||||
X: 0
|
||||
Y: 0
|
||||
Z: 0
|
||||
Focal Shape Fixed Size: true
|
||||
Focal Shape Size: 0.05000000074505806
|
||||
Invert Z Axis: false
|
||||
Name: Current View
|
||||
Near Clip Distance: 0.009999999776482582
|
||||
Pitch: 0.785398006439209
|
||||
Target Frame: <Fixed Frame>
|
||||
Value: Orbit (rviz)
|
||||
Yaw: 0.785398006439209
|
||||
Saved: ~
|
||||
Window Geometry:
|
||||
Displays:
|
||||
collapsed: false
|
||||
Height: 845
|
||||
Hide Left Dock: false
|
||||
Hide Right Dock: false
|
||||
QMainWindow State: 000000ff00000000fd00000004000000000000015a000002a6fc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000006b00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c0061007900730100000044000002a6000000eb00fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f000002a6fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a005600690065007700730100000044000002a6000000b900fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004af0000003efc0100000002fb0000000800540069006d00650100000000000004af000002d200fffffffb0000000800540069006d0065010000000000000450000000000000000000000238000002a600000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
|
||||
Selection:
|
||||
collapsed: false
|
||||
Time:
|
||||
collapsed: false
|
||||
Tool Properties:
|
||||
collapsed: false
|
||||
Views:
|
||||
collapsed: false
|
||||
Width: 1199
|
||||
X: 199
|
||||
Y: 115
|
Loading…
Reference in New Issue
Block a user