-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathros2.def
More file actions
86 lines (60 loc) · 2.23 KB
/
Copy pathros2.def
File metadata and controls
86 lines (60 loc) · 2.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
##
## RoboCup / LASR-Base Container for ROS2
## Based on TIAGo PAL Humble container
##
Bootstrap: localimage
From: /home/rexy/tiago_humble_os.sif
%post -c /bin/bash
export ROS_DISTRO=humble
# Install deps
apt update
export DEBIAN_FRONTEND=noninteractive
apt upgrade -y
apt install -y ros-${ROS_DISTRO}-example-interfaces
mkdir -p /opt/robocup_ws/src
cd /opt/robocup_ws/src
# Clone SMACH, ros2-numpy and ament-virtualenv
# Dependencies for ament-virtualenv (TODO verify)
## apt update
apt install -y python3-venv # missing dependency?
python3 -m pip install --upgrade virtualenv # missing dependency?
cd /opt/robocup_ws/src
git clone https://github.com/locusrobotics/ament_virtualenv.git
cd /opt/robocup_ws/src
git clone https://github.com/Box-Robotics/ros2_numpy.git
cd /opt/robocup_ws/src
git clone https://github.com/uleroboticsgroup/yasmin.git
cd /opt/robocup_ws
rosdep init || true
rosdep update
rosdep install --from-paths src --ignore-src -r -y
cd /opt/robocup_ws/src
# Install Ollama
apt install -y zstd
sh -c "$(curl -fsSL https://ollama.com/install.sh)"
# rosbridge for tablet UI WebSocket communication
apt install -y ros-${ROS_DISTRO}-rosbridge-suite
# Node.js 18 for robot_ui Next.js frontend
curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
apt install -y nodejs
# Build robocup ws
source /opt/ros/$ROS_DISTRO/setup.bash
source /opt/pal/alum/setup.bash
cd /opt/robocup_ws
colcon build
source install/setup.bash
echo "source /opt/robocup_ws/install/setup.bash" >> /opt/env.sh
# Install and build the robot_ui Next.js frontend
cd /opt/robocup_ws/install/robot_ui/share/robot_ui/robot-interface
npm install
npm run build
echo "echo 'I am in Robocup ROS2 Tiago container! (Built on $(date +'%d/%m/%Y %H:%M %Z'))'" >> /opt/env.sh
####
%help
Apptainer/Singularity image for simulating TIAGo in ROS2 Humble.
Usage:
apptainer run --nv --nvccli <terminator>
Suffixing with "terminator" launches terminator inside the container.
Useful built-in commands:
- terminator - Starts a terminator instance from inside the container, so all splits will already have loaded the container.
In order to load your own aliases, you can create a file called .tiagorc in $HOME (so in $HOME/.tiagorc) and this will be loaded when you load the container.