Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
6c0daf2
initial commit of the ros1 to ros2 port for jparse
dbarsoum Jul 21, 2025
ce455cd
More for the initial commit for porting
dbarsoum Jul 21, 2025
eaab8df
Removing dockerfiles repo; not needed bc included under docker folder
dbarsoum Jul 21, 2025
4c027eb
Ported some things to ros2; need to still implement pinocchio in jpar…
dbarsoum Jul 22, 2025
1cd1d74
Port to ROS 2 with pinocchio updates:
dbarsoum Aug 8, 2025
00eeccb
Big update:
dbarsoum Aug 12, 2025
1d35521
Need to edit where homing and control loop should be executed
dbarsoum Aug 12, 2025
e696ec2
IT IS WORKING IN ROS 2git statusgit status but need to fix bug of not…
dbarsoum Aug 13, 2025
baca398
Edited the keyboard twist to include key timeout so robot does not mo…
dbarsoum Aug 13, 2025
8356ca6
Ros2 is tested and working
dbarsoum Aug 19, 2025
07c18a6
Edited forked teleop twist repo
dbarsoum Aug 19, 2025
1a03596
Adding submodule for xarm control interfaces
dbarsoum Aug 19, 2025
5b29b79
Snp tested on physical robot and working
dbarsoum Aug 19, 2025
21775e7
Joystick tested on physical robot and working
dbarsoum Aug 19, 2025
6ead803
Cleaned up the code and added more information in README
dbarsoum Aug 20, 2025
510df08
Updated readme
dbarsoum Aug 20, 2025
9895f24
Added teleop twist keyboard submodule in xarm_ros2_base with other co…
dbarsoum Aug 20, 2025
9825570
Working on porting key_support including gui envs and key inputs from…
dbarsoum Aug 20, 2025
66a27a7
Testing ported code for gui and key_input
dbarsoum Aug 20, 2025
4a13461
Testing the key input
dbarsoum Aug 20, 2025
22c57af
Key inputs for studies via keyboard tested and working
dbarsoum Aug 20, 2025
2d11b80
Editing the the state and mode of robot during recording
dbarsoum Aug 21, 2025
a66e136
Updating Dockerfile with new installations required for creating image
dbarsoum Aug 21, 2025
e7a3305
Added key input for new trial
dbarsoum Aug 22, 2025
7209fdb
Updating xarm_ros2_base head to main
dbarsoum Aug 22, 2025
4448834
Adjusted path for robot urdf file from example-robot-data repo
Sharwin24 Nov 10, 2025
6c7262f
Small edits for pfields_demo
Sharwin24 Dec 10, 2025
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
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,6 @@
*.html
*.pdf
*.mp4
*.avi
*.avi
xArm-Python-SDK
dockerfiles
3 changes: 0 additions & 3 deletions .gitmodules

This file was deleted.

179 changes: 102 additions & 77 deletions Docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,79 +1,104 @@
# Official Dockerfile for J-PARSE

FROM tiryoh/ros-desktop-vnc:noetic

ENV ROS_DISTRO noetic

RUN set -x \
&& apt-get update \
&& apt-get install -y ros-noetic-moveit \
&& apt-get install -y ros-noetic-moveit-servo \
&& apt-get install -y ros-noetic-moveit-visual-tools \
&& apt-get install -y ros-noetic-moveit-ros-visualization \
&& apt-get install -y ros-noetic-graph-msgs \
&& apt-get install -y ros-noetic-rosparam-shortcuts \
&& apt-get install -y ros-noetic-control-toolbox \
&& apt-get install -y gstreamer1.0-tools gstreamer1.0-libav libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev gstreamer1.0-plugins-good gstreamer1.0-plugins-base \
&& rm -rf /var/lib/apt/lists/*


RUN set -x \
&& pip3 install conan==1.59 \
&& conan config set general.revisions_enabled=1 \
&& conan profile new default --detect > /dev/null \
&& conan profile update settings.compiler.libcxx=libstdc++11 default


RUN rosdep update \
&& echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc

RUN apt-get update && apt-get install -y ros-noetic-ros-control ros-noetic-ros-controllers


# RUN /bin/bash -c 'conan config set general.revisions_enabled=1'
# RUN /bin/bash -c '. /opt/ros/noetic/setup.bash; mkdir -p /ros_kortex_ws/src; cd ros_kortex_ws/src; git clone https://github.com/Kinovarobotics/ros_kortex; git clone https://github.com/Kinovarobotics/ros_kortex_vision; git clone https://github.com/ros-simulation/gazebo_ros_pkgs; cd ..; catkin_make'
# RUN echo "source /ros_kortex_ws/devel/setup.bash" >> ~/.bashrc


# Install ros real sense
RUN apt-get update && apt-get install -y ros-noetic-realsense2-camera && apt-get install -y ros-noetic-cv-bridge && apt install -y ros-noetic-sensor-msgs

RUN apt-get install -y ros-noetic-gazebo-ros-pkgs ros-noetic-gazebo-ros-control

# install xarm code
RUN cd / && mkdir -p dev_ws/src && cd dev_ws/src

RUN source /opt/ros/noetic/setup.bash && git clone https://github.com/xArm-Developer/xarm_ros.git --recursive \
&& git clone -b noetic-devel https://github.com/armlabstanford/hrl-kdl.git \
&& git clone https://github.com/catkin/catkin_simple.git \
&& cd xarm_ros && git pull && git submodule sync && git submodule update --init --remote


RUN source /opt/ros/noetic/setup.bash
# install franka panda gazebo
# deps
RUN apt install -y ros-$ROS_DISTRO-gazebo-ros-control ros-${ROS_DISTRO}-rospy-message-converter ros-${ROS_DISTRO}-effort-controllers ros-${ROS_DISTRO}-joint-state-controller ros-${ROS_DISTRO}-moveit ros-${ROS_DISTRO}-moveit-commander ros-${ROS_DISTRO}-moveit-visual-tools
# RUN apt install -y ros-${ROS_DISTRO}-libfranka

# RUN cd / && mkdir -p panda_ws/src && cd panda_ws/src
# RUN source /opt/ros/noetic/setup.bash && cd /panda_ws/src && git clone -b noetic-devel https://github.com/justagist/panda_simulator

# RUN cd /panda_ws/src/panda_simulator && ./build_ws.sh
RUN pip install "numpy<1.24" && pip install numpy-quaternion==2020.5.11.13.33.35 && pip install numba

RUN git clone https://github.com/xArm-Developer/xArm-Python-SDK.git && cd xArm-Python-SDK && python3 setup.py install

RUN pip install hidapi==0.14.0.post4
RUN apt install -y nano
RUN pip install mpld3 packaging
RUN apt install -y texlive texlive-latex-extra texlive-fonts-recommended dvipng

RUN apt install ros-noetic-apriltag-ros -y

FROM ros:jazzy
ENV ROS_DISTRO jazzy

# install ros packages
RUN apt-get update && apt-get install -y --no-install-recommends \
ros-${ROS_DISTRO}-ros2-control \
ros-${ROS_DISTRO}-ros2-controllers \
ros-${ROS_DISTRO}-joy \
ros-${ROS_DISTRO}-colcon-clean \
ros-${ROS_DISTRO}-common-plugins \
ros-${ROS_DISTRO}-kinematics-interface-kdl \
ros-${ROS_DISTRO}-ament-cmake-clang-format \
ros-${ROS_DISTRO}-rviz2 \
ros-${ROS_DISTRO}-moveit \
ros-${ROS_DISTRO}-moveit-ros-perception \
ros-${ROS_DISTRO}-ackermann-msgs \
ros-${ROS_DISTRO}-control-toolbox \
ros-${ROS_DISTRO}-generate-parameter-library \
ros-${ROS_DISTRO}-generate-parameter-library-py \
ros-${ROS_DISTRO}-moveit-ros-control-interface \
ros-${ROS_DISTRO}-pick-ik \
ros-${ROS_DISTRO}-robot-state-publisher \
ros-${ROS_DISTRO}-joint-state-publisher-gui \
ros-${ROS_DISTRO}-pinocchio \
&& apt-get clean && rm -rf /var/lib/apt/lists/*

# install packages
RUN apt-get update && apt-get install -q -y --no-install-recommends \
dirmngr \
gnupg2 \
&& apt-get clean && rm -rf /var/lib/apt/lists/*

# install ubuntu packages
RUN apt-get update -yq && apt-get install -yq \
python3 \
apt-utils \
locales \
curl \
gnupg \
lsb-release \
libx11-dev \
libxau-dev \
libxcb1-dev \
libxdmcp-dev \
libxext-dev \
lsb-release \
pkg-config \
byobu \
nano \
python3-pip \
ssh \
vim \
gdb \
udev \
python3-pyudev \
ipython3 \
mesa-utils \
autoconf \
automake \
libtool \
make \
g++ \
unzip \
git \
transform3d \
python3-scipy \
python3-numpy \
python3-cvxopt \
python3-pandas \
python3-colcon-common-extensions \
python-is-python3 \
python3-tk \
python3-pytest-rerunfailures \
python3-matplotlib \
python3-box2d \
&& apt-get clean && rm -rf /var/lib/apt/lists/*

# RUN git clone https://github.com/xArm-Developer/xArm-Python-SDK.git && cd xArm-Python-SDK && python3 setup.py install

# install box 2d
RUN pip3 install Box2D --break-system-packages

# setup environment
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8

ENV QT_X11_NO_MITSHM=1

# add udev rules
RUN mkdir -p /etc/udev/rules.d
COPY ./udev_rules/* /etc/udev/rules.d/

# create a generic workplace directory
RUN mkdir -p /home/workspace/src
WORKDIR /home/workspace

# source ROS2
RUN echo "source /opt/ros/$ROS_DISTRO/setup.bash" >> ~/.bashrc
COPY ./entrypoint.sh /
ENTRYPOINT [ "/entrypoint.sh" ]
CMD ["bash"]

ENV USER ubuntu
ENV PASSWD ubuntu
# RUN chmod a+x ros_entrypoint.sh
COPY ./ros_entrypoint.sh /

ENTRYPOINT ["/ros_entrypoint.sh"]
CMD ["bash"]
File renamed without changes.
8 changes: 8 additions & 0 deletions Docker/udev_rules/60-usb-serial.rules
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# PS3 controller
ACTION=="add", KERNEL=="js[0-9]*", SUBSYSTEM=="input", SUBSYSTEMS=="input", ATTRS{name}=="Sony PLAYSTATION(R)3 Controller", ATTRS{properties}=="0", SYMLINK+="ps3", MODE="0666"

# Sip and puff interface
ACTION=="add", KERNEL=="js[0-9]*", SUBSYSTEM=="input", SUBSYSTEMS=="usb", ATTRS{idVendor}=="0a95", ATTRS{idProduct}=="0015", SYMLINK+="sip_and_puff", MODE="0666"

# 3-axis Joystick (IPD CH-Products)
ACTION=="add", KERNEL=="js[0-9]*", SUBSYSTEM=="input", SUBSYSTEMS=="usb", ATTRS{idVendor}=="068e", ATTRS{idProduct}=="00ca", SYMLINK+="3_axis_joystick", MODE="0666"
Loading