## Submodules¶

class openai_ros.task_envs.wamv.wamv_nav_twosets_buoys.WamvNavTwoSetsBuoysEnv[source]
__init__()[source]

Make Wamv learn how to move straight from The starting point to a desired point inside the designed corridor. http://robotx.org/images/files/RobotX_2018_Task_Summary.pdf Demonstrate Navigation Control

__module__ = 'openai_ros.task_envs.wamv.wamv_nav_twosets_buoys'
_compute_reward(observations, done)[source]

We Base the rewards in if its done or not and we base it on if the distance to the desired point has increased or not :return:

_get_obs()[source]

Here we define what sensor data defines our robots observations To know which Variables we have access to, we need to read the WamvEnv API DOCS. :return: observation

_init_env_variables()[source]

Inits variables needed to be initialised each time we reset at the start of an episode. :return:

_is_done(observations)[source]

We consider the episode done if: 1) The wamvs is ouside the workspace 2) It got to the desired point

_set_action(action)[source]

It sets the joints of wamv based on the action integer given based on the action number given. :param action: The action integer that sets what movement to do next.

_set_init_pose()[source]

Sets the two proppelers speed to 0.0 and waits for the time_sleep to allow the action to be executed

get_distance_from_desired_point(current_position)[source]

Calculates the distance from the current position to the desired point :param start_point: :return:

get_distance_from_point(pstart, p_end)[source]

Given a Vector3 Object, get distance from current position :param p_end: :return:

get_orientation_euler(quaternion_vector)[source]
is_in_desired_position(current_position, epsilon=0.05)[source]

It return True if the current position is similar to the desired poistion

is_inside_workspace(current_position)[source]

Check if the Wamv is inside the Workspace defined