Difference between revisions of "HamsterAPIJava"

From cogniteam
Jump to: navigation, search
Line 247: Line 247:
  
  
 
+
== public NetworkState getNetworkState() throws HamsterError ==
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 265: Line 265:
 
|}
 
|}
  
 
+
== public NavigationState getNavigationState() throws HamsterError ==
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 289: Line 289:
  
  
Method Name
+
{| class="wikitable"
 +
|-
 +
!Method Name !!
 
public void sendSpeed(float velocity, float wheels_angle) throws HamsterError
 
public void sendSpeed(float velocity, float wheels_angle) throws HamsterError
 
+
|-
Method Description
+
| Method Description ||
Sends a speed request to the hamster.
+
* Sends a speed request to the hamster.
If there is an active goal, the speed request will be ignored and a HamsterError will be thrown.
+
* If there is an active goal, the speed request will be ignored and a HamsterError will be thrown.
+
* This method is based on ackermann speed.
This method is based on ackermann speed.
+
|-
 
+
| Return values ||
 
+
|-
Return values
+
| Possible Errors (HamsterError)||
Possible Errors (HamsterError)
+
* Connection Issue.
- Connection Issue.
+
* Running Goal.
- Running Goal.
+
|}
 
 
  
 
 
  
  
Method Name
+
{| class="wikitable"
 +
|-
 +
!Method Name!!
 
public void sendOccupancyGrid(OccupancyGrid grid) throws HamsterError
 
public void sendOccupancyGrid(OccupancyGrid grid) throws HamsterError
 
+
|-
Method Description
+
|Method Description ||
 
Sends an Occupancy Grid to the server to be published.
 
Sends an Occupancy Grid to the server to be published.
 
Can be viewed via RViz.
 
Can be viewed via RViz.
 +
|-
 +
|Return values ||
 +
|-
 +
| Possible Errors (HamsterError)||
 +
*Connection issue
 +
|}
  
Return values
 
Possible Errors (HamsterError)
 
-Connection issue
 
  
  
 
+
{| class="wikitable"
 
+
|-
Method Name
+
!Method Name!!
 
public void switchMode(HamsterMode mode) throws HamsterError
 
public void switchMode(HamsterMode mode) throws HamsterError
 
+
|-
Method Description
+
|Method Description ||
 
Switches hamster mode to one of the following:
 
Switches hamster mode to one of the following:
- Mapping.
+
* Mapping.
- Localization.
+
* Localization.
 +
|-
 +
| Return values ||
 +
|-
 +
|Possible Errors (HamsterError) ||
 +
* Connection Issue.
 +
|}
  
Return values
 
Possible Errors (HamsterError)
 
- Connection Issue.
 
  
 
+
{| class="wikitable"
 
+
|-
 
+
!Method Name !!
Method Name
 
 
 
public void navigateTo(Goal goal) throws HamsterError
 
public void navigateTo(Goal goal) throws HamsterError
Method Description
+
|-
Navigates to a given goal.
+
|Method Description ||
The goal can be either local goal or global goal.
+
* Navigates to a given goal.
 +
* The goal can be either local goal or global goal.
 +
|-
 +
| Return values ||
 +
|-
 +
|Possible Errors (HamsterError) ||
 +
* Connection Issue.
 +
|}
  
Return values
 
Possible Errors (HamsterError)
 
- Connection Issue.
 
  
 
+
{| class="wikitable"
 
+
|-
+
!Method Name !!
 
 
 
 
Method Name
 
 
public void navigateTo(Float distance, Float degrees_angle) throws HamsterError
 
public void navigateTo(Float distance, Float degrees_angle) throws HamsterError
 
+
|-
Method Description
+
|Method Description||
 
Navigates to a given distance and angle. This is simillar to giving a local goal with distance and angle calculated to X and Y.
 
Navigates to a given distance and angle. This is simillar to giving a local goal with distance and angle calculated to X and Y.
 +
|-
 +
|Return values ||
 +
|-
 +
|Possible Errors (HamsterError) ||
 +
* Connection Issue.
 +
|}
  
Return values
 
Possible Errors (HamsterError)
 
- Connection Issue.
 
  
 
+
{| class="wikitable"
 
+
|-
 
+
!Method Name !!
Method Name
 
 
public void setInitialPose(Pose pose) throws HamsterError
 
public void setInitialPose(Pose pose) throws HamsterError
 
+
|-
Method Description
+
|Method Description ||
 
Sets the initial position of the agent on the global map.
 
Sets the initial position of the agent on the global map.
 
This is useful for a starting 0,0 position for mapping or if an agent needs to reposition to a starting position.
 
This is useful for a starting 0,0 position for mapping or if an agent needs to reposition to a starting position.
 +
|-
 +
|Return values ||
 +
|-
 +
|Possible Errors (HamsterError) ||
 +
* Connection Issue.
 +
|}
  
Return values
 
Possible Errors (HamsterError)
 
- Connection Issue.
 
  
 
+
{| class="wikitable"
 
+
|-
Method Name
+
!Method Name!!
 
public void stopNavigation() throws HamsterError
 
public void stopNavigation() throws HamsterError
 
+
|-
Method Description
+
|Method Description||
 
Stops the navigation if there is an active goal.
 
Stops the navigation if there is an active goal.
 +
|-
 +
|Return values ||
 +
|-
 +
|Possible Errors (HamsterError) ||
 +
* Connection Issue.
 +
|}
  
Return values
 
Possible Errors (HamsterError)
 
- Connection Issue.
 
 
 
 
  
  

Revision as of 13:38, 28 February 2017


HamsterAPI Class Documentation

Hamster class File Description All methods below belong to the module HamsterAPI and are a part of the Hamster class HamsterAPIClientJava/Hamster.java The hamster class is the main interface to the Hamster robot.

Constructor

Method Name

Constructor:

  • public Hamster(Integer agent_id) throws HamsterError
  • public Hamster(Integer agent_id, HamsterClientParameters params) throws HamsterError
Method Description

The client parameters contain the following:

  • base_address:
  • The network base address to work with, if the address is 127.0.0 then the connection will always go to loopback

Otherwise it will go to base_adress.agent_id For example : base_address = 10.0.2 agent_id = 1 so it will connect to 10.0.2.1:port

  • port - The port to connect on
Return values
Possible Errors (HamsterError) * Connection Issue.

public Image getCameraImage() throws HamsterError

Method Name

public Image getCameraImage() throws HamsterError

Method Description

Retrieves the camera image from the hamster. Buffer Size - 1.

Return values
Image.
Possible Errors (HamsterError)
  • Empty Buffer.
  • Connection Issue.


public Pose getPose() throws HamsterError

Method Name

public Pose getPose() throws HamsterError

Method Description
  • Retrieves the global pose of the hamster.
  • The global pose is associated with the SLAM part of the hamster.
  • Buffer Size - 1.
Return values
  • Pose (Global)
Possible Errors (HamsterError)
  • Empty Buffer.
  • Connection Issue.


public IMU getIMU() throws HamsterError

Method Name

public IMU getIMU() throws HamsterError

Method Description
  • Retrieves the IMU information from the hamster if an IMU exists.
  • Buffer Size - 1.
Return values

IMU

Possible Errors (HamsterError)
  • Empty Buffer.
  • Connection Issue.


public GPS getGPS() throws HamsterError

Method Name

public GPS getGPS() throws HamsterError

Method Description
  • Retrieves the GPS information from the hamster is a GPS exists.
  • Buffer Size - 1.
Return values

GPS

Possible Errors (HamsterError)
  • Empty Buffer.
  • Connection Issue.


public LidarScan getLidarScan() throws HamsterError

Method Name

public LidarScan getLidarScan() throws HamsterError

Method Description
  • Retrieves the 360 degree lidar scan from the hamster.
  • Buffer Size - 1.
Return values

LidarScan

Possible Errors (HamsterError)
  • Empty Buffer.
  • Connection Issue.


public ColoredScan getColoredScan() throws HamsterError

Method Name

public ColoredScan getColoredScan() throws HamsterError

Method Description

Retrieves a ColoredScan. ColoredScan is a combination of the hamster lidar and camera synchronized. It contains the raw lidar scan and the associated pixels RGB color of the image. Buffer Size - 1

Return values

ColoredScan

Possible Errors (HamsterError)
  • Empty Buffer.
  • Connection Issue.

public Speed getSpeed() throws HamsterError

Method Name

public Speed getSpeed() throws HamsterError

Method Description
  • Retrieves the current speed of the hamster.
  • The is usually the speed given by the latest speed command or from the wandering / navigation.
  • Buffer Size - 1.
Return values

Speed

Possible Errors (HamsterError)
  • Empty Buffer.
  • Connection Issue.


public HamsterMode getHamsterMode() throws HamsterError

Method Name

public HamsterMode getHamsterMode() throws HamsterError

Method Description

Retrieves the current mode of the hamster. The available modes are:

  • Localization.
  • Mapping.
  • Buffer Size - 1.
Return values

HamsterMode

Possible Errors (HamsterError)
  • Empty Buffer.
  • Connection Issue.

public OccupancyGrid getSLAMMap() throws HamsterError

Method Name

public OccupancyGrid getSLAMMap() throws HamsterError

Method Description

Retrieves the current SLAM map that was loaded or created by the hamster as an occupancy grid. Buffer Size - 1.

Return values

OccupancyGrid

Possible Errors (HamsterError)
  • Empty Buffer.
  • Connection Issue.


public HamsterConnections getConnectedHamsters() throws HamsterError

Method Name

public HamsterConnections getConnectedHamsters() throws HamsterError

Method Description

Retrieves the currently living hamsters on the network. Meaning that for example there are 3 hamsters on the same network {agent1, agent2, agent3}. If the current hamster got a heartbeat from all the others, there will be 3 connections on the list. Buffer Size - 1.

Return values

HamsterConnections

Possible Errors (HamsterError)
  • Empty Buffer.
  • Connection Issue.


public BatteryState getBatteryState() throws HamsterError

Method Name

public BatteryState getBatteryState() throws HamsterError

Method Description

Retrieves the current battery state of the hamster. Buffer Size - 1.

Return values

BatteryState

Possible Errors (HamsterError)
  • Empty Buffer.
  • Connection Issue.


public NetworkState getNetworkState() throws HamsterError

Method Name

public NetworkState getNetworkState() throws HamsterError

Method Description

Retrieves the current network state of the hamster with the network. Buffer Size - 1.

Return values

NetworkState

Possible Errors (HamsterError)
  • Empty Buffer.
  • Connection Issue.

public NavigationState getNavigationState() throws HamsterError

Method Name

public NavigationState getNavigationState() throws HamsterError

Method Description

Retrieves the navigation state of the hamster. The navigation state depends whether there was a goal request or not. There are four types of states:

  • Offline.
  • In Progress.
  • Reached Goal.
  • Failure.
  • Buffer Size - 1.
Return values

NavigationState

Possible Errors (HamsterError)
  • Empty Buffer.
  • Connection Issue.


Method Name

public void sendSpeed(float velocity, float wheels_angle) throws HamsterError

Method Description
  • Sends a speed request to the hamster.
  • If there is an active goal, the speed request will be ignored and a HamsterError will be thrown.
  • This method is based on ackermann speed.
Return values
Possible Errors (HamsterError)
  • Connection Issue.
  • Running Goal.


Method Name

public void sendOccupancyGrid(OccupancyGrid grid) throws HamsterError

Method Description

Sends an Occupancy Grid to the server to be published. Can be viewed via RViz.

Return values
Possible Errors (HamsterError)
  • Connection issue


Method Name

public void switchMode(HamsterMode mode) throws HamsterError

Method Description

Switches hamster mode to one of the following:

  • Mapping.
  • Localization.
Return values
Possible Errors (HamsterError)
  • Connection Issue.


Method Name

public void navigateTo(Goal goal) throws HamsterError

Method Description
  • Navigates to a given goal.
  • The goal can be either local goal or global goal.
Return values
Possible Errors (HamsterError)
  • Connection Issue.


Method Name

public void navigateTo(Float distance, Float degrees_angle) throws HamsterError

Method Description

Navigates to a given distance and angle. This is simillar to giving a local goal with distance and angle calculated to X and Y.

Return values
Possible Errors (HamsterError)
  • Connection Issue.


Method Name

public void setInitialPose(Pose pose) throws HamsterError

Method Description

Sets the initial position of the agent on the global map. This is useful for a starting 0,0 position for mapping or if an agent needs to reposition to a starting position.

Return values
Possible Errors (HamsterError)
  • Connection Issue.


Method Name

public void stopNavigation() throws HamsterError

Method Description

Stops the navigation if there is an active goal.

Return values
Possible Errors (HamsterError)
  • Connection Issue.


Method Name public Integer getAgentID() Method Description Getter for the current Agent ID.

Return values AgentID (Integer)

Possible Errors (HamsterError)


Method Name public float getLidarResolution() Method Description Getter for the lidar resolution.

Return values float

Possible Errors (HamsterError)


Method Name public boolean isConnected()

Method Description Checks whether the client is still connected to the server. A connection problem can arise from heartbeat failure or from FIN from the server side.

Return values boolean

Possible Errors (HamsterError)



Method Name public void cleanBuffers()

Method Description Cleans all the buffers for all the messages (this includes the text messages).

Return values Possible Errors (HamsterError)


Method Name public void sendDataMessage(Integer target_agent_id, String message) throws HamsterError

public void sendDataMessage(DataMessage message) throws HamsterError

Method Description Sends a data message to another hamster. This will be published on the network with the current agent id and the target agent id. If the target is in the network, it will receive it. The following API can be used for messages: - hasDataMessages(). - getLatestDataMessage(). - getLatestDataMessages(Amount) - getDataMessagesAmount(). - clearDataMessagesBuffer(). - setDataMessageBufferSize(Amount). - getDataMessageBufferSize(). - sendDataMessage(Agent, DataMessage). -sendBroadcastDataMessage(DataMessage).

Return values Possible Errors (HamsterError) - Connection Issue.




Method Name public void sendBroadcastDataMessage(DataMessage message) throws HamsterError

public void sendBroadcastDataMessage(String message) throws HamsterError


Method Description Sends a data message to all the hamsters on the network. Every hamster that see's the message will pick it up. The following API can be used for messages: - hasDataMessages(). - getLatestDataMessage(). - getLatestDataMessages(Amount). - getDataMessagesAmount(). - clearDataMessagesBuffer(). - setDataMessageBufferSize(Amount). - getDataMessageBufferSize(). - sendDataMessage(Agent, DataMessage). sendBroadcastDataMessage(DataMessage)

Return values Possible Errors (HamsterError) - Connection Issue.




Method Name public DataMessage getLatestDataMessage() throws HamsterError

public List<DataMessage> getLatestDataMessages(Integer amount) throws HamsterError

public DataMessage popLatestDataMessage() throws HamsterError

public List<DataMessage> popLatestDataMessages(Integer amount) throws HamsterError

Method Description Gets/Pops the data messages that were received from the other agents. Will try to get the max possible messages untill the given amount. The following API can be used for messages: - hasDataMessages(). - getLatestDataMessage(). - getLatestDataMessages(Amount). - getDataMessagesAmount(). - clearDataMessagesBuffer(). - setDataMessageBufferSize(Amount). - getDataMessageBufferSize(). - sendDataMessage(Agent, DataMessage). - sendBroadcastDataMessage(DataMessage). Buffer Size - Determined by setDataMessageBufferSize, Defaults to 1000.

Return values DataMessage, List<DataMessage>

Possible Errors (HamsterError) -Empty Buffer. -Connection Issue.


Method Name public boolean hasDataMessages()

Method Description Checks whether there are any messages. The following API can be used for messages: - hasDataMessages(). - getLatestDataMessage(). - getLatestDataMessages(Amount). - getDataMessagesAmount(). - clearDataMessagesBuffer(). - setDataMessageBufferSize(Amount). - getDataMessageBufferSize(). - sendDataMessage(Agent, DataMessage). -sendBroadcastDataMessage(DataMessage).

Return values boolean

Possible Errors


Method Name public Integer getDataMessagesAmount()

Method Description Getter for the amount of data messages. The following API can be used for messages: - hasDataMessages(). - getLatestDataMessage(). - getLatestDataMessages(Amount). - getDataMessagesAmount(). - clearDataMessagesBuffer(). - setDataMessageBufferSize(Amount). - getDataMessageBufferSize(). - sendDataMessage(Agent, DataMessage). - sendBroadcastDataMessage(DataMessage)

Return values Integer

Possible Errors (HamsterError)


Method Name public void clearDataMessagesBuffer()

Method Description Cleans the data message buffer completely. The following API can be used for messages: - hasDataMessages(). - getLatestDataMessage(). - getLatestDataMessages(Amount). - getDataMessagesAmount(). - clearDataMessagesBuffer(). - setDataMessageBufferSize(Amount). - getDataMessageBufferSize(). - sendDataMessage(Agent, DataMessage). - sendBroadcastDataMessage(DataMessage)

Return values Possible Errors (HamsterError)


Method Name

public void setDataMessageBufferSize(Integer size)


Method Description

Setter for the size of the data message buffer. The following API can be used for messages: - hasDataMessages(). - getLatestDataMessage(). - getLatestDataMessages(Amount). - getDataMessagesAmount(). - clearDataMessagesBuffer(). - setDataMessageBufferSize(Amount). - getDataMessageBufferSize(). - sendDataMessage(Agent, DataMessage). - sendBroadcastDataMessage(DataMessage)


Return values

Possible Errors (HamsterError)


Method Name public Integer getDataMessageBufferSize() Method Description Getter for the size of the data message buffer.The following API can be used for messages: - hasDataMessages(). - getLatestDataMessage(). - getLatestDataMessages(Amount). - getDataMessagesAmount(). - clearDataMessagesBuffer(). - setDataMessageBufferSize(Amount). - getDataMessageBufferSize(). - sendDataMessage(Agent, DataMessage). - sendBroadcastDataMessage(DataMessage)


Return values Integer Possible Errors (HamsterError)



Method Name public void reconnect() throws HamsterError

Method Description Tries to reconnect to the server.

Return values Possible Errors (HamsterError) - Connection Issue.


Method Name public void disconnect()

Method Description Disconnects from the server. Return values Possible Errors (HamsterError)