-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clearpath Heron USV #6548
Open
harunkurtdev
wants to merge
39
commits into
cyberbotics:master
Choose a base branch
from
harunkurtdev:clearpath_heron_usv
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Clearpath Heron USV #6548
Changes from 37 commits
Commits
Show all changes
39 commits
Select commit
Hold shift + click to select a range
2160558
heron usv project
harunkurtdev 437c99a
swarm
harunkurtdev 3fc6493
swarm
harunkurtdev 5be6b7a
swarm.wbproj
harunkurtdev f6cbbb6
heron.png
harunkurtdev a6e8881
heron.png and protofile
harunkurtdev fdf1865
keyboard controller and proto head
harunkurtdev 071ddd2
Heron.proto header add
harunkurtdev 26cba49
Heron.proto header version change
harunkurtdev cc85b84
ocean.wbt and swarm.wbt change version
harunkurtdev d55d15c
ocean.wbt and swarm.wbt change version
harunkurtdev 112c5f1
windows delete artificats
harunkurtdev 39281ee
windows delete artificats
harunkurtdev 3041cc1
ocean.sample.png
harunkurtdev 17892cf
Create heron.md
harunkurtdev 34af82d
documents add all of
harunkurtdev 5d3be71
new update for heron.md and Heron.proto file
harunkurtdev ae1afe0
Merge branch 'master' into clearpath_heron_usv
omichel 3e68ab5
heron file update
harunkurtdev 1c8e0d0
heron file update
harunkurtdev 6d39e18
heron.md changed
harunkurtdev b2b4dcf
update .wbt
harunkurtdev 4ab51e9
Merge branch 'master' into clearpath_heron_usv
omichel 2be06b5
Merge branch 'master' into clearpath_heron_usv
harunkurtdev b84139f
heron_collision.stl insert Heron.proto
harunkurtdev aba20d8
ocean.wbproj update
harunkurtdev 5794f2c
heron.md update
harunkurtdev d6191a4
Update heron.md
harunkurtdev 7745d18
Update projects/robots/clearpath/heron/protos/docs/heron.md
omichel 63da118
Update projects/robots/clearpath/heron/protos/docs/heron.md
omichel 75d5d91
format changed
harunkurtdev 2c617f2
lidar plate rear removed
harunkurtdev 84e8f15
hidden removed
harunkurtdev abd8d62
image update
harunkurtdev 01437d8
changed proto format and obj folder new name is stl
harunkurtdev a2e0feb
image size changed
harunkurtdev 11766f2
hidden remove
harunkurtdev 95c3a1e
changed linear and angular velocity nae
harunkurtdev 1d5966b
Merge branch 'cyberbotics:master' into clearpath_heron_usv
harunkurtdev File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
61 changes: 61 additions & 0 deletions
61
projects/robots/clearpath/heron/controllers/heron_usv_controller/heron_usv_controller.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
# Copyright 1996-2023 Cyberbotics Ltd. | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# https://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
from controller import Robot, Keyboard | ||
|
||
# Create the Robot instance. | ||
robot = Robot() | ||
|
||
keyboard = Keyboard() | ||
keyboard.enable(1000) | ||
|
||
# Get the time step of the current world. | ||
timestep = int(robot.getBasicTimeStep()) | ||
|
||
# Get left and right motors. | ||
left_motor = robot.getDevice('left_motor') | ||
right_motor = robot.getDevice('right_motor') | ||
|
||
# Enable position control mode for motors. | ||
left_motor.setPosition(float('inf')) | ||
right_motor.setPosition(float('inf')) | ||
|
||
# Set initial velocities. | ||
left_velocity = 0.0 | ||
right_velocity = 0.0 | ||
|
||
# Main loop: | ||
# - perform simulation steps until Webots is stopping the controller | ||
while robot.step(timestep) != -1: | ||
# Read keyboard input. | ||
key = keyboard.getKey() | ||
# Process keyboard input. | ||
if key == ord('W') or key == ord('w'): | ||
left_velocity = 5.0 | ||
right_velocity = 5.0 | ||
elif key == ord('S') or key == ord('s'): | ||
left_velocity = -5.0 | ||
right_velocity = -5.0 | ||
elif key == ord('A') or key == ord('a'): | ||
left_velocity = -2.5 | ||
right_velocity = 2.5 | ||
elif key == ord('D') or key == ord('d'): | ||
left_velocity = 2.5 | ||
right_velocity = -2.5 | ||
else: | ||
left_velocity = 0.0 | ||
right_velocity = 0.0 | ||
# Set motor velocities. | ||
left_motor.setVelocity(left_velocity) | ||
right_motor.setVelocity(right_velocity) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,184 @@ | ||
#VRML_SIM R2024a utf8 | ||
# license: Copyright Cyberbotics Ltd. Licensed for use only with Webots. | ||
# license url: https://cyberbotics.com/webots_assets_license | ||
# documentation url: https://webots.cloud/run?url=https://github.com/cyberbotics/webots/blob/released/projects/robots/clearpath/heron/protos/Heron.proto | ||
# keywords: robot/wheeled | ||
# Clearpath Heron USV is an autonomous watercraft designed for various marine tasks. | ||
# It features electric propulsion, advanced navigation systems, and integration capabilities for collaborative missions. | ||
# With a streamlined hull and multiple sensor suites including cameras, | ||
# it excels in environmental monitoring, surveillance, and research. | ||
|
||
PROTO Heron [ | ||
field SFVec3f translation 0 0 0.0 # Is `Pose.translation`. | ||
field SFRotation rotation 0 0 1 0 # Is `Pose.rotation`. | ||
field SFString name "heron" # Is `Solid.name`. | ||
field SFString controller "heron_usv_controller" # Is `Robot.controller`. | ||
field MFString controllerArgs [] # Is `Robot.controllerArgs`. | ||
field SFString window "<generic>" # Is `Robot.window`. | ||
field SFBool synchronization TRUE # Is `Robot.synchronization`. | ||
field MFNode bodySlot [] # Extends the robot with new nodes in the body slot. | ||
] | ||
{ | ||
Robot { | ||
translation IS translation | ||
rotation IS rotation | ||
name IS name | ||
model "Clearpath Heron" | ||
controller IS controller | ||
controllerArgs IS controllerArgs | ||
window IS window | ||
synchronization IS synchronization | ||
children [ | ||
DEF BODY_SLOT Group { | ||
children IS bodySlot | ||
} | ||
Transform { | ||
translation -0.185 0 0 | ||
rotation 0 0 1 1.01503e-06 | ||
children [ | ||
Shape { | ||
appearance PBRAppearance { | ||
baseColor 0.964706 0.827451 0.176471 | ||
metalness 0 | ||
} | ||
geometry Mesh { | ||
url [ | ||
"../stl/plain-rear-plate.stl" | ||
] | ||
} | ||
} | ||
] | ||
} | ||
Transform { | ||
translation 0 -0.35 0.05 | ||
children [ | ||
Shape { | ||
appearance PBRAppearance { | ||
baseColor 0.960784 0.760784 0.0666667 | ||
metalness 0 | ||
} | ||
geometry Mesh { | ||
url [ | ||
"../stl/right_panel.stl" | ||
] | ||
} | ||
} | ||
] | ||
} | ||
Transform { | ||
translation 0 0.35 0.05 | ||
children [ | ||
Shape { | ||
appearance PBRAppearance { | ||
baseColor 0.960784 0.760784 0.0666667 | ||
metalness 0 | ||
} | ||
geometry Mesh { | ||
url [ | ||
"../stl/left_panel.stl" | ||
] | ||
} | ||
} | ||
] | ||
} | ||
Transform { | ||
translation -0.73 0.38 -0.14 | ||
children [ | ||
Propeller { | ||
device RotationalMotor { | ||
name "left_motor" | ||
maxVelocity 30 | ||
} | ||
fastHelix Solid { | ||
rotation 0 1 0 1.57 | ||
children [ | ||
Shape { | ||
appearance PBRAppearance { | ||
baseColor 0.368627 0.360784 0.392157 | ||
} | ||
geometry Cylinder { | ||
height 0.1 | ||
radius 0.05 | ||
} | ||
} | ||
] | ||
} | ||
} | ||
] | ||
} | ||
Transform { | ||
translation -0.73 -0.38 -0.14 | ||
children [ | ||
Propeller { | ||
device RotationalMotor { | ||
name "right_motor" | ||
maxVelocity 30 | ||
} | ||
fastHelix Solid { | ||
rotation 0 1 0 1.5708 | ||
children [ | ||
Shape { | ||
appearance PBRAppearance { | ||
baseColor 0.368627 0.360784 0.392157 | ||
} | ||
geometry Cylinder { | ||
height 0.1 | ||
radius 0.05 | ||
} | ||
} | ||
] | ||
} | ||
} | ||
] | ||
} | ||
DEF HERON Shape { | ||
appearance Appearance { | ||
material Material { | ||
diffuseColor 0.239216 0.219608 0.27451 | ||
} | ||
texture ImageTexture { | ||
} | ||
textureTransform TextureTransform { | ||
} | ||
} | ||
geometry Mesh { | ||
url [ | ||
"../stl/heron_base.stl" | ||
] | ||
} | ||
} | ||
] | ||
name "heron_usv" | ||
immersionProperties [ | ||
ImmersionProperties { | ||
fluidName "fluid" | ||
dragForceCoefficients 0.01 0 0 | ||
dragTorqueCoefficients 0.05 0 0 | ||
viscousResistanceForceCoefficient 400 | ||
viscousResistanceTorqueCoefficient 0.1 | ||
} | ||
] | ||
boundingObject Transform { | ||
scale 0.1 0.1 0.1 | ||
children [ | ||
Mesh { | ||
url [ | ||
"../stl/heron_collision.stl" | ||
] | ||
} | ||
] | ||
} | ||
physics Physics { | ||
density 400 | ||
centerOfMass [ | ||
0 0 0 | ||
] | ||
damping Damping { | ||
linear 0.5 | ||
angular 0.5 | ||
} | ||
} | ||
linearVelocity 0.0 0.0 0.0 | ||
angularVelocity 0.0 0.0 0.0 | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
The [clearpath's Heron USV](https://robots.ros.org/clearpath-heron-usv/) is a USV platform. | ||
|
||
### Motors | ||
|
||
There are 2 motor, motor name `left_motor`and `right_motor`. | ||
You can add new Camera, GPS or other sensors you want under `body_slot`. | ||
|
||
### Movie Presentation | ||
|
||
![youtube video](https://www.youtube.com/watch?v=qWRyCnJWVuM) | ||
|
||
### Heron PROTO | ||
|
||
Derived from [Robot](https://cyberbotics.com/doc/reference/robot). | ||
|
||
```js | ||
Heron { | ||
SFVec3f translation 0 0 0 | ||
SFRotation rotation 0 1 0 1.5708 | ||
SFString name "heron" | ||
SFString controller "heron_usv_controller" | ||
MFString controllerArgs [] | ||
SFBool synchronization TRUE | ||
MFNode bodySlot [] | ||
} | ||
``` | ||
|
||
#### Heron Field Summary | ||
|
||
- `bodySlot`: Extends the robot with new nodes. | ||
|
||
### Samples | ||
|
||
You will find the following sample in this folder: "[WEBOTS\_HOME/projects/robots/clearpath/heron/worlds]({{ url.github_tree }}/projects/robots/clearpath/heron/worlds)". | ||
|
||
Ocean | ||
|
||
#### [heron\ocean.wbt]({{ url.github_tree }}/projects/robots/clearpath/heron/worlds/ocean.wbt) | ||
|
||
![ocean.png](images/heron/ocean.jpg) This simulation shows a basicly usv. | ||
|
||
#### [heron\swarm.wbt]({{ url.github_tree }}/projects/robots/clearpath/heron/worlds/swarm.wbt) | ||
|
||
![swarm.png](images/heron/swarm.jpg) This simulation shows a basicly swarm robotics. |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
publish: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
Webots Project File version R2024a | ||
perspectives: 000000ff00000000fd00000002000000010000011c00000313fc0200000001fb0000001400540065007800740045006400690074006f00720100000016000003130000004100ffffff0000000300000780000000d9fc0100000001fb0000001a0043006f006e0073006f006c00650041006c006c0041006c006c0100000000000007800000006900ffffff000006620000031300000001000000020000000100000008fc00000000 | ||
simulationViewPerspectives: 000000ff000000010000000200000100000005620100000002010000000100 | ||
sceneTreePerspectives: 000000ff000000010000000300000201000000d6000000000100000002010000000200 | ||
maximizedDockId: -1 | ||
centralWidgetVisible: 1 | ||
orthographicViewHeight: 1 | ||
textFiles: -1 | ||
consoles: Console:All:All |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
Webots Project File version R2024a | ||
perspectives: 000000ff00000000fd00000002000000010000011c000002f1fc0200000001fb0000001400540065007800740045006400690074006f00720100000016000002f10000003f00ffffff0000000300000780000000d9fc0100000001fb0000001a0043006f006e0073006f006c00650041006c006c0041006c006c0100000000000007800000006900ffffff00000662000002f100000001000000020000000100000008fc00000000 | ||
simulationViewPerspectives: 000000ff000000010000000200000100000005620100000002010000000100 | ||
sceneTreePerspectives: 000000ff00000001000000030000001c000002b4000000fa0100000002010000000200 | ||
maximizedDockId: -1 | ||
centralWidgetVisible: 1 | ||
orthographicViewHeight: 1 | ||
textFiles: -1 | ||
consoles: Console:All:All |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The image of the robot is a bit small here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
changed with this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It should not be a picture of the real robot, but a picture of the simulated robot, which is larger that the one you originally committed.