로봇을 불렀으면, cmd_vel 토픽으로 움직이고 싶다. 찾다보니 gazebo가 제공하는 plugin로 움직일 수 있음을 알았다. 플러그인 설정으로 어느 토픽을 읽어서 모델을 움직일지 결정한다. https://classic.gazebosim.org/tutorials?tut=ros_gzplugins gcamp_gazebo 샘플 프로그램을 참조 했다. gazebo로 로봇을 움직이려면 필요한 몇 개 파일을 만들어야 한다. now0930@amd2004:~/ros_test/workspace/src/wander_bot$ tree . ├── CMakeLists.txt ├── gazebo_world.launch ├── launch │ ├── hello.launch │ ├── my_world.launch │ └── robot_description.launch…… gazebo plug in으로 robot move 계속 읽기
[카테고리:] 생활코딩
gazebo에서 spawn model
물리 엔진을 가지고 있는 gazebo로 로봇을 만들지 않고도 쉽게 테스트 해 볼 수 있다. 기본 설정 파일이 있는데, 사용자가 취향에 맞춰 자유롭게 환경 설정을 할 수도 있다. 빈 공간에 각종 모듈을 불러 내 공간에 넣고, gazebo tutorial을 따르면 로봇도 spawn 가능하다. Programming Robots With Ros 책 144p에 보면 간단한 python 파일을 만들고 gazebo에 로딩하는 내용이…… gazebo에서 spawn model 계속 읽기
Euler transform과 quarternion
여러 사이트를 돌아 다니다 발견한 개념 동영상. 이거 보면 한 번에 이해 된다. https://youtu.be/XgE7tOSc7AU Euler transform 으로 key frame 사이 보간을 제대로 할 수 없다.x축 회전 -> y축 회전 -> z축 회전 상태와 y축 회전 -> x축 회전 -> z축 회전 상태가 다르다.quarternion은 key frame 사이 보간을 제대로 표현할 수 있다.Euler transform은 x, y, z…… Euler transform과 quarternion 계속 읽기
urdf 작성하여 rviz로 표시하기
tutorial site를 참조하여 실습을 했다. 로봇 살 돈이 없어 몸으로 때우는 수 밖에. 요즘 원자재와 공급망 이슈로 값도 오르고 구하기도 힘들다. 막상 사 보면 그렇게 자주 쓰이지도 않아 보인다. https://www.notion.so/2-2-1-URDF-930e055d01ee49cd859ac02ea8770325 http://wiki.ros.org/urdf/Tutorials/Building%20a%20Visual%20Robot%20Model%20with%20URDF%20from%20Scratch 3차원 그래픽을 직접 수정하여 각 좌표를 찾으면 쉬운데, URDF 형식이 지원하지 않는다. 각 부품이 어디에 붙는지 계산하여 직접 입력해야 한다. urdf를 수정 한 후…… urdf 작성하여 rviz로 표시하기 계속 읽기
ros를 nvidia docker로 돌리기
최신 ros docker 이미지로 gazebo를 그냥 돌리면 초당 4 frame으로 업데이트 된다. 참고 사용 사용하려다 느려 도저히 사용할 수 없어 방법을 찾아 봤다. nvidia-docker로 runtime을 nvidia로 입력해 주면 초 당 60 프레임으로 업데이트 된다. 금방 할 수 있어 찾은 보람이 있다. http://wiki.ros.org/docker/Tutorials/Hardware%20Acceleration 위 사이트를 참조하여 아래 Dockerfile로 새롭게 이미지를 만들었다. FROM osrf/ros:noetic-desktop-full # nvidia-container-runtime ENV…… ros를 nvidia docker로 돌리기 계속 읽기