| 1 | [[TracNav(TOC:BTR)]] |
| 2 | = !BabyTigers - R : LLSF-refbox = |
| 3 | * The following link provides you the ubuntu iso file with !RefBox. |
| 4 | * '''[DOWNLOAD]''' [http://friede.elec.ryukoku.ac.jp/~wataru/install-refbox_2014_07_15.iso modified Ubuntu 12.10 instalation dvd image with refbox] (1.1GB) --- 2014/07/01 updated. |
| 5 | * 27cae760aa7300c4ac302f40eb337b22 install-refbox_2014_07_15.iso |
| 6 | * Openssh-server is automatically reconfigured after booting up. |
| 7 | * ~~sudo dpkg-reconfigure opnssh-server~~ |
| 8 | * Then the SSH2 keys are cleared. So please delete key data from ~/.ssh/known_hosts of your client computer. |
| 9 | ---- |
| 10 | == LLSF: communication program between !ProtoBuf and !RoboView2 == |
| 11 | * In 2014 LLSF requires the communication between !RefBox and your robots using !ProtoBuf. |
| 12 | * However, !RoboView2 cannot connect to the !RefBox because communication format of !RoboView2 is not variable length. |
| 13 | * Now I provide you the relay program between !ProtoBuf and !RoboView2.[[br]][[br]] |
| 14 | * src/tools/llsf-view2.cpp is the relay program which is made from llsf-fake-robot.cpp. |
| 15 | |
| 16 | * This program uses 3 virtual IPs related to robotinos. |
| 17 | * So please use this program with 4 arguments which includes 3 robotinos' names and 1 team name. |
| 18 | * And you need enter following commands as root (llsf-refbox/view2/mkif.sh). |
| 19 | {{{ |
| 20 | ifconfig eth0:0 (virtual IP #1) |
| 21 | ifconfig eth0:1 (virtual IP #2) |
| 22 | ifconfig eth0:2 (virtual IP #3) |
| 23 | }}} |
| 24 | * Then setup config.yaml at the robotino1 to robotino3 fields. |
| 25 | * And both view2send and view2recv fields shows the file name from/to communication of ProtoBuf. |
| 26 | * If you use roboView2 on Windows-OS, then please run samba (sudo smbd). |
| 27 | * And you can access the Linux file system via your explorer. |
| 28 | * Please use refbox-view2.rvw2 as the sample program (at llsf-refbox/view2). |
| 29 | ---- |
| 30 | === communication format between !RefBox and View2 via the file === |
| 31 | * file format is |
| 32 | * fprintf(fp, "%d\t%d\t", sendData.phase, sendData.state); |
| 33 | * for(int i = 0; i < 3; i++) fprintf(fp, "%d\t", sendData.quantity_requested[i]); |
| 34 | * for(int i = 0; i < 3; i++) fprintf(fp, "%d\t", sendData.quantity_delivered[i]); |
| 35 | * for(int i = 0; i < 5; i++) for(int j = 0; j < 3; j++) fprintf(fp, "%d\t", sendData.lspec_state[i][j]); |
| 36 | * for(int i = 0; i < 24; i++) fprintf(fp, "%d\t", sendData.mType[i]); |
| 37 | * for(int i = 0; i < 24; i++) fprintf(fp, "%d\t", sendData.mColor[i]); |
| 38 | ---- |
| 39 | |
| 40 | At !RefBox-view2 uses these variables. |
| 41 | * <!BeaconSignal> |
| 42 | * std::string view2_robots; |
| 43 | * view2_robots = "Detected robot: " + b->team_name() + ":" + b->peer_name(); |
| 44 | * <!GameState> |
| 45 | * std::string view2_time; |
| 46 | * sprintf(time, "%02i:%02i:%02i", hour, min, sec); |
| 47 | * view2_time = time; |
| 48 | * std::string view2_phase; |
| 49 | * view2_phase = llsf_msgs::GameState::Phase_Name(gs->phase()); |
| 50 | * std::string view2_state; |
| 51 | * view2_state = llsf_msgs::GameState::State_Name(gs->state()); |
| 52 | * std::string view2_points; |
| 53 | * sprintf(point, "%u:%u", gs->points_cyan(), gs->points_magenta()); |
| 54 | * view2_points = point; |
| 55 | * <!OrderInfo> |
| 56 | * std::string view2_oa[12]; |
| 57 | * sprintf(u, "%u", o.quantity_delivered()); |
| 58 | * view2_oa[o.id() - 1] = u; |
| 59 | * std::string view2_ob[12]; |
| 60 | * sprintf(u, "%u", o.quantity_requested()); |
| 61 | * view2_ob[o.id() - 1] = u; |
| 62 | * std::string view2_otime[11]; |
| 63 | * view2_otime[o.id() - 1] = time; |
| 64 | * std::string view2_odest[11]; |
| 65 | * view2_odest[o.id() - 1] = llsf_msgs::Order::!DeliveryGate_Name(o.delivery_gate()); |
| 66 | * <!VersionInfo> |
| 67 | * <!ExplorationInfo> |
| 68 | * sendData.lspec_state[es.type()[1] - '1'][lspec.color()] = lspec.state(); |
| 69 | * <!MachineInfo> |
| 70 | * sendData.mType[std::atoi(m.name().substr(1, 2).c_str())] = std::atoi(m.type().substr(1, 2).c_str()); |
| 71 | * <!MachineReportInfo> |
| 72 | * <!RobotInfo> |
| 73 | * Others |
| 74 | * std::string view2_message; |
| 75 | * std::string view2_log[10]; |
| 76 | * std::string view2_p[24]; |
| 77 | * std::string view2_t[10]; |
| 78 | * std::string view2_sigG[16]; |
| 79 | * std::string view2_sigY[16]; |
| 80 | * std::string view2_sigR[16]; |
| 81 | * std::string view2_pk[10]; |
| 82 | * int m_type[11]; |
| 83 | * unsigned int gameHour, gameMin, gameSec; |
| 84 | ---- |
| 85 | ==== Advice for install of !RefBox ==== |
| 86 | * If you use Ubuntu 12.10, please install following packages. |
| 87 | {{{ |
| 88 | apt-get install libncurses5-dev libprotoc-dev |
| 89 | }}} |
| 90 | ---- |
| 91 | === install !RefBox to your machine easily === |
| 92 | * Please use this '''[DOWNLOAD]''' [http://friede.elec.ryukoku.ac.jp/~wataru/install-refbox.iso modified Ubuntu 12.10 instalation dvd image] |
| 93 | * You can install Ubuntu 12.10 with !RefBox by using this ISO to your desktop, laptop, and/or virtual computer. |
| 94 | * After boot this ISO, default selecting is '''live - boot the Live System'''. So please select '''install - start the installer directly''', if you want to make your machine using this ISO. |
| 95 | * username : robotino, password : robotino. |
| 96 | ---- |