[일기] 오픽 후기

2주 전에 영어 오픽 시험을 봤다.

결과도 나왔다.

IM2다. 검색 해보니 대학생 절반은 공부하면 받는다고 나무위키에서 봤던것 같다.

사실 영어 시험을 별로 본적은 없다. 토익도 학교에서 보는걸 봤고 대체수업이라던가.. 그랬다. 이번이 처음 본 영어 시험이였다.

느낀 점은 background servey를 철저하게 준비하면 더 잘받을 수 있겠다. 싶었다.

준비하는 과정은 공부하려고 책 한권 사고 몇 개 주제에 대해 내이야기로 영작하고 읽어본 것 같다.

다음 영어 시험은 한 1월쯤 보는걸로 해서

적어도 servay 관련 내용으로는 말이 술술 나올 수 있도록 준비해야겠다.

사실 한국말로도 관심있는 주제가 아니라면 2-3분 못말할거다. 한국말로도 무슨말 할지 생각도 해보고 영작도 해보고 그러자.


내 취미

자전거, 게임, 글쓰기, 블로그 보기

여행

출장

집, 가족, 회사 이야기



IH를 받을 수 있도록 열심히 해야지

영어를 잘해서 외국 출장도 많이가고

외국 회사에서도 일해보고 그러고 싶다.

파이팅!


This page is synchronized from the post: ‘[일기] 오픽 후기’

What is ros-control

I wrote summary about ros control.
What is ros-control?
How to use ros-control?
Thank you.

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. It uses a generic control loop feedback mechanism, typically a PID controller, to control the output, typically effort, sent to your actuators. ros_control gets more complicated for physical mechanisms that do not have one-to-one mappings of joint positions, efforts, etc but these scenarios are accounted for using transmissions.




There are some modules.



  • Controller manager

  • Controller

  • Hardware interface


ros control


http://gazebosim.org/tutorials/?tut=ros_control


Controller don’t care which module (simulation or hardware) provide data.


Controller needs joint state info and joint command info.





Controller



There are many controller on ros-control.


I used joint state_controller and joint_trajectory_controller for head control.


You need to set control parameter (PID gain, velocity_ff, etc.)


In control.yaml, head_controller has two joint (pan_joint and tilt_joint) and make trajectories.


Trajectories are specified as a set of waypoints to be reached at specific time instants, which the controller attempts to execute as well as the mechanism allows. Waypoints consist of positions, and optionally velocities and accelerations.






Controller_manager


controller_manager manages some controllers


controller_manager needs to load controllers.


<!– Load joint controller configurations from YAML file to parameter server –>


<node name=”controller_spawner” pkg=”controller_manager” type=”spawner” respawn=”false”

output=”screen” ns=”/gretchen” args=”joint_state_controller

head_controller”/>




RQT_GRAPH








How to connect real robot


need to costruct hardware_inferface


It is hardware_interface example.



ROBOTICS made hardware_interface of dynamixel motor for ros-control.




Example


1) Head Controller


Head controller control pan and tilt. input of the controller is tf, joint_states, head_controller/state



  • tf

    • tf is relationship between frames


    • tf is a package that lets the user keep track of multiple coordinate frames over time. tf maintains the relationship between coordinate frames in a tree structure buffered in time, and lets the user transform points, vectors, etc between any two coordinate frames at any desired point in time.








  • joint_states

    • it is raw data from motor controller






  • head_controller/state

    • desired, actual, error check for control

    • it is calculated by controller.





output



  • head_controller/command

    • set radian postion at each joint





2) Other robot


You can easily control the robot manipulator using ros-control and moveit.



3) Simple pan title model



1. User click a point


2. make target_line using the point


Target_line consist of those



  • geometry_msgs/PointStamped target

  • geometry_msgs/Vector3 pointing_axis

  • string pointing_frame

  • duration min_duration

  • float64 max_velocity


3. calculate inverse kinematics for getting joint angles


4. publish angle on each joint


5. move




Why it is need?


Once control part constructed using ros-package.


Perception part focus recognition and just publish u,v.


Reference




This page is synchronized from the post: ‘What is ros-control’

Git, SVN 자주 사용하는 명령어 정리

Ubuntu에서는 git-cola, gitg라는 gui git tool을 사용해서 repo를 관리한다. Window에서는 smartgit을 사용한다. 왠만한 것은 gui에서 해결하지만 가끔 terminal에서 작성해야할 경우가 있다..

자주쓰는데 까먹는걸 여기에 정리한다.


1. 로컬 git repo 만들어서 push하기

git 상태 체크, 어디 브랜치에 있는지, 뭐가 변경되었는지
git status

local git repo 만들기
git init

저장소 내의 모든 파일을 추가한다.
git add .

푸시할 저장소를 연결한다.
git remote add origin https://project.git


2. git 특정 저장소를 복사해서 다른 저장소에 옮기기

복사한다.
git clone --bare https://github.com/passionbull/복사할 레포 저장소.git

복사한 레포로 이동한다.
cd clone_folder_path

옮길 레포 저장소에 푸쉬한다.
git push --mirror https://github.com/tom/옮겨질 레포 저장소.git

이 과정을 하면 저장소의 모든 커밋이 옮겨진다.


3. SVN 관련 명령어

wordpress 플러그인을 업데이트 하기 위해서 svn을 사용해야한다. git으로 하면 얼마나 좋았을까..
굳이 svn gui를 또 설치하고 싶지 않아서 terminal에서 다 해결하기로 했다.
하지만, 항상 까먹어서 history를 보기 때문에 기록을 해놓는다.

checkout (svn server에 있는 코드를 가져온다.)
svn co https://plugins.svn.wordpress.org/warpsteem/ warpsteem_svn/

변경된 사항을 체크할 수 있다.
svn stat

파일 변경된 것을 추가 작업 필요없이 바로 서버로 푸쉬할 수 있다.
svn ci -m “added tag filter”


This page is synchronized from the post: ‘Git, SVN 자주 사용하는 명령어 정리’

Ros_control와 gazebo를 활용한 pan/tilt control

로봇팔이나 머리 등 엑츄에이터를 원하는 곳으로 제어하는 것은 어려운 일이다.


예를 들어, 로봇 팔로 사과를 잡는다고 한다.


사과를 잡기 위해, 로봇 팔의 손가락 (End effector)이 목표하는 위치로 가기 위해서는 팔의 관절 (Joint)들이 각도를 적절히 설정되야한다.


음.. 사람은 자연스럽게 되지만 로봇이 사과를 잡기 위해 관절들의 각도를 계산해야한다. 이것을 역기구학이라고 한다.


하지만 역기구학을 공부를 했다고 하더라도 코드로 작성하는 것은 어려우며, 자유도가 높아질 수록 더 어렵다.


코드를 잘 짠다고 하더라도 수식도 어렵다. 이럴 때는.. 기초적인 것을 이해하고 잘 만들어 논 것을 활용하면 된다.


바로 ros_control..



위의 사진은 공부를 하면서 만든 로봇 머리이다.


이미지에서 좌표를 선택하면, 로봇은 그 좌표를 중심이 되도록 로봇 머리를 움직인다.



공부한 것


1.모터 포지션 컨트롤


모터를 원하는 각도 (위치)로 제어하는 것을 의미한다.


그리고 실제 움직이는 로봇과 시각화 툴에서 그대로 보일수 있도록 한다.


아래 동영상은 joint angle을 수동으로 조작해보는 영상이다.





다음으로는 position control을 해야하는데..


여러 joint의 각도를 설정하여, 모터를 조작하는..


업데이트 예정





2.실제 모터컨트롤러 (micro controller)를 ros_control 모듈과 연동시켜, 상위레벨에서 제어하고자 한다.


Pal robotics


스페인 회사이다.


내가 하고자 하는 것을 제대로 구현을 해놨다.


코드를 보면서 많은 공부가 됐다.



동영상 위치 http://wiki.ros.org/Robots/TIAGo/Tutorials/motions/head_action



  • roslaunch tiago_gazebo tiago_gazebo.launch robot:=titanium public_sim:=true world:=look_to_point

  • rosrun look_to_point look_to_point


이미지에서 좌표 찍은 곳을 바라본다.




카메라 z축이 초록색 직선 A와 일치하게 만든다.


Controller에서는 좌표를 받고, 직선을 만든 후, 직선과 카메라 z축이 일치하게 한다.


Controller는 카메라 z축과 직선 A를 일치시키기 위해, 역기구학 문제를 풀고 pan 과 tilt의 각도를 계산한다.


그리고 joint trajectory를 생성하여 모터를 제어한다.


최종적으로 아래와 같은 결과가 된다.





Perception에서는 좌표를 넘기는 역할을 한다.


예를 들어 음료수에서 감자칩을 볼 수 있도록 x,y 좌표를 넘겨준다.


컨트롤러에서는 좌표를 카메라 축이 보게될 방향으로 변환, 그리고 제어를 한다.




하드웨어


실제 모터 컨트롤러는 아래와 같은 출력과 입력이 필요하다.


출력 : curr_vel, curr_effort, curr_pos


현재 속도, 파워, 위치를 업데이트한다.


입력 : cmd_pos


목표하는 위치(각도)를 입력 받는다.




ROS Control에 연결


추후 정리 예정




참고링크


https://pinkwink.kr/1007


https://pinkwink.kr/1013


Ros control



Head action



실험을 하면서 계속 업데이트할 예정이다.


This page is synchronized from the post: ‘Ros_control와 gazebo를 활용한 pan/tilt control’

[후기] 이오스 나이츠 100층 입주

이오스 나이츠를 한지 10일


드디어 100층에 왔다.


100층부터 유니크 재료가 나오며, 좀 더 강력한 장비를 맞출 수 있다.


지금까지 하면서 느낀점에 대해 간단히 적어본다.



느낀점


게임을 할수록 신경을 덜쓰게된다.


템만 맞춰놓으면 알아서 사냥하기 때문이다.


체감상 장비가 좋아질수록 한판당 시간이 오래 걸리는것 같다.


내가 할 것은 아이템을 팔고 템을 맞추는것




꿀팁


현질은 캐릭터 만들 때, 장비칸, 재료칸 하나씩 늘리는데만 썼다. 1EOS 정도?


그 후로는 재료를 모아 사람들에게 팔았고


판 돈으로 장비를 맞췄다.


꿀팁을 하나 알려주자면


초반 레벨 7까지는 적당히 최저가 템을 사도 괜찮다.


재료를 사서 만드는 것보다 훨씬 싸다.




레벨이 7이 되고 나서는 남는 재료들로


장비를 만들어 사람들에게 팔았다.


이 게임에서 괜찮은게 자기가 잘 사용하던 장비를 그대로 다시 팔 수 있다.


이 무기는 97프로 무기로 얼마에 팔릴지 아주 기대된다. 레벨 11정도 되면 팔 예정이다.



아직까지는 이겜으로 돈을 모은다기 보다는


재미로 하고있다. 템맞추는게 나름 재밌다.


유니크 템을 만드는 것을 기대하고있다.


시간이 나면.. 매크로를 만들어보고 싶긴하다.


근데 매크로 만드는 시간보다 가끔 눌러주는게 낫을거 같다.




100층을 가는 방법


나는 100층을 올라가기 위해 템을 강화했다.


나 같은 경우는 각 캐릭터들의 레벨이 8이다.


그리고 장비 레벨은 7짜리를 끼고 있고 2-3강정도 하고 있다.


이전에 쓰던 장비을 팔고 좋은 장비로 차근차근 바꾸면서 한층한층 올라갔다.


즉, 현질을 하지않는다면 차근차근 재료를 팔아서 아이템을 바꾸거나 강화하면 된다.




두번째 방법은 같이 하는 형이 하고 있는 방법이다. 펫을 강화하면 된다고 한다.


장비는 레벨이 높아질때마다 바꿔야하지만


펫은 좋은거 한번뽑아놓으면 계속쓴다고 펫에 투자했다고 한다.


끝!




궁금한게 있으면 댓글 달아주세요!


친절히 알려드릴게요.


추천인 passionbulll 해주시면 감사합니다.


감사합니다!!


This page is synchronized from the post: ‘[후기] 이오스 나이츠 100층 입주’

[일기] 좋은 글 쓰기

스팀잇을 하고 나서


자주 글을 쓰게 된것 같다.


스팀잇을 하기 전에도 가끔 일기도 쓰긴 했고


워드프레스 블로그에 내가 했던 것을 정리하긴 했다.


하지만 사람들이 보는 글이 아니였고


내가 알아볼 수 있을 정도로만 간단히 적는 경우가 많았다.


물론, 나중에 내가 봐도 다시 못알아보는 경우도 많다.


또.. 연구실에 다닐 때는 논문을 써야했는데


그게 그렇게 힘들수가 없었다.


나는 내가 생각한 것을 구현하는 것에는 어느정도 자신이 있었지만


내가 아는 것, 생각하는 것을 말로 표현하는 것, 글로 쓰는 것은 어려웠다.


이게 각 문장들이 틀리지는 않는데, 서로 연결이 되지 않는다고. 맥락이 없다고..





스팀잇에 자주 글을 쓰게 되면서


글을 잘 쓰고 싶다는 마음이 생겼다.


다른 사람들이 쓴 글들도 많이 보고 기회가 되면 글쓰기 책도 보고


좋은 글을 써야지!

감사합니다.


This page is synchronized from the post: ‘[일기] 좋은 글 쓰기’

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×