Skip to content

MOIRO-KAIROS/moiro_ws

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

moiro_logo

📸   INTRO

  • ROS2 Humble Project for MOIRO
  • moiro_ws는 실시간으로 타겟 인물을 촬영하는 로봇의 제어를 위한 ROS2 Workspace입니다.

📸 STACKS





📸   SPEC

moiro_hardware
Required Info Details
Hardware
Camera Model Intel Realsense D435
Agv Motor Robotics XL430-W250-T
Motor control Board OpenCR
Robot Arm Mycobot320 m5
Software
Operating System & Version Ubuntu 22.04
Driver 535.171.04
Cuda 11.8
ROS Version ROS2 humble
Python Version Python 3.10.12

📸   SETUP

1) Install & Submodule update

git clone https://github.com/your_username/moiro_ws.git
cd moiro_ws
git submodule update --init --recursive

2) Submodule setup

[ 중요 : Submodule의 README를 참고하여 Setup 진행 ]

3) colcon build

cd moiro_ws
source /opt/ros/humble/setup.bash
colcon build

4) Terminal Setting

# Raspi
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
echo "export ROS_DOMAIN_ID=<$WANTED_ROS_DOMAIN>" >> ~/.bashrc
echo "export LDS_MODEL=LDS-02" >> ~/.bashrc
echo "source $HOME/moiro_ws/install/setup.bash" >> ~/.bashrc
# COM
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
echo "export ROS_DOMAIN_ID=<$WANTED_ROS_DOMAIN>" >> ~/.bashrc
echo "source $HOME/moiro_ws/install/setup.bash" >> ~/.bashrc

📸   RUN

1) Using Terminal

  • 명령어 순서 매우 주의해서 입력
# Rasp
ros2 launch moiro_agv_bringup moiro_agv.launch.py
# 부착 COM
ros2 launch adaface_ros adaface.launch.py person_name:=<$PERSON_NAME>
sudo chmod 777 /dev/ttyACM0
ros2 run moiro_arm_robot_driver sync_play
ros2 launch moiro_arm_move_group moiro_arm_move_group.launch.py
ros2 launch moiro_arm_move_group moiro_arm_move_group_service_class_interface.launch.py
# Monitoring COM
ros2 run human_follower human_follower min_depth:=<$min_depth> max_depth:=<$max_depth>"

2) Flask Web

(1) droidcam install

droidcam

(2) Terminal

# port 가 이미 지정되어 있다면,
lsof -n -i -P | grep {PORT_NUM} | grep -v grep | awk '{print $2}' | xargs kill -9
# flask가 없다면,
pip install flask==3.0.3

moiro_web

## Flask용 (COM2) -- PORT : 8080
python3 moiro_testTool/moiro_web/app.py
# MOIRO AGV용 (Raspberry pi) -- PORT : 5000
# lsof -n -i -P | grep 8080 | grep -v grep | awk '{print $2}' | xargs kill -9
python3 moiro_testTool/moiro_web/Rasp.py
# Human Follower용 (COM2) -- PORT : 5001
# lsof -n -i -P | grep 5001 | grep -v grep | awk '{print $2}' | xargs kill -9
python3 moiro_testTool/moiro_web/COM2.py
# 부착 COM용 (COM1) -- PORT : 5000
# lsof -n -i -P | grep 5001 | grep -v grep | awk '{print $2}' | xargs kill -9
python3 moiro_testTool/moiro_web/COM1.py

(3) Button Control

  • 버튼의 순서를 지켜서 시행해야함

  • Reset의 경우, start만 했으면 적용됨

  • Record button을 통해 현재 촬영화면을 저장 가능

  • [Sequence] Driodcam Connect ➡️ Raspberry Pi connect ➡️ start Adaface ➡️ Sync play ➡️ start Mycobot ➡️ start Follower

3) Debug

(1) Node graph

rqt_graph

(2) Rviz2

rviz2

📸   RESULT

(1) Running MOIRO with moiro web

📸   CONTRIBUTE

Mincheol Github 신민철 (Mincheol Shin)

Team Leader & robot ARM control

Hohyun Github 김호현 (Hohyun Kim)

Hardware Design and Production

Woosung Github 노우성 (Woosung Roh)

Urdf and MoveIt

Hyunwoo Github 노현우 (Hyunwoo No)

Odometry and Slam

Minha Github 송민하 (Minha Song)

Vision AI, Flask web, AGV control algorithm

Yeonju Github 이연주 (Yeonju Lee)

Vision AI, Flask web, Unity