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: ‘[일기] 좋은 글 쓰기’

[영화] 보헤미안 랩소디 - 내가 누군지는 내가 결정해



방금 영화를 보고왔다.


영화관을 잘못찾아 앞부분을 조금 못봤다.


앞부분을 못봐서 났던 짜증이 영화를 보면서, 노래를 들으면서 사라졌다.


퀸이라는 가수를 전혀 몰랐지만, 보면서 알게되었다.


노래들이 다 너무 좋다. 한동안은 퀸 노래만 들을 것 같다.

10점 만점에 10점!

맘에 안드는 것은 다 눈감아줄 수 있을것 같다.


퀸의 천재성

이 영화는 노래가 반, 그리고 스토리가 반이다.


스토리에서는 퀸 밴드 사람들의 천재성


싸우다가도 괜찮은 연주를 하면 싸움을 멈추고 연주를 하며


아이디어를 서로 주고받으며 계속 색다른 도전을 하고자 하는 열정


영화로 보면서 되게 멋진사람들이다 생각했다.




그들의 우정


영화만 봐서 실제가 어떤지는 잘 모르겠다.


영화 속에서 싸울 때도 있지만 서로 이해해주고 상처를 감싸주던 따뜻함이 기억난다.




어디서 들어본 노래들


어디서 들어본 노래들이 다 퀸노래였다니..


나는 신나는 노래를 좋아하는데


그런 노래들을 오늘 찾았다.




사랑 이야기


사랑하는 여자가 있었지만


월드 투어를 다녀야 했다.


사랑하는 여자가 있지만


다른 남자도 눈에 들어왔다.


언제나 내곁에 있어줄거라 생각했는데


그렇지 않았다.


슬프지만 놓아주는


그 사람의 행복을 바라는..


그런 주인공의 마음이 느껴지는 것 같았다.




주절주절


노래와 함께 닭살이 돋았다 ㅋㅋ


주인공들의 연주, 창의적인 아이디어, 퍼포먼스


사랑과 우정


밴드를 아우르는 리더의 카리스마


그럼 하늘을 뚫으면 되지!





이 영화는 ..


영화관에서 할 때 한번 더 보겠다.


This page is synchronized from the post: ‘[영화] 보헤미안 랩소디 - 내가 누군지는 내가 결정해’

Google assistant library on ubuntu #1 사전 조사

저는 취미활동으로 저만의 로봇을 만들고 있습니다. 중간중간 쉬고 있긴 하지만 꾸준히 하는중이긴 합니다.


최근에 계속 로봇에 어떻게하면 쉽게 음성인식 기능을 적용할 수 있을까? 에 대해 고민중입니다.


이 포스팅은 구글 어시스턴트를 어떻게 로봇에 적용할까? 에 관련된 포스팅입니다.


구글 어시스턴트 서비스, 라이브러리를 활용해서 제가 할 것은 아래와 같습니다.



  • 음성인식 결과 (사용자가 말한 것) 가져오기

  • Google assistant의 응답 가져오기

  • 특정 명령에 대해서는 내가 설정한 대답, 혹은 동작을 할 수 있도록 한다. (내방 불꺼줘, Jacob이 누구지? – 제이콥은 저를 만든 사람입니다.)

    • 즉, 구글 어시스턴트의 대답과 내가 설정한 것을 선택할 수 있어야함.



  • 시리야, Ok google 과 같은 Custom Invocation (hot word, wake word)이 필요


이 4가지를 로봇에 적용하려고 합니다.


어느정도 진행을 했는데 아직 정리를 못했습니다.


하나하나 정리를 해보려고 합니다.


감사합니다.


이번 글은 먼저 튜토리얼을 따라서 해보고, 여러가지 검색했던 결과들에 대한 나열입니다.



google assistant에 대한 이미지 검색결과


<출처 : https://assistant.google.com/#?modal_active=none>




Google assistant library 튜토리얼


google에서 제공하는 내용이다.


https://developers.google.com/assistant/sdk/guides/library/python/


이대로 따라해보도록 한다.



마이크 체크



  • arecord l

    • 마이크 목록 확인

    • 0 카드, 0 장치 (card 0, device 0)







  • arecord –format=S16_LE –duration=5 –rate=16000 –file-type=raw out.raw

    • 옵션

      • -D hw: card,device

      • -D hw:1,0 (CameraB409241의 마이크 선택)







마이크 추천


https://community.home-assistant.io/t/best-microphone-for-diy-voice-control-components/51265


스피커 체크



  • speaker-test -t wav


프로젝트 관리


프로젝트 관리


https://console.actions.google.com/u/1/project/


보안 관련, key


https://console.developers.google.com/apis/



Google assistant 튜토리얼 결과물


튜토리얼대로 하면 샘플코드를 실행할 수 있다.


hotword ‘OK google’을 하고, 말을 하면 된다.



  • googlesamples-assistant-hotword –project-id proejctID –device-model-id modelID

    • projectID와 modelID는 아래 순서로 들어가서 가져온다.

    • projectID – 구글 액션 콘솔 -> 톱니 -> Project setting -> project ID

    • modelID – 구글 액션 콘솔 ->Device registration -> model ID





기타


Google assistatnt docker 활용 검토


Custom Device Actions


https://developers.google.com/assistant/sdk/device-actions-overview



파이썬 코드 샘플


https://github.com/googlesamples/assistant-sdk-python/tree/master/google-assistant-sdk/googlesamples/assistant/library


무조건 응답이 있는 것 같다.


특정 조건에서 내가 원하는 것을 할 수 있을까?


잘 모르겠다.


GRPC로 해봐야겠다.


Custom Wake


https://github.com/shivasiddharth/GassistPi


https://snowboy.kitt.ai/



참고 프로젝트




https://wiki.odroid.com/odroid-xu4/application_note/software/ai_speaker


This page is synchronized from the post: ‘Google assistant library on ubuntu #1 사전 조사’

Your browser is out-of-date!

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

×