Skip to content

pinklab-art/pinky_pro

Repository files navigation

Pinky Pro

ROS2 packages for Pinky Pro

Pinky Pro

Pinky Pro ROS2 아키텍처

Pinky Pro ROS2 아키텍처

📚 문서 및 가이드 (Documentation)

🙏 Special Thanks · Contributors

byeongkyu – Pinky PRO 모델 ROS 2 패키지 개발
참고 레포지토리: pinky_robot

💻 PC 설정

환경

  • OS: Ubuntu 24.04
  • ROS: ROS2 Jazzy
  • Architecture: x86_64 (amd64) (Recommended)

1. Pinky Pro ROS2 pkg clone

mkdir -p ~/pinky_pro/src
cd ~/pinky_pro/src
git clone https://github.com/pinklab-art/pinky_pro.git

2. dependency 설치

cd ~/pinky_pro
rosdep install --from-paths src --ignore-src -r -y

3. build

cd ~/pinky_pro
colcon build

Pinky Pro 사용 매뉴얼

환경

  • ubuntu 24.04
  • ros2 jazzy

pinky Pro 실행

ros2 launch pinky_bringup bringup_robot.launch.xml

Map building

launch slam toolbox

ros2 launch pinky_navigation map_building.launch.xml

[ONLY PC] map view

ros2 launch pinky_navigation map_view.launch.xml

robot keyborad control

ros2 run teleop_twist_keyboard teleop_twist_keyboard 

map save

ros2 run nav2_map_server map_saver_cli -f <map name>

Navigation2

launch navigation2

ros2 launch pinky_navigation bringup_launch.xml map:=<map name>

[ONLY PC] nav2 view

ros2 launch pinky_navigation nav2_view.launch.xml

시뮬레이션

Pinky Pro gazebo 실행

가제보 실행

ros2 launch pinky_gz_sim launch_sim.launch.xml

Map building

launch slam toolbox

ros2 launch pinky_navigation gz_map_building.launch.xml

[ONLY PC] map view

ros2 launch pinky_navigation gz_map_view.launch.xml

robot keyborad control

ros2 run teleop_twist_keyboard teleop_twist_keyboard 

map save

ros2 run nav2_map_server map_saver_cli -f <map name>

Navigation2

launch navigation2

ros2 launch pinky_navigation gz_bringup_launch.xml map:=<map name>

[ONLY PC] nav2 view

ros2 launch pinky_navigation gz_nav2_view.launch.xml

센서 동작

LED control

LED server start

ros2 run pinky_led led_server

LED service call

fill with color

ros2 service call /set_led pinky_interfaces/srv/SetLed "{command: 'fill', r: 255, g: 0, b: 0}"

set pixel colors

ros2 service call /set_led pinky_interfaces/srv/SetLed "{command: 'set_pixel', pixels: [4, 5, 6, 7], r: 0, g: 0, b: 255}"

clear

ros2 service call /set_led pinky_interfaces/srv/SetLed "{command: 'clear'}"

set brightness

ros2 service call /set_brightness pinky_interfaces/srv/SetBrightness "{brightness: 10}"

LCD control

emotion server start

ros2 run pinky_emotion emotion_server

or

ros2 run pinky_emotion emotion_server --ros-args -p load_frame_skip:=3

set emotion

Available emotions: (hello, basic, angry, bored, fun, happy, interest, sad)

ros2 service call /set_emotion pinky_interfaces/srv/Emotion "{emotion: 'happy'}"

웹 서버

Start web server

Real Robot

Launch SLAM web server

ros2 launch pinky_navigation web_slam.launch.xml

Or launch Nav2 web server

ros2 launch pinky_navigation web_nav2.launch.xml map:=<map name>

With custom IP address (Optional)

ros2 launch pinky_navigation web_nav2.launch.xml map:=<map name> ip:=0.0.0.0

Simulation (Gazebo)

Launch SLAM web server

ros2 launch pinky_navigation gz_web_slam.launch.xml

Or launch Nav2 web server

ros2 launch pinky_navigation gz_web_nav2.launch.xml map:=<map name>

With custom IP address (Optional)

ros2 launch pinky_navigation gz_web_nav2.launch.xml map:=<map name> ip:=0.0.0.0

Web Access

Default (Real Robot): http://192.168.4.1:8080

Default (Simulation): http://localhost:8080

If you specified a custom IP: http://<host_ip>:<port>

🛠️ 트러블슈팅 (Troubleshooting)

공유기 과부하로 인한 로봇 통신 끊김 및 지연 현상 해결 방법

여러 대의 Pinky Pro를 동일한 공유기에 연결하여 단체로 운영하거나 주행할 때, ROS2 DDS 통신 트래픽으로 인한 공유기 성능 한계 때문에 로봇의 통신이 끊기거나 움직임이 원활하지 않은 이슈가 발생할 수 있습니다.

이러한 현상이 나타나면, 각 Pinky와 사용자(PC) 간의 개별 연결은 유지한 상태에서 Pinky들이 공통으로 연결된 외부 공유기와의 연결을 해제하면 통신량이 줄어들어 문제가 해결됩니다.

Pinky Pro의 터미널에서 아래 명령어를 순서대로 입력하여 외부 네트워크 설정을 삭제하고 재부팅해 주세요.

sudo rm /etc/netplan/90*
sudo reboot

Note: 이 명령어는 외부 공유기와 연결하기 위해 생성된 netplan 설정 파일(90으로 시작하는 파일)을 삭제하는 명령어입니다. 재부팅 후에는 로봇이 공유기를 거치지 않고 사용자의 PC와 직접 통신하는 기본 상태로 돌아가므로, 공유기 성능 한계로 발생하던 지연 현상이 사라집니다. 다시 외부 인터넷 연결이 필요한 경우에는 초기 네트워크 설정 과정을 다시 진행해야 합니다.

About

Pinky Pro 공개자료

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors