Skip to content
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

Model submission for Absolem sensor configurations 6,7,8 by CTU-CRAS-Norlab #860

Conversation

peci1
Copy link
Collaborator

@peci1 peci1 commented Mar 31, 2021

Depends and builds on top of #859 (sensor configs 3,4,5), #877 and #878. That is why you see so much commits. If you want to see just changes from the sensor configurations, look e.g. at ctu-vras/subt@submitted_models/ctu_cras_norlab_absolem_improved...ctu-vras:submitted_models/ctu_cras_norlab_absolem/clone .

Everything that was written in #859 applies also here. The main difference of these sensor configs is that they do not have the Ladybug omnicamera, and instead they use our custom omnicamera solution based on 5 pcs of Basler ACE 2 Pro cameras. This is beneficial for occlusions by body parts, which are inevitable when using a centralized omnicam, but are nicely avoided by putting each camera on the edge of the robot body.

The field of view of the Basler cameras is experimentally measured. We took a ruler, shot a picture of it, and by using a bit of trigonometry, we ended up with horizontal FOV of 86.5°. For the trigonometrical computation we used the datasheet value of "Front focal length", which is 9.95 mm. We sketched a triangle from the point on lens axis that is 9.95 mm inside the lens (measured from the vertex of the outern-most lens). One side of the triangle we used for computation is distance of the ruler from the point inside lens, and the other side is the distance viewed on the ruler.

The theoretical value for a 4 mm lens on 1/2.3" chip is 79°, so I assume the difference to our measured value is done by distortion, which is not modeled in the simulator, and neither is it modeled in the theoretical equation.

The computation I used for horizontal FOV is:

degrees(2*atan(tan(0.0066)/(2*0.004))) = 79.04 

Where 0.004 is effective focal length and 0.0066 is the sensor width (both from datasheet). This theoretical value is valid for focusing into infinity. Closer focus can decrease the FOV by a few degrees.

@peci1 peci1 force-pushed the submitted_models/ctu_cras_norlab_absolem/clone branch 2 times, most recently from 00cf441 to 56a838e Compare March 31, 2021 15:53
@peci1 peci1 force-pushed the submitted_models/ctu_cras_norlab_absolem/clone branch from 56a838e to 2598957 Compare April 4, 2021 22:28
@peci1
Copy link
Collaborator Author

peci1 commented Apr 4, 2021

I force-pushed a SDF 1.6 version of Absolem SC6-8 based on #877 and #878. The geometry and behavior is exactly the same as in the original version.

@peci1 peci1 force-pushed the submitted_models/ctu_cras_norlab_absolem/clone branch from 2598957 to f830449 Compare April 10, 2021 14:11
@peci1
Copy link
Collaborator Author

peci1 commented Apr 10, 2021

I rebased on top of #859 to resolve conflicts brought in by #551.

nkoenig and others added 21 commits April 14, 2021 13:11
Signed-off-by: Nate Koenig <[email protected]>

Co-authored-by: Nate Koenig <[email protected]>
* Model submission for Hovermap sensor config 1 from Emesent

Signed-off-by: Rowan Ramamurthy <[email protected]>

* updated specifications for the Emesent Hovermap

Signed-off-by: Rowan Ramamurthy <[email protected]>

* Updated gimbal controller - fixed issue with battery usage

Signed-off-by: Rowan Ramamurthy <[email protected]>

* Specifications updated for emesent hovermap sensor config 1

Signed-off-by: Rowan Ramamurthy <[email protected]>

* Update specifications.md

Signed-off-by: Rowan Ramamurthy <[email protected]>

* Update submitted_models/emesent_hovermap_sensor_config_1/CMakeLists.txt

Co-authored-by: Nate Koenig <[email protected]>

* Added details in the model.config

* Updated the min and max angle for the gpu lidar for the hovermap

* Updating min range and resolution for lidar

* Removing visualisation for lidar

* Added the number of horizontal samples for the gpu to 900

* Updated camera resolution, and also updated the weight in the specifications file to match the sdf values

* Updated noise parameters for the gimbal stabilising imu

* Added /sensor prefix to magnetometer output

* Added sensor prefixes for other sensor outputs

* Updated the imu with the new noise model

* Adding imu topic and specifications as per validation data

* Update submitted_models/emesent_hovermap_sensor_config_1/launch/spawner.rb

Co-authored-by: Nate Koenig <[email protected]>

* Renamed node with repeated name

* Updating the battery plugin to support a 21.6min flight time

* Updated specifications.md to align with provided validation data and spawner.rb accelerations.

* Adjusted limits on gimbals to align with observed behavior in validation data.

Co-authored-by: Rowan Ramamurthy <[email protected]>
Co-authored-by: Peter <[email protected]>
Co-authored-by: Nate Koenig <[email protected]>
Co-authored-by: Peter Milani <[email protected]>
* Added CTU_CRAS_NORLAB_MARV_SENSOR_CONFIG_1 (and other sensor configs).

* MARV: prefix links in URDF with robot name.

* MARV: Update RViz config.

* Removed debug prints

* MARV: Added mapping server relay.

* MARV: Downgraded model.sdf to SDF 1.6.

* MARV: Fixed IMU topic.

* MARV: Fixed cliff sensors ROS bridge.

* MARV: Fixed odom rate.

* MARV: Fixed flickering of lights.

* MARV: Update IMU parameters.

* MARV: Added camera intrinsics.

* MARV: Fixed lower bound of temperature for Boson camera.

* MARV: Changed Ouster precision and stddev to 0.01 to follow other SubT sensors.

* Added experimental validation of camera FoV to the specifications.

* Reduced battery life to 60 minutes until validation is complete.  The current maximum velocity and acceleration are set to the default limits for models without validation data.

* Added endurance adjustment to the specifications.md file.

Co-authored-by: Martin Pecka <[email protected]>
…orlab (osrf#841)

* Spot: First version, has actuators, but no control.

* Spot walking.

* Spot: improved modularity and made CCN_SPOT_SC1 compatible with BOSDYN_SPOT again.

The interface between BOSDYN_SPOT and sensor configs can be considered more or less stable now.

* Spot: Added cameras.

* Spot: Fixed a bug in handling leg collisions.

* Spot: specifications.md

* Spot: Fixed xacro utils to be compatible with MARV.

* Spot: Mono camera now also relays set_rate requests.

* Spot: Fixed IMU bridge.

* Spot: Added payload to CCN_SPOT_SC1.

* CCN_SPOT_SC1: Removed the total_mass_* helper link from URDF to avoid RViz displaying an error.

* Spot: Added CTU_CRAS_NORLAB_SPOT_SENSOR_CONFIG_2.

* CCN_SPOT_SC1: Added specifications.md.

* Spot: Added thumbnails.

* CCN_SPOT_SC1: Added thumbnails.

* Spot: Added mapping server bridge.

* Spot: Downgraded model.sdf to SDF 1.6.

* Spot: update IMU params.

* Spot: Add camera intrinsics.

Body depth camera is still just estimated.

* Spot: Fixed specifications.md part about contact system.

* Spot: Fixed mass by adding battery and tuned the PIDs a bit.

* Spot: Battery life set to 60 minutes.

* CCN_SPOT: Changed Ouster resolution and stddev to 0.01.

* Spot: removed unintentional change.

Signed-off-by: Martin Pecka <[email protected]>

* Spot: Improvements of specifications.md.

* Spot: Adjusted battery life to 60 minutes.

* Spot: Resolved relative references to Fuel parts.
* Absolem: Sync Xacro: Change IMU and friction parameters in Xacro to correspond to the desired values in SDF.

* Absolem: Sync Xacro: Re-generate model.sdf using libsdformat 8.9.1 .

This commit makes no real change to the geometry of the model, it just represents some numbers and rotations differently.

* Absolem: Removed empty link visuals as they obstructed the omnicam and were not good for anything else.
* Add missing robot platform types

Signed-off-by: Nate Koenig <[email protected]>

* Added hovermap and marv

Signed-off-by: Nate Koenig <[email protected]>

* Added spot and fix dependency

Signed-off-by: Nate Koenig <[email protected]>

Co-authored-by: Nate Koenig <[email protected]>
…gs 1 and 2 (osrf#867)

* added ctu_cras_norlab_lily ign simulation models

* changed thumbnails

* Fixed links in specifications.md .

* Downgraded model.sdf to SDF 1.6.

* Lily: Corrected mass.

* Lily: Added camera intrinsics.

* Lily: Changed ouster resolution and stddev to 0.01.

* Lily: Changed battery endurance to 60 minutes.

* Lily: Added robot_state_publisher to fill in missing static TFs.

* Lily: Edited Basler cam FOV to match in all places and correspond to intrinsics.

Co-authored-by: petr <[email protected]>
Co-authored-by: Martin Pecka <[email protected]>
osrf#866)

* Coordinated Robotics Crystal UAV Sensor Config 1

* Updates based on reviews of other robots

* Camera precedent update, change colors to floats

* Adjust lighting to match camera change

* Update xacro

* Correct down lidar position, set top_scan to zero

Co-authored-by: Kevin <[email protected]>
…nd 3 (osrf#862)

* Coordinated Robotics Rocky

* Updates based on reviews of other robots

* Remove wheel slip plugin from Ackermann type steering vehicle

* Fixed camera name, changed color to floats

* Update cameras to match precedent

Co-authored-by: Kevin <[email protected]>
* Add Coordinated Robotics Mike

* Updates based on reviews of other robots

* Add thermal camera to sensor list, fix wheel plugin wheel diameter, change to floating point colors, increase wheel joint speed

Co-authored-by: Kevin <[email protected]>
* Adding lily to include

Signed-off-by: Nate Koenig <[email protected]>

* Added CRYSTAL, MIKE, and ROCKY

Signed-off-by: Nate Koenig <[email protected]>

* Added crystal as marsupial child

Signed-off-by: Nate Koenig <[email protected]>

* Added new Coordinated marsupial pairs, adjusted Karen's collisions, and tweaked a few spawner z-offsets

Signed-off-by: Nate Koenig <[email protected]>

* Remove debug statement

Signed-off-by: Nate Koenig <[email protected]>

Co-authored-by: Nate Koenig <[email protected]>
* Update to use the lastest fog emitter code

Signed-off-by: Nate Koenig <[email protected]>

* Merged with master

Signed-off-by: Nate Koenig <[email protected]>

* Adjust pose based on latest emitter model

Signed-off-by: Nate Koenig <[email protected]>

Co-authored-by: Nate Koenig <[email protected]>
* added feedforward to bridge, controller msgs are now printed only once

* added set_rate services to laser, rgb, rgbd sensors
* Unified comms parameters across circuits.

Signed-off-by: Carlos Agüero <[email protected]>
@acschang acschang changed the base branch from master to submitted_models/ctu_cras_norlab_absolem_3_4_5 April 30, 2021 22:46
Copy link
Contributor

@acschang acschang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The initial assessment of these additional sensor configurations for the Absolem model is complete, however there are some issues to resolve before these additional sensor configurations can be merged and utilized in a competitive setting:

Please address the issues noted above and add commits to this pull request as soon as possible. The submission is expected to be incorporated into the SubT Virtual Testbed pending a successful review.

@peci1
Copy link
Collaborator Author

peci1 commented May 1, 2021

All of the issues from last review have been resolved.

@nkoenig nkoenig merged commit 5151b93 into osrf:submitted_models/ctu_cras_norlab_absolem_3_4_5 May 18, 2021
@peci1 peci1 mentioned this pull request Jun 20, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants