...
- 打开GoHomeCharge工程,检查libs路径下是否有 slamware_sdk_android.jar 文件,以及jinLibs路径下是否有 librpsdk.so 文件,若想尝试其他版本的SDK,请直接将这两个文件替换。
到 Project Structure --> app --> Dependencies 检查Slamware SDK是否添加到工程中。
将以下代码段的"10.0.130.71"修改为底盘的IP地址,默认情况下为192.168.11.1,当WIFI处于Station模式下请将PC与底盘使用Ethenet连接后查看。方法说明:AbstractSlamwarePlatform connect(String host, int port),其中host为底盘IP,port为网络端口号,返回值为底盘的实例对象。
Code Block language java theme Midnight /* 与底盘连接 */ AbstractSlamwarePlatform robotPlatform = DeviceManager.connect("10.0.130.71", 1445);
Android设备连接底盘发射出的WIFI或连入底盘的同一网络,按下shift + F10 运行
Info 本例程仅仅用作最简单SDK类和方法的演示,故没有设计Android界面
- 机器人底盘在中、高、低三种不同速度下的运动状况可通过RoboStudio观察到
view-fileMultimedia name SpeedRegulation.mp4 height 250
...
代码描述
机器人会以低中高三档速度运动在三角形三边循环运动,其速度取决于slamcore固件设定,官网固件设定为0.15m/s 0.25m/s 0.35m/s
Code Block language java theme Midnight title 自动回充 linenumbers true /* 与底盘连接 */ final AbstractSlamwarePlatform robotPlatform = DeviceManager.connect("10.0.130.71", 1445); IMoveAction action; try { action = robotPlatform.getCurrentAction(); } catch (ConnectionFailException e) { /* Exception Handle code*/ .... } Location location1 = new Location(0, 1, 0); Location location2 = new Location(1, 0, 0); Location location3 = new Location(0, 0, 0); while (true) { try { action = robotPlatform.moveTo(location1, false, true); if (action.getStatus() == ActionStatus.ERROR) { Log.d(TAG, "Acvtion Faild, " + action.getReason()); } robotPlatform.setSystemParameter(SYSPARAM_ROBOT_SPEED, SYSVAL_ROBOT_SPEED_HIGH); Log.d(TAG, "Robot is moving to " + "(" + location1.getX() + ", " + location1.getY() + ")"); action.waitUntilDone(); action = robotPlatform.moveTo(location2, false, true); if (action.getStatus() == ActionStatus.ERROR) { Log.d(TAG, "Acvtion Faild, " + action.getReason()); } robotPlatform.setSystemParameter(SYSPARAM_ROBOT_SPEED, SYSVAL_ROBOT_SPEED_LOW); Log.d(TAG, "Robot is moving to " + "(" + location2.getX() + ", " + location2.getY() + ")"); action.waitUntilDone(); action = robotPlatform.moveTo(location3, false, true); if (action.getStatus() == ActionStatus.ERROR) { Log.d(TAG, "Acvtion Faild, " + action.getReason()); } robotPlatform.setSystemParameter(SYSPARAM_ROBOT_SPEED, SYSVAL_ROBOT_SPEED_MEDIUM); Log.d(TAG, "Robot is moving to " + "(" + location3.getX() + ", " + location3.getY() + ")"); action.waitUntilDone(); } catch (ConnectionTimeOutException e) { /* Exception Handle code*/ .... }