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

Merge Foxy devel to Main #4

Open
wants to merge 224 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
224 commits
Select commit Hold shift + click to select a range
f9ba5b3
Update racer.repos
WinstonHChou Apr 9, 2024
5400fc9
add livox_pointcloud_to_laserscan_launch.py
WinstonHChou Apr 9, 2024
510ff4d
Update Makefile
WinstonHChou Apr 10, 2024
123bf0e
Update Makefile
WinstonHChou Apr 10, 2024
d5a276f
Update racer.repos
WinstonHChou Apr 14, 2024
a043d08
Update racer.repos
WinstonHChou Apr 14, 2024
87bb647
add rviz to basestation_launch
WinstonHChou Apr 14, 2024
62012ff
Add files via upload
WinstonHChou Apr 14, 2024
031c454
Update package.xml
WinstonHChou Apr 14, 2024
36c98c5
Update CMakeLists.txt
WinstonHChou Apr 14, 2024
c6333f2
add yaml files to param
WinstonHChou Apr 14, 2024
f777c60
add launch files to launch
WinstonHChou Apr 14, 2024
81809ae
Update joy.launch.py
WinstonHChou Apr 14, 2024
2930240
Update joy.launch.py
WinstonHChou Apr 14, 2024
0b90f03
Update joy.param.yaml
WinstonHChou Apr 14, 2024
3238b23
Update racer.repos
WinstonHChou Apr 14, 2024
28e204e
Create lidar_utils.repos
WinstonHChou Apr 14, 2024
7eb796f
Update all_components.launch.py
WinstonHChou Apr 14, 2024
452a077
add support to all_nodes.launch.py, add support to launch livox_MID36…
WinstonHChou Apr 14, 2024
d645012
add support to pointcloud_to_laserscan
WinstonHChou Apr 14, 2024
4321664
minor fix
WinstonHChou Apr 14, 2024
7be7f77
minor fix
WinstonHChou Apr 15, 2024
54f7121
add bash script source_ros2.sh
Apr 15, 2024
f11f118
Update all_components.launch.py
WinstonHChou Apr 15, 2024
7905631
Update all_nodes.launch.py
WinstonHChou Apr 15, 2024
e81b5ca
add support to rmw-cyclonedds
Apr 16, 2024
d9bb5c4
minor fix for livox_pointcloud_to_laserscan.launch.py
Apr 16, 2024
6dfaaed
minor fix
Apr 17, 2024
13ea01b
add support to rosbride-suite
Apr 17, 2024
a8a5e0f
build_ros2_pkg() auto-complete basestation_launch, vesc_odom
Apr 19, 2024
9a12a07
start working on Dockerfile.f1tenth_ros
Apr 19, 2024
2ff5ef8
Create publish.yml
WinstonHChou Apr 19, 2024
918ab73
workflows added
WinstonHChou Apr 19, 2024
8eb17f3
workflows fixing
WinstonHChou Apr 19, 2024
ed7fac8
workflows update to node20
WinstonHChou Apr 19, 2024
01ee3db
update workflows
WinstonHChou Apr 19, 2024
be881e1
workflow fixing
WinstonHChou Apr 19, 2024
9746bb1
workflow fixing
WinstonHChou Apr 19, 2024
dcff23a
workflow fixing
WinstonHChou Apr 19, 2024
cf0f76d
workflow fixing
WinstonHChou Apr 19, 2024
6ee3eef
workflow fixing
WinstonHChou Apr 19, 2024
00014db
workflow fixing
WinstonHChou Apr 19, 2024
e28bee6
docker build cloud testing
WinstonHChou Apr 20, 2024
fdfb515
failed testing
WinstonHChou Apr 20, 2024
8ed1193
minor fix
WinstonHChou Apr 20, 2024
fc759e1
workflows: activate push -> release
WinstonHChou Apr 20, 2024
89632be
fix auto-complete flag in source_ros2.sh
Apr 21, 2024
7b9520a
add support to /odom
Apr 21, 2024
df3d571
add slam-toolbox support
Apr 23, 2024
4c433e9
Update README.md
WinstonHChou Apr 24, 2024
e38b560
Update docker.sh
WinstonHChou Apr 24, 2024
50771ad
urdf fixed
WinstonHChou Apr 26, 2024
9be18d0
Update Dockerfile.f1tenth_ros
WinstonHChou Apr 26, 2024
b1652b4
Update Dockerfile.f1tenth_ros
WinstonHChou Apr 26, 2024
bd71dd8
lidar inverted as default
WinstonHChou May 3, 2024
5697ce0
create planner pkg, move slam-toolbox launch/yaml files to `planner` …
WinstonHChou May 3, 2024
dbc20fb
create `sensors` pkg, move livox-lidar related to `sensors` pkg
WinstonHChou May 3, 2024
e958f29
sorting out files, most of the settings can be adjusted in yaml files
WinstonHChou May 4, 2024
677cfb0
create pkg, move slam-toolbox to pkg
May 4, 2024
02cdabb
move robot_localization to state_estimation pkg
May 4, 2024
0b66c59
map_server.launch.py added to state_estimation pkg
May 4, 2024
98ffffd
add amcl_server localization support
May 4, 2024
154b458
minor fix
WinstonHChou May 5, 2024
bf1f721
minor fix, regarding map_server
WinstonHChou May 6, 2024
990bb97
WIP: planner pkg (please do not build)
May 6, 2024
9671352
WIP: `controller/`
May 6, 2024
f834467
fixing map_server, amcl_server
WinstonHChou May 7, 2024
922f731
add support to `nav2_map_server`, `nav2_amcl`
WinstonHChou May 7, 2024
1581c08
WIP: `planner` pkg, initial working, sort out avalible nav2 plugins f…
May 7, 2024
f9adcb8
WIP: `planner` pkg, change to `smac_planner` plugin, add `Groot` supp…
WinstonHChou May 8, 2024
fa6c97f
WIP: `planner` pkg, add `stvl_layer` support to `local costmap`
WinstonHChou May 10, 2024
15ac375
WIP: `planner` pkg, `global costmap` fine-tuning
WinstonHChou May 10, 2024
1662d0a
minor fix
WinstonHChou May 10, 2024
296e64e
WIP: `planner` pkg, npvl added to `global costmap`, path planning works
WinstonHChou May 11, 2024
a49a9c1
add `twist_to_ackermann` pkg, able to convert `/cmd_vel` to `/drive`
May 11, 2024
0c2a1ef
minor fix, `speed` from `/cmd_vel` is too slow, finding a way to adju…
WinstonHChou May 11, 2024
9a2eb27
update ackermann_mux priorities
WinstonHChou May 12, 2024
a281da3
WIP: `planner` pkg, yaml_filename changed to: `controller_server.yaml`
WinstonHChou May 12, 2024
6b98ea3
fixing bt_nav and twist_to_ack
WinstonHChou May 12, 2024
9842e55
fixes `AngleToServo` for vesc driver
WinstonHChou May 13, 2024
57fd5b4
add new param of `default_steering_direction` in `tta` pkg
WinstonHChou May 13, 2024
7628090
add support to dockerfile for sim in x86, might need a smaller base i…
WinstonHChou May 14, 2024
0653f09
WIP: `foxy_addon_behavior_tree` pkg (do not build)
WinstonHChou May 16, 2024
d6b1a88
WIP: `planner` pkg, added static, dynamic follow behavior
WinstonHChou May 16, 2024
9849611
moved `planner` pkg to `path_planning/planner/`
WinstonHChou May 17, 2024
4d28f62
minor update, prepare for `gb_optimizer`
WinstonHChou May 17, 2024
a7e5664
WIP: `gb_optimizer_nav2` pkg, add `f110_msgs` pkg for ros 2
May 17, 2024
1081088
minor fix on structure
May 17, 2024
7b01278
a large update regarding `gb_optimizer_nav2` building venv
May 17, 2024
a01eb9f
remove gb_opt_env from git, instead, uses a temporary venv when build…
May 17, 2024
b8c06b9
minor undo, instead of moving gb_optimizer from ros, move the ros2 br…
May 18, 2024
e5e655f
WIP: `global planner` pkg, it's a little messy
May 18, 2024
8d34021
fixing global trajectory publisher
May 19, 2024
5def3cf
remove `gb_optimizer_nav2`
May 19, 2024
63ed0d3
fixes dependency issues with `global_planner` pkg
WinstonHChou May 19, 2024
7ad2451
WIP: `global_planner` pkg, add support to both `*.pgm` and `*.png` ma…
WinstonHChou May 19, 2024
ea9b69a
fixes dependencies to `global_planner` entirely
WinstonHChou May 19, 2024
1d2359d
WIP: `global_planner` pkg, added `global_path_publisher.launch.py`
WinstonHChou May 19, 2024
96ea48d
minor fix
WinstonHChou May 19, 2024
c1c1881
add a parent folder `utilities/` to `f110_msgs` pkg
WinstonHChou May 19, 2024
fbe384e
update rviz configuration
WinstonHChou May 19, 2024
34f2162
minor fix, starts working on ekf
WinstonHChou May 21, 2024
4dfb44b
minor fix, restructure tf tree: `odom` -> `base_footprint` -> `base_l…
WinstonHChou May 22, 2024
73d096a
WIP: `state_estimation` pkg, capable of using ekf node
WinstonHChou May 23, 2024
fe2618c
update dockerfiles
WinstonHChou May 23, 2024
b5963a6
minor fix
WinstonHChou May 24, 2024
0d42de2
minor fix
WinstonHChou May 24, 2024
084205b
minor fix on GitHub workflow
WinstonHChou May 24, 2024
7e386b1
minor fix
WinstonHChou May 24, 2024
f907783
minor fix
WinstonHChou May 24, 2024
e641f1a
fix typo
WinstonHChou May 24, 2024
1b8d6f4
`Dockerfile.f1tenth_x86` Test Build
WinstonHChou May 24, 2024
f1816a3
dockerfile `global_planner` dependencies fix
WinstonHChou May 24, 2024
0b84ec2
update `publish.yml`, officially rename branch `livox_devel` to `foxy…
WinstonHChou May 24, 2024
c2dff2f
minor test after changing branch name
WinstonHChou May 24, 2024
87b68b7
add $ROS_DISTRO to package name
WinstonHChou May 24, 2024
1cb4944
add --no-install-recommends
WinstonHChou May 24, 2024
a998838
put $ROS_DISTRO to image tags, fix main repo in docker images
WinstonHChou May 24, 2024
731ac72
minor fix on dockerfiles
WinstonHChou May 24, 2024
5592f8e
fix a bit for custom terminal setting in bashrc
WinstonHChou May 24, 2024
7fed695
support `r2fo_laser_odometry`
WinstonHChou May 25, 2024
5568d6b
minor update
WinstonHChou May 25, 2024
ae03906
move `sensors` pkg to `src/sensors/`, move `state_estimation` pkg to …
WinstonHChou May 25, 2024
2bef4c5
WIP: `ekf.launch.py`
WinstonHChou May 25, 2024
9258212
fixes dockerfiles
WinstonHChou May 25, 2024
1dfeb24
minor fix
WinstonHChou May 25, 2024
14687fc
Add notes from Winston
chenyenru May 25, 2024
b1b9349
updated docker_sim.sh
chenyenru May 25, 2024
e407cde
added commens of nav2 on node_config.yaml
chenyenru May 25, 2024
ee0a588
Merge branch 'foxy_devel' of github.com:Triton-AI/robocar into foxy_d…
chenyenru May 25, 2024
e8b93fb
WIP: `state_estimation` pkg, able to manually select the sensor sour…
WinstonHChou May 26, 2024
b2dbba1
Remapping topic names: `/scanner/scan` -> `/ego_racecar/scan`, `/robo…
WinstonHChou May 26, 2024
031ab81
add map `lab_0525`
WinstonHChou May 26, 2024
44efb0e
Remapping topic names: `/drive` -> `/ego_racecar/drive`, `/teleop` ->…
WinstonHChou May 26, 2024
9ce6de6
add `apt-get install xauth` to dockerfiles
WinstonHChou May 27, 2024
c30c105
Merge branch 'foxy_devel' of https://github.com/Triton-AI/robocar int…
WinstonHChou May 27, 2024
767a2c2
WIP: work on adding `nav2_waypoint_follower` support
WinstonHChou May 27, 2024
4967d19
switch extension for urdf file, `*.urdf` to `*.xacro`
WinstonHChou May 28, 2024
163aebd
rename `ucsd_racercar` to `ucsd_racecar`
WinstonHChou May 28, 2024
4385cb1
`node_pkg_locations`: `odom_ekf` renamed to `ekf`
WinstonHChou May 28, 2024
451cc92
minor fix r2fo
WinstonHChou May 28, 2024
ebb8760
update gitignore
WinstonHChou May 29, 2024
4e23c23
create new `maps/self_test/` directory to save local repo map data
WinstonHChou May 29, 2024
c7e10c4
update `.gitignore`
WinstonHChou May 29, 2024
fa6cf91
Change `f1tenth_gym`, `f1tenth_gym_ros` using Triton-AI forked repos,…
WinstonHChou May 29, 2024
b842379
WIP: added `sim.launch.py`, `sim.yaml` to `basestation_launch` pkg (r…
WinstonHChou May 29, 2024
fdb9578
add `nav2_msgs`, `cartographer_ros_msgs` dependencies to `src/state_e…
WinstonHChou May 29, 2024
b14b42a
update `.gitignore` to meet PR #4
WinstonHChou May 29, 2024
1d64f8d
Modified `twist_to_ackermann` pkg to meet PR #4
WinstonHChou May 29, 2024
331091e
update `joy.launch.py` to meet PR #4
WinstonHChou May 29, 2024
92db768
add ForzaETH reference to `global_planner` pkg to meet PR #4
WinstonHChou May 29, 2024
486bbd9
update urdf file, add `ego_racecar/` as prefix every frame, except `o…
WinstonHChou May 30, 2024
e4465a3
other config files that contains `base_link` or `base_footprint`, whi…
WinstonHChou May 30, 2024
4b759f2
change the format of scan topic in `pointcloud_to_laserscan_launch.py…
WinstonHChou May 30, 2024
9e2fbc9
WIP: simulator devel, add `sim.launch.py` and `sim.yaml` to `basestat…
WinstonHChou May 30, 2024
be5b4c9
fix typo in `Dockerfile.f1tenth_x86`
WinstonHChou May 30, 2024
5a84868
fix source_ros2 while docker build
WinstonHChou May 30, 2024
d90cad7
Update `Dockerfile.f1tenth_arm`, split x86 and arm arch's building wo…
WinstonHChou Jun 1, 2024
0c3fa41
update arm arch workflow
WinstonHChou Jun 1, 2024
d1544c9
update arm arch workflow
WinstonHChou Jun 1, 2024
681a2d1
update workflows triggers
WinstonHChou Jun 3, 2024
196c2f5
update workflows triggers, add fix to arm dockerfile
WinstonHChou Jun 3, 2024
85a07e7
typo of where to put the fix to arm dockerfile
WinstonHChou Jun 3, 2024
17dbf1a
Update `dynamic_follow_behavior.xml`
WinstonHChou Jun 4, 2024
c464c25
add a parent dir `behavior_trees/` to behavior tree files in `planner…
WinstonHChou Jun 4, 2024
011465b
add waypoint_detection.py to `planner` pkg, serving as an interface b…
WinstonHChou Jun 5, 2024
8f85457
add `global_waypoints_detection.launch.py` and `global_wpnts_detectio…
WinstonHChou Jun 5, 2024
3463744
arm dockerfile update, using `dustynv/opencv:r35.4.1` as base image
WinstonHChou Jun 6, 2024
4a4aac7
comment out `FROM cv2 as dl_gpu` in arm dockerfile
WinstonHChou Jun 6, 2024
2ee7ccd
comment out `FROM dl_gpu as utils`, `FROM dl_gpu as utils` in arm doc…
WinstonHChou Jun 6, 2024
73405e7
fix missing dependencies for arm docker image to install tensorflow
WinstonHChou Jun 6, 2024
e25a400
change `libhdf5-100` to `libhdf5-103` in arm dockerfile
WinstonHChou Jun 6, 2024
841a635
add install `libopenblas-dev` to arm dockerfile
WinstonHChou Jun 6, 2024
eb0cdf1
add `&& rm -rf /var/lib/apt/lists/* \ && apt-get clean` to dockerfiles
WinstonHChou Jun 6, 2024
0d3584d
add `source /opt/ros/foxy/setup.bash` before `rosdep init` in arm doc…
WinstonHChou Jun 6, 2024
97c47ac
comment `source /opt/ros/foxy/setup.bash && \
WinstonHChou Jun 6, 2024
3c9ccc2
change base image to `dustynv/l4t-ml:r35.4.1` in arm dockerfile
WinstonHChou Jun 6, 2024
d4c3cc3
change base image to `dustynv/opencv:r35.4.1` in arm dockerfile, `l4t…
WinstonHChou Jun 6, 2024
a4acc5a
add free disk space to arm workflow
WinstonHChou Jun 6, 2024
d29d5b3
add ARG `ROS_DISTRO` to arm dockerfile
WinstonHChou Jun 7, 2024
57e65c8
add ARG `BRANCH_NAME` to arm dockerfile
WinstonHChou Jun 7, 2024
6979a03
add ` --fix-missing` after `apt-get update`, when installing ros2 rel…
WinstonHChou Jun 7, 2024
b00b3af
change base image to `dustynv/ros:foxy-desktop-l4t-r35.4.1` in arm do…
WinstonHChou Jun 7, 2024
130a9a5
change back to `dustynv/opencv:r35.4.1`, note that ros in dustynv ima…
WinstonHChou Jun 7, 2024
8845895
add `apt-mark hold libopencv*
WinstonHChou Jun 7, 2024
4159929
add `apt-mark hold manual *opencv*` to try prevent ROS install opencv
WinstonHChou Jun 7, 2024
b98b915
add dummy opencv pkg
WinstonHChou Jul 21, 2024
c087f9e
comment `apt-get -y dist-upgrade` in dockerfile arm
WinstonHChou Jul 21, 2024
5deed3a
remove `make sim` in dockerfile arm
WinstonHChou Jul 25, 2024
566064a
add `source /opt/ros/$ROS_DISTRO/setup.bash && \
WinstonHChou Jul 25, 2024
894ea8c
moved `sensors` and `state_estimation` pkg to upper level of directories
WinstonHChou Oct 6, 2024
98c5003
delete `global_planner` , and move `planner` pkg to upper level direc…
WinstonHChou Oct 6, 2024
267228f
delete controller plugin, future plan: create triton-ai nav2 plugins
WinstonHChou Oct 6, 2024
09ca256
update bash scripts along with structure changes
WinstonHChou Oct 6, 2024
88d5cb6
add global_pathpublisher and global_planner launch files to `planner`…
WinstonHChou Oct 6, 2024
686a26f
add `make racer` as defaut step of setup
WinstonHChou Oct 6, 2024
4e4d749
add `custom_msg_MID360_launch.py` for developing fast_lio
WinstonHChou Oct 7, 2024
3b0c60d
add `FAST_LIO` as one of the repos of `racer.repos`
WinstonHChou Oct 7, 2024
cf5f5d9
add fast_lio launch to `sensors` pkg
WinstonHChou Oct 13, 2024
f751d88
add fast_lio node to basestation_launch
WinstonHChou Oct 13, 2024
fb4433a
add execute `custom_msg_MID360_launch.py` in fast_lio launch
WinstonHChou Oct 13, 2024
cd338a2
remap fast_lio topic: '/Odometry' to '/odom_FAST_LIO'
WinstonHChou Oct 13, 2024
4fc271a
add fast_lio to ekf_select
WinstonHChou Oct 13, 2024
4fc3e8e
add `livox_to_pointcloud2` to `lidar_utils.repos` for converting cust…
WinstonHChou Oct 13, 2024
a34c004
for `planner`, set topic of `NP_voxel_layer` to `/livox/points`
WinstonHChou Oct 13, 2024
75891ce
For `livox_to_pointcloud2` usage, remap '/livox2/lidar' to '/livox/li…
WinstonHChou Oct 13, 2024
11c1eb7
modified rviz `Sensors/PointCloud2` topic to `/livox/points`
WinstonHChou Oct 13, 2024
ca92f9b
set `urdf_related_param.yaml` to ucsd-blue profile
WinstonHChou Oct 13, 2024
5d2a750
dev: `cartographer`
WinstonHChou Oct 13, 2024
db7cd3f
feat: Added AutoDrive Simulator Dockerfile and entry point script
chenyenru Oct 9, 2024
67bf247
feat: Merge f1tenth_x86 and AutoDrive Devkit Dockerfiles
chenyenru Oct 9, 2024
dda07e5
refactor: Integrate AutoDrive Devkit support into `f1tenth_x86` image
chenyenru Oct 13, 2024
6519495
feat: Add run script for autodrive simulator in docker container
chenyenru Oct 13, 2024
b76ff3d
feat: Add autodrive devkit launch file in basestation_launch to suppo…
chenyenru Oct 13, 2024
d4bd908
feat: Added ackermann_odom dependency and ackermann_odom_node launch…
chenyenru Oct 14, 2024
3f2e917
[Feature] vcs import ackermann odom in the docker container
chenyenru Oct 27, 2024
5c8aa83
[Refactoring] Temporarily commenting out nav2 nodes in autodrive_sim.…
chenyenru Oct 27, 2024
77bb37d
[BugFix] Update Dockerfile for vcs import and update autodrive.repos …
chenyenru Oct 27, 2024
1071ad9
[BugFix] Resolve missing livox dependency for fast lio
chenyenru Oct 27, 2024
6ad64d4
[Refactoring] Remove autodrive simulator and dockerfile since we'll b…
chenyenru Oct 27, 2024
23a88f9
[Refactor] Remove autodrive_simulator.sh
chenyenru Oct 27, 2024
302743a
update docker_sim.sh script, includes custom xauth path
WinstonHChou Oct 30, 2024
e03ac74
[BugFix] Comment out gdb prefix for ackermann_odom
chenyenru Nov 10, 2024
9cabc8f
[Refactor] Use forked repo of Autodrive_dev_kit
WinstonHChou Nov 12, 2024
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
435 changes: 435 additions & 0 deletions .docker_utils/Dockerfile.f1tenth_arm

Large diffs are not rendered by default.

218 changes: 218 additions & 0 deletions .docker_utils/Dockerfile.f1tenth_x86
Original file line number Diff line number Diff line change
@@ -0,0 +1,218 @@
# --------------------------------------------------------------------------------------------------------------------------------------------------
# Getting Base image (ubuntu 20.04)
# --------------------------------------------------------------------------------------------------------------------------------------------------
FROM ros:foxy
SHELL ["/bin/bash", "-o", "pipefail", "-c"]

ARG WORKSPACE=/home/projects/f1tenth_ws/

WORKDIR /

####################################################################################################################################################
# Install required packages/dependencies for f1tenth_x86
####################################################################################################################################################
RUN apt-get update --fix-missing && \
apt-get install -y --no-install-recommends \
sudo \
wget \
gedit \
curl \
unzip \
net-tools \
git \
nano \
vim \
libeigen3-dev \
tmux \
ros-foxy-rviz2 && \
rm -rf /var/lib/apt/lists/*

RUN apt-get update && apt-get install -y --no-install-recommends \
ros-foxy-desktop \
ros-foxy-message-filters \
ros-foxy-image-transport \
ros-foxy-teleop-twist-joy \
ros-foxy-joy \
ros-foxy-joy-teleop \
ros-foxy-rviz-default-plugins \
ros-foxy-rviz-rendering \
ros-foxy-ros2bag \
ros-foxy-rosbag2-converter-default-plugins \
ros-foxy-rosbag2-storage-default-plugins \
ros-foxy-robot-localization \
ros-foxy-slam-toolbox \
ros-foxy-ackermann-msgs \
ros-foxy-serial-driver \
ros-foxy-depthai-ros \
ros-foxy-pcl-ros \
ros-foxy-robot-state-publisher \
ros-foxy-joint-state-publisher && \
rm -rf /var/lib/apt/lists/*

# --------------------------------------------------------------------------------------------------------------------------------------------------
# Install useful packages
# --------------------------------------------------------------------------------------------------------------------------------------------------
RUN apt-get update && \
apt-get install -y --no-install-recommends \
python3-pip \
python3-dev \
python3-argcomplete \
cmake \
nano \
iputils-ping \
x11-apps \
xauth \
nautilus \
usbutils \
vim \
tmux \
tmuxp \
# htop \
network-manager \
firefox \
git-all \
cheese \
jstest-gtk \
joystick \
# gedit \
# gedit-plugin-multi-edit \
# gedit-plugins \
python3-tk \
python3-rosdep \
python3-vcstool \
ros-dev-tools && \
rm -rf /var/lib/apt/lists/*

RUN apt-get update && \
apt-get install -y --no-install-recommends \
ros-foxy-rmw-cyclonedds-cpp \
ros-foxy-rosbridge-suite \
ros-foxy-nav2* \
ros-foxy-navigation2 \
ros-foxy-smac-planner \
ros-foxy-spatio-temporal-voxel-layer \
ros-foxy-nonpersistent-voxel-layer \
ros-foxy-tf-transformations \
ros-foxy-imu-tools && \
rm -rf /var/lib/apt/lists/*

RUN apt-get update --fix-missing && \
apt-get install -y xvfb ffmpeg libgdal-dev libsm6 libxext6 && \
apt-get -y dist-upgrade && \
rm -rf /var/lib/apt/lists/*

WORKDIR /home/projects

####### CREATE VIRTUAL ENVIRONMENTS #######
RUN apt-get update && apt-get install -y python3.8-venv && \
echo "alias python=python3" >> ~/.bashrc && \
python3 -m venv /opt/venv/donkey --system-site-packages

################ DEPTHAI ##################
WORKDIR /home/projects/
RUN git clone https://github.com/luxonis/depthai.git && \
git clone https://github.com/luxonis/depthai-python.git && \
cd depthai && \
source /opt/venv/donkey/bin/activate && \
curl -fL https://docs.luxonis.com/install_dependencies.sh | bash && \
python3 install_requirements.py && \
cd ../depthai-python/examples && \
python3 install_requirements.py

RUN echo "export OPENBLAS_CORETYPE=ARMV8" >> ~/.bashrc && \
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="03e7", MODE="0666"' | tee /etc/udev/rules.d/80-movidius.rules

########### Install Groot ###########
WORKDIR /home

RUN apt-get update --fix-missing && \
apt-get install -y --no-install-recommends ros-foxy-behaviortree-cpp-v3 \
libtool \
pkg-config \
build-essential \
autoconf \
automake \
# libzmq-dev \
qtbase5-dev \
libqt5svg5-dev \
libzmq3-dev \
libdw-dev && \
rm -rf /var/lib/apt/lists/*

RUN git clone --recurse-submodules https://github.com/BehaviorTree/Groot.git
WORKDIR /home/Groot
RUN cmake -S . -B build && \
cmake --build build

### Create f1tenth workspace
WORKDIR $WORKSPACE

RUN git clone -b foxy_devel https://github.com/Triton-AI/robocar.git && \
mv robocar .. && \
cd .. && \
rm -rf $WORKSPACE && \
mv robocar/ $WORKSPACE && \
cd $WORKSPACE

# Global Planner Dependencies
RUN pip install trajectory_planning_helpers==0.78 \
scipy==1.7.3 \
matplotlib==3.5.1 \
casadi \
scikit-image==0.19.2 \
scikit-learn \
transforms3d

########### Clone Basic ROS 2 Packages ###########
RUN source source_ros2.sh && \
make livox-driver && \
make racer && \
make autodrive && \
sed -i '/#include <tf2_geometry_msgs/d' src/external/state_estimation/rf2o_laser_odometry/include/rf2o_laser_odometry/CLaserOdometry2DNode.hpp && \
make gb_opt

### f1tenth gym && ros2 gym bridge ###
RUN make sim

# Install AutoDrive Devkit's Python dependencies
RUN pip3 install attrdict \
numpy \
pillow \
opencv-contrib-python \
eventlet==0.33.3 \
Flask==1.1.1 \
Flask-SocketIO==4.1.0 \
python-socketio==4.2.0 \
python-engineio==3.13.0 \
greenlet==1.0.0 \
gevent==21.1.2 \
gevent-websocket==0.10.1 \
Jinja2==3.0.3 \
itsdangerous==2.0.1 \
werkzeug==2.0.3 \
transforms3d

# Copy and install AutoDRIVE Devkit (ROS 2 API)
# RUN wget https://github.com/AutoDRIVE-Ecosystem/AutoDRIVE-F1TENTH-Sim-Racing/releases/download/2024-cdc/autodrive_devkit.zip && \
# unzip autodrive_devkit.zip -d ${WORKSPACE}src/external/ && \
# rm autodrive_devkit.zip
RUN cd ${WORKSPACE}src/external/ && \
git clone -b dev/2024-cdc https://github.com/Triton-AI/AutoDRIVE-F1TENTH-Sim-Racing.git

# COLCON BUILD ROS2 PACKAGES
RUN source source_ros2.sh && \
make rosdep-install && \
build_ros2

########### ADD CUSTOM FUNCTIONS ###########
WORKDIR /home/scripts/
COPY scripts/bashrc.sh ./bashrc.sh
RUN echo '. /home/scripts/bashrc.sh' >> /root/.bashrc

WORKDIR $WORKSPACE
RUN echo export WORKSPACE=$WORKSPACE >> /root/.bashrc

# Set entrypoint
EXPOSE 4567
# RUN echo 'export LD_PRELOAD=/usr/local/lib/python3.8/dist-packages/sklearn/__check_build/../../scikit_learn.libs/libgomp-d22c30c5.so.1.0.0' >> ~/.bashrc
ENTRYPOINT [ "/bin/bash"]
132 changes: 132 additions & 0 deletions .github/workflows/publish_arm.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
name: publish
on:
schedule:
- cron: '38 23 * * *'
release:
types: [published]
branches: [ "foxy_devel" ]
# Publish semver tags as releases.
tags: [ 'a*.*.*' ]
pull_request:
branches: [ "foxy_devel" ] # TBD


env:
# Use docker.io for Docker Hub if empty
REGISTRY: ghcr.io
# github.repository as <account>/<repo>
IMAGE_NAME: ${{ github.repository }}
ROS_DISTRO: foxy

jobs:
build:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
include:
# - dockerfile: .docker_utils/Dockerfile.f1tenth_x86
# tag: x86
- dockerfile: .docker_utils/Dockerfile.f1tenth_arm
tag: arm
permissions:
contents: read
packages: write
# This is used to complete the identity challenge
# with sigstore/fulcio when running outside of PRs.
id-token: write

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: linux/arm64/v8

- name: Set up SSH
uses: webfactory/[email protected]
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}

# Install the cosign tool except on PR
# https://github.com/sigstore/cosign-installer
- name: Install cosign
if: github.event_name != 'pull_request'
uses: sigstore/[email protected] # c3667d99424e7e6047999fb6246c0da843953c65 #v3.0.1
with:
cosign-release: 'v2.2.4'

- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main
with:
# this might remove tools that are actually needed,
# if set to "true" but frees about 6 GB
tool-cache: false

# all of these default to true, but feel free to set to
# "false" if necessary for your workflow
android: true
dotnet: true
haskell: true
large-packages: true
docker-images: false
swap-storage: true

# Workaround: https://github.com/docker/build-push-action/issues/461
- name: Setup Docker buildx
uses: docker/setup-buildx-action@v3 # b167a89702b8b5314c104ab9d211b3dcf774f2b1
with:
platforms: linux/arm64/v8

# Login against a Docker registry except on PR
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
if: github.event_name != 'pull_request'
uses: docker/login-action@v3 # f4ef78c080cd8ba55a85445d5b36e214a81df20a
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

# Extract metadata (tags, labels) for Docker
# https://github.com/docker/metadata-action
- name: Extract Docker metadata
id: meta
uses: docker/metadata-action@v5 # 507c2f2dc502c992ad446e3d7a5dfbe311567a96
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=raw,value=${{ env.ROS_DISTRO }}-${{ matrix.tag }}

# Build and push Docker image with Buildx (don't push on PR)
# https://github.com/docker/build-push-action
- name: Build and push Docker final
id: build-and-push
uses: docker/build-push-action@v5
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
file: ${{ matrix.dockerfile }}
tags: ${{ steps.meta.outputs.tags }}
platforms: linux/arm64/v8
labels: ${{ steps.meta.outputs.labels }}
ssh: |
default=${{ env.SSH_AUTH_SOCK }}
cache-from: type=gha
cache-to: type=gha,mode=max


# Sign the resulting Docker image digest except on PRs.
# This will only write to the public Rekor transparency log when the Docker
# repository is public to avoid leaking data. If you would like to publish
# transparency data even for private images, pass --force to cosign below.
# https://github.com/sigstore/cosign
# - name: Sign the published Docker image
# if: ${{ github.event_name != 'pull_request' }}
# env:
# COSIGN_EXPERIMENTAL: "true"
# # This step uses the identity token to provision an ephemeral certificate
# # against the sigstore community Fulcio instance.
# run: echo "${{ steps.meta.outputs.tags }}" | xargs -I {} cosign sign {}@${{ steps.build-and-push.outputs.digest }}
Loading
Loading