본문 바로가기

정나우/ROS27

[ROS] Gazebo상에서 rosservice를 이용해서 joint position값 받기 1. rqt를 이용하여 rosservice 값 받기 앞서 포스트한 글을 통해 Gazebo에서 매니퓰레이터가 달린 이동로봇을 불러온 뒤 rqt 를 실행한 뒤 화면 좌상단에 Plugins/services/Service Caller를 클릭하면 Gazebo에서 주고 받을 수 있는 Request와 Response를 확인할 수 있다. 우리는 조인트 값을 받는게 목표이므로 Service에서 /gazebo/get_joint_properties를 선택하고 Call을 누르면 이 서비스에서 주고 받을 수 있는 Request와 Response를 알 수 있다. Request에 있는 Joint name에 Expression에 본인이 값을 받고 싶은 조인트의 이름을 입력해준다. 필자는 조인트 이름이 Body이므로 '' --> 'B.. 2022. 2. 10.
ROS URDF로 이동로봇 위에 매니퓰레이터 만들기 + imu센서 달기 우리의 목적은 이동로봇이 앞뒤로 왔다갔다 하면서 봉이 안 넘어지게 유지하는 것이므로 앞 게시물에 이어서 이동로봇 위에 매니퓰레이터를 달아보겠다. xacro 파일을 열어서 wheel 내용 다음에 아래 내용을 추가한다. 지금은 매니퓰레이터가 하나밖에 없지만 추가로 더 만들고 싶다면 다음과 같은 방식으로 계속해서 추가해 나가면 된다. 처음에는 fixed 타입의 링크와 continuous타입의 링크를 사용해서 흔들리는 모습을 구현했지만, 나중에는 revolute타입의 링크 하나로 구현했다. 그리고 링크가 똑바로 서있게 제어를 할 수 있도록 링크의 끝에 imu센서를 부착한다. 아래 내용을 링크내용 밑에 추가한다. 그리고 gazebo 밑에 imu 플러그 인을 추가한다. 이때 reference, bodyname 등 .. 2022. 1. 22.
ROS URDF로 이동로봇 만들기 cd catkin_ws/src catkin_create_pkg mobile_robot cd mobile_robot mkdir urdf cd urdf gedit body.urdf.xacro body.urdf.xacro 파일 안에 다음 내용을 넣어준다. xacro파일은 urdf를 작성할 때 변수지정, 매크로 등을 사용해서 좀 더 쉽고 편하게 작성할 수 있도록 도와주는 파일이다. transmission_interface/SimpleTransmission 1 hardware_interface/PositionJointInterface transmission_interface/SimpleTransmission 1 hardware_interface/PositionJointInterface transmission_in.. 2022. 1. 9.