# FROM isaac_ros_dev-aarch64 FROM ros:humble ENV DEBIAN_FRONTEND=noninteractive SHELL ["/bin/bash", "-c"] # uodate and install dependencies RUN apt-get update && apt-get install -y \ ros-humble-rmw-cyclonedds-cpp ros-humble-rosidl-generator-dds-idl \ # ros-humble-realsense2-camera \ # ros-humble-pointcloud-to-laserscan \ libyaml-cpp-dev \ libboost-all-dev\ build-essential \ cmake \ git \ && rm -rf /var/lib/apt/lists/* # Cheange the ROS2 RMW to CycloneDDS as instructed by Unitree RUN cd / && git clone https://github.com/unitreerobotics/unitree_ros2 && cd /unitree_ros2/cyclonedds_ws/src && \ git clone https://github.com/ros2/rmw_cyclonedds -b humble && git clone https://github.com/eclipse-cyclonedds/cyclonedds -b releases/0.10.x &&\ cd .. && colcon build --packages-select cyclonedds && source /opt/ros/humble/setup.bash && colcon build COPY scripts/build-librealsense.sh /opt/realsense/build-librealsense.sh COPY scripts/install-realsense-dependencies.sh /opt/realsense/install-realsense-dependencies.sh RUN chmod +x /opt/realsense/install-realsense-dependencies.sh && /opt/realsense/install-realsense-dependencies.sh RUN chmod +x /opt/realsense/build-librealsense.sh && /opt/realsense/build-librealsense.sh --no_cuda # Copy hotplug script which will get invoked whenever a devices plugged or un-plugged RUN mkdir -p /opt/realsense/ COPY scripts/hotplug-realsense.sh /opt/realsense/hotplug-realsense.sh # Copy custom udev rules file COPY udev_rules/99-realsense-libusb-custom.rules /etc/udev/rules.d/99-realsense-libusb-custom.rules # copy the go2py ros2 nodes # COPY ros2_nodes/lidar_node /hesai_ws/src/lidar_node # RUN cd /hesai_ws && source /opt/ros/humble/setup.bash && colcon build --symlink-install # Copy the script to start the nodes # COPY docker/scripts /root/scripts # COPY launch_files /root/launch # set the entrypoint to bash ENTRYPOINT ["/bin/bash"] # ENTRYPOINT ["/bin/bash", "/root/scripts/hesai_start.sh"]