본문 바로가기
ROS Project🦾

Gazebo simulation(ROS2, Docker)

by 우직한 사람 2023. 7. 5.
반응형

link

https://gazebosim.org/docs/all/getstarted

https://github.com/gazebosim/ros_gz

 

GitHub - gazebosim/ros_gz: Integration between ROS (1 and 2) and Gazebo simulation

Integration between ROS (1 and 2) and Gazebo simulation - GitHub - gazebosim/ros_gz: Integration between ROS (1 and 2) and Gazebo simulation

github.com


Description

가제보 클래식과, 가제보심(최신버전)이 있다.

가제보심 버전 중에서도 gz 명령어를 쓰는 가제보 패키지가 있고, ign 명령어를 쓰는 패키지가 있다.

 

Fortress, Edifice 버전은 ign 명령어를 사용한다. (현재 마이그레이션 중) latest 버전인 Garden 은 gz 명령어를 사용한다.

 

ign 이라는 명령어가 상표권 이슈로 인하여 마이그레이션 중이라고 한다.

https://gazebosim.org/docs/garden/migration_from_ignition


Install

This branch supports ROS Rolling. See above for other ROS versions.

Binaries

Rolling binaries are available for Fortress. They are hosted at https://packages.ros.org.

  1. Add https://packages.ros.org
sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture)] <http://packages.ros.org/ros2/ubuntu> $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2-latest.list' curl -s <https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc> | sudo apt-key add - 
sudo apt-get update

 

2. Install ros_gz

 sudo apt install ros-rolling-ros-ign

 

TEST

https://github.com/gazebosim/ros_gz/blob/ros2/ros_gz_bridge/README.md

 

GitHub - gazebosim/ros_gz: Integration between ROS (1 and 2) and Gazebo simulation

Integration between ROS (1 and 2) and Gazebo simulation - GitHub - gazebosim/ros_gz: Integration between ROS (1 and 2) and Gazebo simulation

github.com

Example 1a: Gazebo Transport talker and ROS 2 listener

Start the parameter bridge which will watch the specified topics.

# Shell A:
. ~/bridge_ws/install/setup.bash
ros2 run ros_gz_bridge parameter_bridge /chatter@std_msgs/msg/String@ignition.msgs.StringMsg

Now we start the ROS listener.

# Shell B:
. /opt/ros/galactic/setup.bash
ros2 topic echo /chatter

Now we start the Gazebo Transport talker.

# Shell C:
ign topic -t /chatter -m ignition.msgs.StringMsg -p 'data:"Hello"'

 

OpenGL 관련 문제

openGL 이란

OpenGL은 그래픽 처리를 위한 오픈 그래픽스 라이브러리이다. 이 라이브러리는 2D 및 3D 그래픽을 렌더링하고, 기하학적 변형, 텍스처링, 조명, 그림자 등을 포함한 다양한 그래픽스 기능을 제공한다.

export LIBGL_ALWAYS_SOFTWARE=1
export XDG_RUNTIME_DIR=/tmp/runtime-root
sudo apt install libgl1-mesa-dev
docker restart

URDF 테스트

building_robot.urdf
0.01MB

ign gazebo building_robot.urdf

반응형