diff --git a/.gitmodules b/.gitmodules index 217f765..d5ed3fc 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ -[submodule "DynamixelSDK"] - path = DynamixelSDK - url = git@github.com:ROBOTIS-GIT/DynamixelSDK.git +# [submodule "DynamixelSDK"] +# path = DynamixelSDK +# url = git@github.com:ROBOTIS-GIT/DynamixelSDK.git +# [submodule "depthai-ros"] +# path = depthai-ros +# url = git@github.com:luxonis/depthai-ros.git diff --git a/DynamixelSDK b/DynamixelSDK deleted file mode 160000 index 3450c70..0000000 --- a/DynamixelSDK +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 3450c7078917b262d9b36042c15444047aae226e diff --git a/README.md b/README.md index 5704d8e..e6f5a67 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Flo-System-2 This is the master code repository for the second iteration of the Flo system. - +The system is currently in development, all code is subject to change. ## License: MIT License. @@ -15,14 +15,17 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI ## Overview: +This system is intended to run on a development edition ohmni telepresence robot with docker installed. + This repository contains the following components: 1. Control system of the humanoid robot (Dynamixel motors: 2 XL430-W250-T, 1 XC430-W240-T, 1 XM430-W350-T and 1 RX-64 motor per arm) 2. Control system of the mobile telepresence platform (Ohmni telepresence platform) -3. RGB-D cameras (2 Luxonis Oak-D cameras) -4. 2 dimensional lidar sensor (rp lidar a1) +3. RGB telepresence and navigation cameras (forwards facing and downwards facing) +4. RGB-D cameras (2 Luxonis Oak-D cameras) 5. object localization system (April tag 3) 6. Centeral user interface (web interface?) +7. 2 dimensional lidar sensor (rp lidar a1) The system is designed to be modular and each component can be run independently, ROS is used as the communication framework between the components. @@ -37,3 +40,4 @@ Each component will be running as a seperate process in a docker container and i 5. docker attach flo_system + diff --git a/dev_system/Dockerfile b/dev_system/Dockerfile new file mode 100644 index 0000000..9631235 --- /dev/null +++ b/dev_system/Dockerfile @@ -0,0 +1,38 @@ +FROM ros:melodic-robot-bionic +#make super user +RUN su +ARG ROS_DISTRO=melodic +ENV ROS_DISTRO="$ROS_DISTRO" +#install essential tools +RUN apt-get update -y && apt-get install -y \ +neovim \ +tmux \ +git \ +ros-$ROS_DISTRO-catkin \ +ros-$ROS_DISTRO-dynamixel-sdk\ +ros-$ROS_DISTRO-dynamixel-sdk-examples + +#Lidar libraries +#RUN git clone https://github.com/Slamtec/rplidar_ros.git + +#Build the catkin_ws +# clear cache +RUN apt-get clean + +RUN mkdir -p home/git +WORKDIR /home/git +RUN git clone https://github.com/Rehab-Robotics-Lab/FloSystemV2.git +WORKDIR /home/git +# RUN mkdir -p catkin_ws +# RUN cp -r /FloSystemV2/flo_humanoid /catkin_ws/src catkin_ws/flo_humanoid +# RUN cp -r /FloSystemV2/flo_humanoid_defs /catkin_ws/src catkin_ws/flo_humanoid_defs +# WORKDIR /home/git/catkin_ws +# RUN catkin_make -j1 -l1 + +# ENTRYPOINT ["./ros_entrypoint.sh"] +# CMD ["bash"] + + + + + diff --git a/flo_depthcam/Dockerfile b/flo_depthcam/Dockerfile new file mode 100644 index 0000000..93716e2 --- /dev/null +++ b/flo_depthcam/Dockerfile @@ -0,0 +1,37 @@ +FROM ros:noetic-robot-focal +#make super user (running all commands as root) +#might want to fix that later for security and to make sure we don't mess up the ros user. +RUN su +ARG ROS_DISTRO=noetic +ENV ROS_DISTRO="$ROS_DISTRO" +#install essential tools +RUN apt-get update -y && apt-get install -y \ +neovim \ +tmux \ +git \ +ros-$ROS_DISTRO-catkin \ +#install the depthai ros package for the luxonis oak-d depth camera +ros--depthai-ros + +#set udev rules for the luxonis oak-d depth camera to make it mounts at the correct location. +RUN echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="03e7", MODE="0666"' | sudo tee /etc/udev/rules.d/80-movidius.rules +RUN udevadm control --reload-rules && sudo udevadm trigger + + +#Build the catkin_ws +# clear cache +RUN apt-get clean + +RUN mkdir -p home/git +WORKDIR /home/git +RUN git clone https://github.com/Rehab-Robotics-Lab/FloSystemV2.git +WORKDIR /home/git +RUN mkdir -p catkin_ws +# RUN cp -r /FloSystemV2/flo_humanoid /catkin_ws/src catkin_ws/flo_humanoid +# RUN cp -r /FloSystemV2/flo_humanoid_defs /catkin_ws/src catkin_ws/flo_humanoid_defs + +WORKDIR /home/git/catkin_ws +RUN catkin_make -j1 -l1 + +ENTRYPOINT ["./ros_entrypoint.sh"] +CMD ["bash"] \ No newline at end of file diff --git a/flo_system/README.md b/flo_system/README.md index 6531d02..5d98f29 100644 --- a/flo_system/README.md +++ b/flo_system/README.md @@ -3,4 +3,4 @@ ## Storage The Ohmni telepresence platform this iteration of the flo system is built has 13gb of storage built in, this is used to store code, docker images and device drivers and config files. -An external NVME ssd has been added to the system with 2Tb of storage, this is to be used to capture video and sensor data from clincial trials, it is mounted at mnt/nvmeStorage +An external NVME ssd has been added to the system with 2Tb of storage, this is to be used to capture video and sensor data from clincial trials, it is mounted at mnt/nvmeStorage (dev/block/sda1 is the android default mount point)