プロが教える店舗&オフィスのセキュリティ対策術

irobot createを用いてプログラミングをしているのですが、
jev=env->CallIntMethod( obj, mid[METHOD_ACTIVATE] )
この変数jevがマイナスになってしまい、ロボットの起動に失敗してしまいます。
Couldn't connect to RNBT-07C5
java.lang.NullPointerException
at roombacomm.RoombaCommSerial.send(RoombaCommSerial.java:214)
at roombacomm.RoombaComm.start(RoombaComm.java:232)
at roombacomm.RoombaComm.startup(RoombaComm.java:209)
at robot.Roomba.activate(Roomba.java:76)
java.lang.NullPointerException
at roombacomm.RoombaCommSerial.send(RoombaCommSerial.java:214)
at roombacomm.RoombaComm.control(RoombaComm.java:238)
at robot.Roomba.activate(Roomba.java:77)
java.lang.NullPointerException
at roombacomm.RoombaCommSerial.send(RoombaCommSerial.java:201)
at roombacomm.RoombaComm.setLEDs(RoombaComm.java:671)
at roombacomm.RoombaComm.control(RoombaComm.java:242)
at robot.Roomba.activate(Roomba.java:77)
Checking for Roomba...
java.lang.NullPointerException
at roombacomm.RoombaCommSerial.send(RoombaCommSerial.java:201)
at roombacomm.RoombaComm.sensors(RoombaComm.java:339)
at roombacomm.RoombaComm.sensors(RoombaComm.java:347)
at roombacomm.RoombaCommSerial.updateSensors(RoombaCommSerial.java:238)
at robot.Roomba.activate(Roomba.java:81)
No Roomba. :(
プロンプトに表示されているエラーは上記のみです。

過去には動いていたプログラムなのでプログラムにミスはないと思うのですが、ファイルを入れ損ねている、バージョンが違う、等心当たりが有る方解答お願い致します。

A 回答 (1件)

connect処理が失敗したと思われます。


例外情報から見ると、
RoombaCommSerial.javaの214行目で、NullPointerExceptionが発生しました。
この行のソースは、
output.write(b & 0xff); // for good measure do the
となっています。つまり、outputがNULLだったと推測可能です。
このoutput変数は、connect処理の延長にあるopen_port処理が正しく処理される場合にのみ、設定されます。

なので、一度、connect関数の戻り値を確認してください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!