Alles verbessert

This commit is contained in:
2026-05-21 19:30:33 +02:00
parent 5dccc8985e
commit 33b71416ff
19 changed files with 855 additions and 229 deletions
+5 -7
View File
@@ -10,15 +10,12 @@ RUN apt-get update && \
# Install additional ros packages
RUN apt-get update && apt-get install ros-melodic-rosbridge-server ros-melodic-joy -y
RUN pip install adafruit-pca9685
RUN apt-get update && apt-get install python-smbus -y
RUN pip install adafruit-pureio
RUN pip install Adafruit-GPIO==1.0.3 --no-deps
RUN pip install Adafruit-PCA9685==1.0.1 --no-deps
# Install packages for web application
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash -
RUN apt-get update && \
apt-get install nodejs -y
RUN npm install http-server -g
# Install packages for camera use
RUN apt-get update && \
apt-get install ros-melodic-web-video-server ros-melodic-usb-cam -y
@@ -33,4 +30,5 @@ RUN mkdir -p $EXOMY_WS/src
WORKDIR /root
COPY ./entrypoint.sh /
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
+40 -5
View File
@@ -1,19 +1,55 @@
#!/bin/bash
set -eo pipefail
cleanup() {
for pid_var in HTTP_PID ROSMASTER_PID ROSBRIDGE_PID ROSAPI_PID ROBOT_PID MOTOR_PID JOYSTICK_PID JOY_PID; do
if [[ -n "${!pid_var:-}" ]]; then
kill "${!pid_var}" 2>/dev/null || true
fi
done
wait || true
}
if [[ $1 == "config" ]]
then
cd /root/exomy_ws/src/exomy/scripts
bash
elif [[ $1 == "autostart" ]]
then
trap cleanup EXIT INT TERM
source /opt/ros/melodic/setup.bash
cd /root/exomy_ws
catkin_make
http-server src/exomy/gui -p 8000 &
export ROS_MASTER_URI=http://localhost:11311
source devel/setup.bash
roslaunch exomy exomy.launch
bash
cd src/exomy/gui
python -m SimpleHTTPServer 8000 &
HTTP_PID=$!
cd /root/exomy_ws
rosmaster --core -p 11311 -w 3 > /tmp/rosmaster.log 2>&1 &
ROSMASTER_PID=$!
sleep 3
rosparam load /root/exomy_ws/src/exomy/config/exomy.yaml
rosparam set /controller logitech-F710
/opt/ros/melodic/lib/rosbridge_server/rosbridge_websocket > /tmp/rosbridge.log 2>&1 &
ROSBRIDGE_PID=$!
/opt/ros/melodic/lib/rosapi/rosapi_node > /tmp/rosapi.log 2>&1 &
ROSAPI_PID=$!
python /root/exomy_ws/src/exomy/src/f710_joy_node.py > /tmp/joy_node.log 2>&1 &
JOY_PID=$!
python /root/exomy_ws/src/exomy/src/robot_node.py > /tmp/robot_node.log 2>&1 &
ROBOT_PID=$!
python /root/exomy_ws/src/exomy/src/motor_node.py > /tmp/motor_node.log 2>&1 &
MOTOR_PID=$!
python /root/exomy_ws/src/exomy/src/joystick_parser_node.py > /tmp/joystick_parser.log 2>&1 &
JOYSTICK_PID=$!
wait -n "$HTTP_PID" "$ROSMASTER_PID" "$ROSBRIDGE_PID" "$ROSAPI_PID" "$ROBOT_PID" "$MOTOR_PID" "$JOYSTICK_PID" "$JOY_PID"
exit 1
elif [[ $1 == "devel" ]]
then
cd /root/exomy_ws
@@ -24,4 +60,3 @@ then
else
bash
fi