[ROS] Gazebo에 Robot 불러오기

Nodazi·2024년 1월 9일
0

ROS

목록 보기
8/21
post-thumbnail

🐣0.개요

지난 시간에 로봇을 만드는 실습을 진행하였다.
이번시간에는 Gazebo에서 로봇을 스폰하는 방법에 대해서 알아보겠다.

🗒1.Launch 파일 만들기

🚀1.1 Gazebo World 생성 launch 파일

🚀empty_world.launch

<?xml version= "1.0" ?>
<launch>
	<include file= "$(find gazebo_ros)/launch/empty_world.launch">
	<arg name = "paused" value = "false"/>
	<arg name = "use_sim_time" value = "true"/>
	<arg name = "gui" value = "true"/>
	<arg name = "headless" value = "false"/>
	<arg name = "debug" value = "false"/>
	</include>
</launch>	

월드를 생성하는 launch 파일.
월드의 속성을 정의할 수 있다.

1.2 spawn launch 파일

🚀spawn_robot.launch

<?xml version= "1.0" ?>
<launch>
	<param name="robot_description" command = "cat '$(find robot_description)/urdf/robot.urdf'"/>
	<arg name = "x" default = "0"/>
	<arg name = "y" default = "0"/>
	<arg name = "z" default = "0.5"/>
	<node name = "mybot_spawn" pkg ="gazebo_ros" type ="spawn_model" output ="screen"
			args = "-urdf -param robot_description -model my_robot -x $(arg x) -y $(arg y) -z $(arg z)" />
</launch>	

로봇을 스폰할 위치를 정의해준다.

그리고 empty_world를 먼저 launch 하고 spawn_robot를 launch 하면 된다.

🌍2.실행화면


위와 같이 모델링한 자동차 모형이 Gazebo에 등장 하는 것을 확인 할 수 있다.

🤖2.1 같은 로봇 여러번 불러오기

같은 로봇을 월드에서 여러번 불러올려면 어떻게 해야할까?
위 과정으로 한번더 spawn 을 launch 하면 에러가 나타나면서 로봇이 월드에 스폰할 수 없다고 나온다.

이유는 중복되는 model_name을 가지는 객체를 소환 할 수 없기 때문이다.
위 문제를 해결하기 위해 아래와 같이 모델네임을 정의 할 수 있게 런치파일을 수정하면 된다.

🚀spawn_robot.launch

<?xml version= "1.0" ?>
<launch>
    <param name="robot_description" command="cat '$(find robot_description)/urdf/robot.urdf'" />
    
    <arg name="model_name" default="my_robot"/>
    <arg name="x" default="0"/>
    <arg name="y" default="0"/>
    <arg name="z" default="0.5"/>
    
    <node name="mybot_spawn" pkg="gazebo_ros" type="spawn_model" output="screen"
          args="-urdf -param robot_description -model $(arg model_name) -x $(arg x) -y $(arg y) -z $(arg z)" />
</launch>
$roslaunch spawn.launch x:=6 model_name:=second

터미널 명령어로 model_name을 선언하여 launch하면 이상없이 아래의 사진처럼 로봇을 스폰 할 수 있다.

profile
GoGoSing

0개의 댓글

관련 채용 정보