Linux2018.05.01 13:04





git clone https://gitlab.com/TeeFirefly/uboot.git

make rk3399_box_defconfig

make ARCHV=aarch64






rkdeveloptool db ./u-boot/rk3399_loader_v1.08.109.bin

rkdeveloptool ul ./u-boot/rk3399_loader_v1.08.109.bin

rkdeveloptool gpt ./emmc/parameter_linux.txt

rkdeveloptool prm ./emmc/parameter_linux.txt





parameter_linux.txt


FIRMWARE_VER: 7.1.1

MACHINE_MODEL: rk3399-box

MACHINE_ID: 007

MANUFACTURER: RK3399

MAGIC: 0x5041524B

ATAG: 0x00200800

MACHINE: 3399

CHECK_MASK: 0x80

PWR_HLD: 0,0,A,0,1

#KERNEL_IMG: 0x00280000

#FDT_NAME: rk-kernel.dtb

#RECOVER_KEY: 1,1,0,20,0

#in section; per section 512(0x200) bytes

CMDLINE: console=ttyFIQ0 root=/dev/mmcblk1p6 rw rootwait mtdparts=rk29xxnand:0x00002000@0x00002000(uboot),0x00002000@0x00004000(trust),0x00008000@0x00006000(resource),0x0000A000@0x0000E000(kernel),0x00002000@0x00018000(backup),-@0x0001A000(boot)  




parameter_android.txt


FIRMWARE_VER: 7.1.1

MACHINE_MODEL: rk3399-box

MACHINE_ID: 007

MANUFACTURER: RK3399

MAGIC: 0x5041524B

ATAG: 0x00200800

MACHINE: 3399

CHECK_MASK: 0x80

PWR_HLD: 0,0,A,0,1

#KERNEL_IMG: 0x00280000

#FDT_NAME: rk-kernel.dtb

#RECOVER_KEY: 1,1,0,20,0

#in section; per section 512(0x200) bytes

CMDLINE: androidboot.baseband=N/A androidboot.selinux=permissive androidboot.hardware=rk30board androidboot.console=ttyFIQ0 init=/init mtdparts=rk29xxnand:0x00002000@0x00002000(uboot),0x00002000@0x00004000(trust),0x00002000@0x00006000(misc),0x00008000@0x00008000(resource),0x0000C000@0x00010000(kernel),0x00010000@0x0001C000(boot),0x00010000@0x0002C000(recovery),0x00038000@0x0003C000(backup),0x00040000@0x00074000(cache),0x00300000@0x000B4000(system),0x00008000@0x003B4000(metadata),0x00002000@0x003BC000(baseparamer),-@0x003BE000(userdata) 



'Linux' 카테고리의 다른 글

AIO 3399J uboot 빌드  (0) 2018.05.01
우분투 업데이트시 fetch fail 날 경우  (0) 2014.06.11
apt-get 명령 정리  (0) 2014.06.11
Ubuntu 시간 설정  (0) 2014.01.01
우분투 시간 설정  (0) 2013.12.28
블루투스 시리얼 포트 설정  (0) 2013.12.11
Posted by chcbaram
분류없음2017.10.18 02:21

OpenOCD를 이용하여 디버깅 할려고 할때 nRF52832는 아직 플래지 지원이 되지 않아 지원되는 버전을 소스를 다시 컴파일해서 사용해야 한다. 


아직은 리눅스에서 가능하고 윈도우용은 찾아 봐야 할 것 같다.





git clone git://git.code.sf.net/p/openocd/code openocd-code


cd openocd-code/ 


./bootstrap
./configure
make
sudo make install

Posted by chcbaram
Robots2017.10.09 23:22

Arduino IDE에 햄스터로봇을 추가하고, Hamster 라이브러리를 이용하여 로봇을 제어 할 수 있다. 아래 예제를 Arduino 스케치로 작성하고 실행하며, 햄스터로봇이 손바닥과의 일정 거리를 유지하면서 움직이는것을 볼 수 있다. 
Hamster 라이브러리는 기존의 hamster의 api를 포팅하였음으로 기존의 예제들을 대부분 사용 할 수 있다. 


hamster 라이브러리에서 구현된 함수는 아래와 같다. 모든 api 함수가 포팅된것은 아님으로 주의가 필요하다. 

// API
//
void wheels(double leftSpeed, double rightSpeed);
void leftWheels(double speed);
void rightWheels(double speed);
void stop(void);
void leds(int leftColor, int rightColor);
void leftLed(int color);
void rightLed(int color);
void beep();
void buzzer(double hz);
int leftFloor(void);
int rightFloor(void);
int leftProximity(void);
int rightProximity(void);
int accelerationX(void);
int accelerationY(void);
int accelerationZ(void);
int light(void);
int temperature(void);

 




주의할 점은 hamster.begin 함수의 파라메터로 햄스터 로봇 제어를 위한 USB 동글의 시리얼포트를 입력해 주어야한다. 시리얼 포트 번호를 연결되는 PC마다 다를 수 있기때문에 확인 후에 해당 번호로 입력한다.


#include <hamster.h>


Hamster hamster;



void setup() {

  // put your setup code here, to run once:

  hamster.begin("COM16");

}


void loop() {

  int left;

  int right;

  int length;

  int error;

  int error_handle;

  int motor_speed = 0;

  int l_speed = 0;

  int r_speed = 0;

  int speed_control_out;

  int handle_control_out;

  int error_margin = 3;


  

  left  = hamster.leftProximity();

  right = hamster.rightProximity(); 

  length = left+right / 2;


  error = 60 - length;

  speed_control_out = error / 1;

  if (speed_control_out < error_margin && speed_control_out > -error_margin)

  {

    speed_control_out = 0;

  }

  

  error_handle = (left - right);

  handle_control_out = error_handle / 1;

  if (handle_control_out < error_margin && handle_control_out > -error_margin)

  {

    handle_control_out = 0;

  }

  

  l_speed = speed_control_out - handle_control_out;

  r_speed = speed_control_out + handle_control_out;


  l_speed = constrain(l_speed, -100, 100);

  r_speed = constrain(r_speed, -100, 100);


  if (length == 0)

  {

    l_speed = 0;

    r_speed = 0;

  }

  Serial.print(length);

  Serial.print(" ");  

  Serial.print(error);

  Serial.print(" ");

  Serial.print(speed_control_out);

  Serial.print(" ");

  Serial.print(handle_control_out);

  Serial.print(" ");

  Serial.print(motor_speed);

  Serial.println("");


  hamster.wheels(l_speed, r_speed);

  delay(20);








'Robots' 카테고리의 다른 글

[햄스터로봇] 손따라가기 예제  (0) 2017.10.09
[햄스터로봇] Arduino 하드웨어 설치  (0) 2017.10.09
외골격 로봇  (0) 2017.07.06
Posted by chcbaram
Robots2017.10.09 23:19



햄스터 아두이노 하드웨어 설치

https://github.com/chcbaram/hamster_arduino 에서 소스코드를 다운로드 한다. 

내문서 폴더안에 있는 Arduino\hardware 폴더에 다운로드한 소스코드를 hamster라는 폴더로 압축을 해제한다. 


압축을 해제하면 hamster 밑에 hamster 폴더와 tools 폴더가 있다. tools 폴더 안에는 초기에는 cmd_run 폴더만 존재한다. mingw64는 윈도우에서 사용할 수 있는 gcc 컴파일러로 별도로 다운로드해서 복사를 해 주어야 한다. 


아래 사이트에서 최신 버전을 다운로드 후에 hamster/tools 폴더 아래에 압축을 해제 한다. 그러면 mingw64 폴더가 생성이 되고 gcc 컴파일러가 복사된다. 

https://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/4.8.1/64-bit/threads-posix/seh/


GCC 실행을 위해 DLL파일들이 필요한데, Arduino IDE 폴더에 해당 DLL을 복사 해줘야 정상적으로 GCC가 실행된다. mingw64->bin 폴더에 있는 아래 dll 파일들을 모두 Arduino IDE 설치 폴더에 복사를 한다. 




Arduino IDE 실행


Arduino IDE를 실하고 Tools->Board에 가면 hamster 보드가 추가된것을 볼 수 있다. 이제 부터는 hamster를 선택하면 햄스터로봇에 아두이노를 이용하여 코딩 할 수 있다.





'Robots' 카테고리의 다른 글

[햄스터로봇] 손따라가기 예제  (0) 2017.10.09
[햄스터로봇] Arduino 하드웨어 설치  (0) 2017.10.09
외골격 로봇  (0) 2017.07.06
Posted by chcbaram
분류없음2017.07.28 08:58


git 설치 관련


opkg update

opkg install git-http
opkg install ca-bundle



Posted by chcbaram
Robots2017.07.06 16:15

1. 사이버다인 HAL

   : http://www.itworld.co.kr/news/55137


2. HEXAR Systems

   : http://hexarsystems.com/new/product/product_p04.php


3. 외골격 국내 전문가 발표

   : https://www.slideshare.net/KOS-ROBOT/ss-51447335


4. 수트 x

  : http://www.irobotnews.com/news/articleView.html?idxno=9207


5. 엑소 바이오닉스

  : http://eksobionics.com/


6. 착용형 로봇 기술 현황

  : https://www.google.co.kr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&ved=0ahUKEwjKs9CpjPTUAhXMxrwKHVNHB7IQFggpMAE&url=http%3A%2F%2Fwww.irobotnews.com%2Fnews%2FarticleView.html%3Fidxno%3D3475&usg=AFQjCNGQ0M6LTN7x3G1brBpsTZPCTG0lqQ       



'Robots' 카테고리의 다른 글

[햄스터로봇] 손따라가기 예제  (0) 2017.10.09
[햄스터로봇] Arduino 하드웨어 설치  (0) 2017.10.09
외골격 로봇  (0) 2017.07.06
Posted by chcbaram
Etc2017.05.22 10:16





'Etc' 카테고리의 다른 글

SPI 모드 설명  (0) 2017.05.22
Posted by chcbaram
ROS/Study2016.08.18 01:43




$ rosparam set urg_node/seri_port /dev/ttyACM1

$ sudo chmod a+rw /dev/ttyACM1

$ rosrun urg_node urg_node


'ROS > Study' 카테고리의 다른 글

urg_node 통신 속도 변경하기  (0) 2016.08.18
urg_node kinetic 설치  (0) 2016.08.14
[ROS Study] 메세지 주고 받기  (0) 2014.02.02
Posted by chcbaram
ROS/Link2016.08.16 11:47



ROS를 이용하여 로봇을 만들고 있는 네이버 블로그 링크


http://m.blog.naver.com/PostList.nhn?blogId=dolmangi&categoryNo=24&logCode=0&categoryName=%EB%98%90%EB%A6%AC2

'ROS > Link' 카테고리의 다른 글

ROS용 로봇 제작 링크(또리)  (0) 2016.08.16
Posted by chcbaram
ROS/Study2016.08.14 22:35



kinetic 버전에서 아직 urg_node가 정식 릴리즈 되지 않았기 떄문에 소스로 설치를 해야 한다.




 laser_proc  패키지 설치


$ git clone https://github.com/ros-perception/laser_proc.git
$ cm



 urg_c 패키지 설치


$ git clone https://github.com/ros-drivers/urg_c.git

$ cm



 urg_c 패키지 설치


$ git clone https://github.com/ros-drivers/urg_node.git

$ cm




'ROS > Study' 카테고리의 다른 글

urg_node 통신 속도 변경하기  (0) 2016.08.18
urg_node kinetic 설치  (0) 2016.08.14
[ROS Study] 메세지 주고 받기  (0) 2014.02.02
Posted by chcbaram