ROS 시리즈 목차

ROS를 공부하면서 정리한 것을 시리즈로 묶어봅니다. ROS에 대한 기본적인 지식, 설명은 시중에 나온 책들이 잘 설명하고 있습니다. 저는 제가 직접 사용하면서 중요하다고 생각한 것, 어려웠던 것, 유용한 것에 대해 설명하고자 합니다. 이 글들이 도움이 되길 바라며..   목차   팬-틸트 컨트롤러 기구 URDF 모델 설계, RVIZ에 그리기 [시뮬레이션] Gazebo 팬-틸트 컨트롤러 모델, URDF 모델 연결하기 소개 더보기 ROS 시리즈 목차[…]

[ROS] Somethings that I think it is important in ROS

ROS 관련 좋은 pdf 자료가 있어서 소개합니다. https://github.com/StevenShiChina/books/blob/master/ros%20by%20example%20vol%201%20indigo.pdf https://github.com/StevenShiChina/books/blob/master/ros%20by%20example%20vol%202%20indigo.pdf 책을 읽으면서, 제가 필요한 부분, 자세히 알고 싶은 부분을 읽어보았고 중요하다고 생각하는 것을 메모합니다. Don’t reinvent the wheel, 만든 것 다시 만들 필요 없다. The guiding principle underlying ROS is “don’t reinvent the wheel”. Many thousands of very smart people have been programming robots for over 소개 더보기 [ROS] Somethings that I think it is important in ROS[…]

[ROS] Tracking a visual target on ros by example vol 1

안녕하세요. 물체 추적하는것 관련으로 검색을 하다가 꽤 괜찮은 방법이 있어 정리해보게 됐습니다. 아래 책에 물체추적하는 파트가 있는데 제 하드웨어에 맞춰서 코드를 작성해봤습니다. 아 그리고, 이 글의 특징은 ROS 상에서 동작한 다는 것입니다. ROS 관련 예제 관련 책, 무료로 제공되는 pdf https://github.com/StevenShiChina/books/blob/master/ros%20by%20example%20vol%201%20indigo.pdf 챕터 12.11 tracking a visual target To track the target, the script uses a 소개 더보기 [ROS] Tracking a visual target on ros by example vol 1[…]

[ROS] Videos related to control motor in ros

The reason that I want to use ros_controls is visualization and control (inverse kinematic and joint_trajectory_controller) like those videos. I show some videos related controlling motos in ros. 나는 ros-control을 활용하여 시각화, 그리고 실제 모터들을 상위 레벨에서의 컨트롤을 하고 싶다. IK 문제를 풀어서,End effector를 목표 좌표로 이동   The video below shows displays the angle 소개 더보기 [ROS] Videos related to control motor in ros[…]

[ROS] State Machine – Smach library

State Machine State Machine에 대해 글을 쓴 적이 있다. 이 때는 직접 구현을 했었는데, 상태가 많아질수록 복잡하다. 특히, 여러 쓰레드에서 상태를 접근하고 상태를 수정하는 과정이 생기면서 복잡해졌다. 물론 멀티 쓰레드에서 상태머신을 활용하는 기법도 이미 있을 것이다. 찾아보지는 않았다. 하지만, 확실히 복잡하며, 일이 많아질 것이다. 거기다가 현재 어떤 상태인지 시각적으로 확인하기는 더욱더 어렵다. 확인하기 위해서 특정 소개 더보기 [ROS] State Machine – Smach library[…]

[ROS] Custom message 생성

ROS에서 message는 노드가 서로 주고받는 데이터를 말한다. custom message는 기존 message type으로 표현하기 어려울 때, 직접 만들어 사용할 수 있다. 예를 들어, 로봇의 odometry는 이미 정해진 구조가 있다. 이 구조를 활용하는 편이 훨씬 좋다. http://docs.ros.org/melodic/api/nav_msgs/html/msg/Odometry.html 나 같은 경우, 물체에 대한 정보를 서로 주고 받고싶다. 마땅히 사용할 message type이 없다면, 이 때 물체에 대한 구조를 새로 소개 더보기 [ROS] Custom message 생성[…]

[ROS] What is ros-control

ros-control http://wiki.ros.org/ros_control   A set of packages that include controller interfaces, controller managers, transmissions and hardware_interfaces. The ros_control packages are a rewrite of the pr2_mechanism packages to make controllers generic to all robots beyond just the PR2. The ros_control packages takes as input the joint state data from your robot’s actuator’s encoders and an input set point. 소개 더보기 [ROS] What is ros-control[…]

[ROS] Pan/Tilt Study #2 가제보 연동 및 MoveIt를 활용한 모터 제어

setup sudo apt-get install ros-kinetic-franka-description roslaunch moveit_setup_assistant setup_assistant.launch execute roslaunch gazebo_ros empty_world.launch paused:=true use_sim_time:=false gui:=true throttled:=false recording:=false debug:=true rosrun gazebo_ros spawn_model -file pan_tilt.urdf -urdf -x 0 -y 0 -z 1 -model panda roslaunch test_moveit demo.launch rviz_tutorial:=true   reference 제3회 오픈 로보틱스 세미나 (제12세션) : 로봇 암 모델링과 MoveIt! 사용법 from Yoonseok Pyo http://docs.ros.org/kinetic/api/moveit_tutorials/html/doc/motion_planning_api/motion_planning_api_tutorial.html    

[ROS] Pan/Tilt Study #1 URDF 정의 및 가제보 연동

URDF 정의 In run_head_urdf.launch <!– Robot description –> <param name=”robot_description” command=”$(find xacro)/xacro.py ‘$(find cam_pan_tilt)/robots/first_robot.xacro'” /> xacro.py는 xacro를 urdf로 변환한다. In first_robot.xacro body, head, materials를 각각 불러온다. 아주 관리하기 편하다. In haed.urdf.xacro head_1, head_2는 head 안에 정의되어있다. 자신의 링크, 그리고 부모 링크, 그리고 두 링크 사이의 조인트를 설정한다. head에서 head_1, head_2, xtion 간의 joint를 설정했다. 가제보 소개 더보기 [ROS] Pan/Tilt Study #1 URDF 정의 및 가제보 연동[…]

[ROS] ros-control과 gazebo를 활용한 Pan/Tilt control

로봇팔이나 머리 등 엑츄에이터를 원하는 곳으로 제어하는 것은 어려운 일이다. 예를 들어, 로봇 팔로 사과를 잡는다고 한다. 사과를 잡기 위해, 로봇 팔의 손가락 (End effector)이 목표하는 위치로 가기 위해서는 팔의 관절 (Joint)들이 각도를 적절히 설정되야한다. 음.. 사람은 자연스럽게 되지만 로봇이 사과를 잡기 위해 관절들의 각도를 계산해야한다. 이것을 역기구학이라고 한다. 하지만 역기구학을 공부를 했다고 하더라도 코드로 소개 더보기 [ROS] ros-control과 gazebo를 활용한 Pan/Tilt control[…]