Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
775b3a0
Add picknik_accessories files
dyackzan Oct 31, 2023
393391a
Add pre-commit config
dyackzan Oct 31, 2023
3bb3f14
Update package files to latest version
dyackzan Nov 1, 2023
17f2bc7
Add Hercules head.
uavster Nov 29, 2023
6f0c76d
Smaller head model.
uavster Nov 29, 2023
77c158a
Merge pull request #1 from PickNikRobotics/hercules-head
uavster Nov 29, 2023
d8b1cd3
Add closed ceiling collision for space station (#2)
adlarkin Jan 18, 2024
67e2bc4
Remove `manual_grasp_link` (#4)
sea-bass Jan 22, 2024
3add296
Update to 4.0.0 and clean up repo (#5)
sea-bass Jan 26, 2024
36c2341
Make space station ceiling thicker (#6)
adlarkin Jan 30, 2024
c3691e8
add child param to xacro
pac48 Feb 22, 2024
cd5ebec
add child parent as params
pac48 Feb 22, 2024
fcdb1ff
Merge pull request #7 from PickNikRobotics/pr-remove-ur-descriptions-…
pac48 Feb 23, 2024
070adc8
switching to parent and child
MikeWrock Apr 8, 2024
3cb6d0b
Add satellite stl
dyackzan May 10, 2024
7da0c28
Update satellite and rename to mock_satellite
dyackzan May 14, 2024
5c3d399
Merge pull request #8 from PickNikRobotics/not-connected-to
chancecardona Oct 18, 2024
fbb2dbf
Add UR realsense camera adapter STL
henrygerardmoore Oct 18, 2024
c8f11ba
Merge pull request #11 from PickNikRobotics/add-camera-adapter
chancecardona Oct 18, 2024
104aad4
added lfs files
MikeWrock Oct 24, 2024
3a982f8
decimating meshes
MikeWrock Oct 9, 2024
c2a1d3d
decimated meshes
MikeWrock Oct 24, 2024
543c345
lfs
MikeWrock Oct 24, 2024
04dfbf5
added fanuc
MikeWrock Oct 24, 2024
b660614
Merge pull request #12 from PickNikRobotics/mujoco_assets_lfs
MikeWrock Oct 29, 2024
c9b1e70
improved friction
MikeWrock Nov 14, 2024
8297fd9
version bump
MikeWrock Nov 15, 2024
d2db52b
Fix contacts for robotiq
pac48 Nov 18, 2024
18b1e9f
Merge pull request #14 from PickNikRobotics/pr-fix-robotiq-contacts
MikeWrock Nov 18, 2024
6ddf657
Merge pull request #13 from PickNikRobotics/fanuc_sim
MikeWrock Nov 28, 2024
d3458fc
add a tool interface to the fanuc model
marioprats Dec 2, 2024
64c98e2
Merge pull request #17 from PickNikRobotics/add-tool-interface-to-fanuc
MikeWrock Dec 7, 2024
d238787
updating collison for flasks
MikeWrock Dec 12, 2024
69bfb7c
Merge pull request #18 from PickNikRobotics/flask-collision
MikeWrock Jan 6, 2025
45ccc59
adjust fanuc actuator gains
marioprats Jan 16, 2025
1c0038b
Merge pull request #20 from PickNikRobotics/fanuc_sim
MikeWrock Jan 17, 2025
e605b7f
Updated licences to match sources
MikeWrock Jan 21, 2025
825ffac
Merge pull request #21 from PickNikRobotics/license-update
marioprats Jan 22, 2025
5211d4e
More license updates
MikeWrock Jan 27, 2025
c1967c2
Merge pull request #22 from PickNikRobotics/license-updates
MikeWrock Jan 27, 2025
4ff0ac5
Track .png, .dae, and .pcd files with git-lfs
dyackzan Feb 10, 2025
c77f7c7
Add grinding sim assets
dyackzan Feb 10, 2025
1a377ee
Updated license
MikeWrock Feb 19, 2025
1ce3c3e
Merge pull request #23 from PickNikRobotics/add-grinding-sim-assets
dyackzan Feb 19, 2025
837cb90
rnaming folder
MikeWrock Feb 19, 2025
d10209d
Merge pull request #24 from PickNikRobotics/grinding-asset-rename
MikeWrock Feb 19, 2025
3e46ee8
set use_mesh=false by default in the realsense macro
marioprats Feb 20, 2025
e343e2a
Merge pull request #25 from PickNikRobotics/d415-mesh
MikeWrock Feb 20, 2025
c2e2171
A texture to grinding sim (#26)
pac48 Feb 25, 2025
092463c
Rename UR Mujoco FTS from robotiq_ft_sensor to tcp_fts_sensor to matc…
nbbrooks Mar 14, 2025
0ca2e95
Add bowl mesh and concanve/convex hemisphere meshes for ICP registrat…
nbbrooks Mar 19, 2025
795da1e
De-duplicate Fanuc assets by using Cmake to copy required fanuc_lrmat…
nbbrooks Mar 19, 2025
3f0967b
Merge pull request #28 from PickNikRobotics/pr-fix-fts
nbbrooks Mar 25, 2025
0adab90
Merge pull request #27 from PickNikRobotics/pr-fanuc-workshop-assets
marioprats Mar 26, 2025
92eca04
Move origin of ar markers from edge to center.
rlpratt12 Apr 22, 2025
e837f1e
Merge pull request #29 from PickNikRobotics/move_tag_origin_to_center
rlpratt12 Apr 23, 2025
c8be927
Updated bottle shape
MikeWrock May 27, 2025
3dd5877
Merge pull request #30 from PickNikRobotics/pr-bottle-shape
davetcoleman May 28, 2025
e206eac
Add a site on the base for mujoco MPC testing
dyackzan Jun 3, 2025
6e9dbed
Merge pull request #31 from PickNikRobotics/add-lab-sim-base-site
dyackzan Jun 9, 2025
6fd69ba
Use gravcomp for UR robot and robtiq gripper
pac48 Jun 17, 2025
fecb9c7
Make lab_sim objects movable
pac48 Jun 17, 2025
c7d9496
Merge pull request #32 from PickNikRobotics/pr-use-gravcomp-for-ur
pac48 Jun 18, 2025
2a7b636
Merge pull request #33 from PickNikRobotics/pr-make-objects-movable
pac48 Jun 19, 2025
6dd7f70
13301 Add bracket part for factory sim (#35)
griswaldbrooks Jul 31, 2025
ddd8ec5
13377 Adds 3d printing file and instructions for factory_sim picking …
griswaldbrooks Aug 29, 2025
6ed2fd5
13377 typo
griswaldbrooks Sep 2, 2025
110c60d
Merge pull request #37 from PickNikRobotics/13377-add-3mf-brackets
griswaldbrooks Sep 2, 2025
c158466
13378 Add bin to printing instructions
griswaldbrooks Sep 4, 2025
54b62ed
Merge pull request #38 from PickNikRobotics/13378-add-bin-to-factory-…
griswaldbrooks Sep 4, 2025
f188d28
13379 Add the epick xacro for use in configs
Sep 13, 2025
3682c5f
Merge pull request #39 from PickNikRobotics/13379-add-epick
MikeWrock Sep 18, 2025
1b6f130
things for mpc objective
Jan 9, 2026
185c086
Add missing fanuc description repository
nbbrooks Jan 9, 2026
876d0d2
Merge pull request #40 from PickNikRobotics/add-stl-assets-for-mpc
bkanator Jan 14, 2026
ed82c1e
Merge pull request #41 from PickNikRobotics/pr-fix-missing-fanuc-repo
nbbrooks Jan 16, 2026
0e3a8aa
Make desk objects movable with collision, update textures and positions
davetcoleman Feb 14, 2026
8b3999f
Merge pull request #42 from PickNikRobotics/feature/lab-sim-desk-objects
MikeWrock Mar 20, 2026
cba4be3
18205 Add bottle.stl from bottle.obj export for ICP fit
griswaldbrooks Apr 22, 2026
aad29fa
Merge pull request #43 from PickNikRobotics/18205-add-bottle-stl
shaur-k Apr 24, 2026
cde5744
chore: remove picknik_accessories submodule
davetcoleman May 21, 2026
7df2788
Add 'src/picknik_accessories/' from commit 'aad29faca2ba7ed632ad3bbe8…
davetcoleman May 21, 2026
3b49470
chore(picknik_accessories): migrate non-LFS binary blobs to LFS
davetcoleman May 21, 2026
2505ae4
chore(picknik_accessories): register inner fanuc sub-submodule
davetcoleman May 21, 2026
73ed3f7
fix(picknik_accessories): apply pre-commit fixes and repair malformed…
davetcoleman May 21, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
[submodule "src/picknik_accessories"]
path = src/picknik_accessories
url = https://github.com/PickNikRobotics/picknik_accessories.git
[submodule "src/external_dependencies/Universal_Robots_ROS2_Description"]
path = src/external_dependencies/ur_description
url = https://github.com/PickNikRobotics/Universal_Robots_ROS2_Description.git
Expand All @@ -10,6 +7,9 @@
[submodule "src/external_dependencies/fanuc"]
path = src/external_dependencies/fanuc
url = https://github.com/PickNikRobotics/fanuc.git
[submodule "src/picknik_accessories/src/dependencies/fanuc"]
path = src/picknik_accessories/src/dependencies/fanuc
url = https://github.com/PickNikRobotics/fanuc.git
[submodule "src/external_dependencies/ros2_kortex_vision"]
path = src/external_dependencies/ros2_kortex_vision
url = https://github.com/PickNikRobotics/ros2_kortex_vision.git
Expand Down
1 change: 0 additions & 1 deletion src/picknik_accessories
Submodule picknik_accessories deleted from aad29f
5 changes: 5 additions & 0 deletions src/picknik_accessories/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
*.stl filter=lfs diff=lfs merge=lfs -text
*.obj filter=lfs diff=lfs merge=lfs -text
*.pcd filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.dae filter=lfs diff=lfs merge=lfs -text
3 changes: 3 additions & 0 deletions src/picknik_accessories/.gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "src/dependencies/fanuc"]
path = src/dependencies/fanuc
url = https://github.com/PickNikRobotics/fanuc.git
72 changes: 72 additions & 0 deletions src/picknik_accessories/.pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# To use:
#
# pre-commit run -a
#
# Or:
#
# pre-commit install # (runs every time you commit in git)
#
# To update this file:
#
# pre-commit autoupdate
#
# See https://github.com/pre-commit/pre-commit
repos:
# Standard hooks
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.4.0
hooks:
- id: check-ast
- id: check-case-conflict
- id: check-docstring-first
- id: check-merge-conflict
- id: check-symlinks
- id: check-yaml
args: ["--unsafe"] # Fixes errors parsing custom YAML constructors like ur_description's !degrees
- id: debug-statements
- id: end-of-file-fixer
- id: mixed-line-ending
- id: fix-byte-order-marker

- repo: https://github.com/psf/black
rev: 22.3.0
hooks:
- id: black

- repo: https://github.com/codespell-project/codespell
rev: v2.0.0
hooks:
- id: codespell
args: ["--write-changes", "-L", "atleast,inout,ether"] # Provide a comma-separated list of misspelled words that codespell should ignore (for example: '-L', 'word1,word2,word3').
exclude: (\.(svg|pyc|stl|dae|asc)|pnpm-lock.yaml)$

- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v14.0.6
hooks:
- id: clang-format
files: \.(c|cc|cxx|cpp|frag|glsl|h|hpp|hxx|ih|ispc|ipp|java|m|proto|vert)$
# -i arg is included by default by the hook
args: ["-fallback-style=none"]

- repo: https://github.com/adrienverge/yamllint
rev: v1.27.1
hooks:
- id: yamllint
args:
[
"--no-warnings",
"--config-data",
"{extends: default, rules: {line-length: disable, braces: {max-spaces-inside: 1}}}",
]
types: [text]
files: \.(yml|yaml)$

- repo: https://github.com/tcort/markdown-link-check
rev: v3.10.3
hooks:
- id: markdown-link-check

- repo: https://github.com/hadolint/hadolint
rev: v2.12.0
hooks:
- id: hadolint-docker
39 changes: 39 additions & 0 deletions src/picknik_accessories/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
cmake_minimum_required(VERSION 3.22)
project(picknik_accessories)

find_package(ament_cmake REQUIRED)
find_package(fanuc_lrmate200id_support REQUIRED)

install(
DIRECTORY
descriptions
macros
mujoco_assets
DESTINATION
share/${PROJECT_NAME}
)

# Mujoco models in this package use relative paths to assets such as meshes and textures
# To simplify building relative paths to assets in other packages, we will copy those assets into this project's file structure

# Paths we will copy from - the assets we want to easily reference in our Mujoco model
set(FANUC_LRMATE200ID_SUPPORT_PATH "${fanuc_lrmate200id_support_DIR}/../meshes")

# Path we will copy to - the folder where the other Mujoco assets are located
set(DEST_DIR "share/${PROJECT_NAME}/mujoco_assets/")

# Copy all contents into the installed description folder
install(DIRECTORY "${FANUC_LRMATE200ID_SUPPORT_PATH}"
DESTINATION "${DEST_DIR}"
FILES_MATCHING PATTERN "*")

# TODO: is this lint process hanging somehow?
# if(BUILD_TESTING)
# find_package(ament_lint_auto REQUIRED)
# ament_lint_auto_find_test_dependencies()
# endif()

ament_environment_hooks("${CMAKE_CURRENT_SOURCE_DIR}/env-hooks/${PROJECT_NAME}.dsv.in")


ament_package()
29 changes: 29 additions & 0 deletions src/picknik_accessories/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
BSD 3-Clause License

Copyright (c) 2024 PickNik Inc.
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

* Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
75 changes: 75 additions & 0 deletions src/picknik_accessories/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# PickNik Accessories

PickNik assets for common objects and attachments.

# Using MuJoCo assets:

The `mujoco_assets` folder in this package can be used in any `picknik_mujoco_ros/MujocoSystem` based simulation using the `include` tag in MuJoCo XML.
Since MuJoCo XML files all assume that included files are relative to the main XML file (the `mujoco_model` parameter set as part of the `ros2_control` entry in your robot description), shared assets must be moved to the same directory as the top level XML file.
To achieve this without duplicating assets, we can place symlinks in the install directory of your package that point back to the `mujoco_assets` folder of this package.
Add the following to your CMakeLists.txt to add symlinks to this package's assets:

```
# Install all XML files in directory
set(PICKNIK_ACCESSORIES_SHARE_DIR
"${CMAKE_INSTALL_PREFIX}/../picknik_accessories/share/picknik_accessories/mujoco_assets/"
)
# Destination directory
set(DEST_DIR "${CMAKE_INSTALL_PREFIX}/share/${PROJECT_NAME}/description/")

install(DIRECTORY "${PICKNIK_ACCESSORIES_SHARE_DIR}"
DESTINATION "${DEST_DIR}"
FILES_MATCHING PATTERN "*")
```

Alternatively, if some files in this package conflict with files in your workspace, you can choose specific files to symlink:

```
# Install individual XML files
set(PICKNIK_ACCESSORIES_SHARE_DIR
"${CMAKE_INSTALL_PREFIX}/../picknik_accessories/share/picknik_accessories/mujoco_assets/"
)
# Destination directory
set(DEST_DIR "${CMAKE_INSTALL_PREFIX}/share/${PROJECT_NAME}/description/")

set(EXTERNAL_XML_FILES
"${PICKNIK_ACCESSORIES_SHARE_DIR}/ur5e/ur5e_globals.xml"
"${PICKNIK_ACCESSORIES_SHARE_DIR}/ur5e/ur5e.xml"
# Add additional files here if desired
)
foreach(xml_file IN LISTS EXTERNAL_XML_FILES)
install(FILES "${xml_file}"
DESTINATION "${DEST_DIR}"
)
endforeach()
```

Whether you chose to install all assets or just a selection, the above CMake code will merge the contents of `picknik_accessories/mujoco_assets/` with `your_package_name/description/` in the install folder, so that XML files in the `picknik_accessories` package can be included as if they were within your package.

# UR5e Example

Below is a minimal example using the UR5e asset:

```
<mujoco model="ur5e scene">
<include file="ur5e/ur5e_globals.xml" />

<worldbody>
<light pos="0 0 1.5" dir="0 0 -1" directional="true" />

<geom
name="floor"
pos="0 0 0"
size="0 0 0.05"
type="plane"
material="groundplane"
/>

<include file="ur5e/ur5e.xml" />
</worldbody>

</mujoco>
```

Note: Since you cannot define global properties within a `worldbody` tag, the assets must be divided in to two XML files.
The `ur5e_globals.xml` file contains properties that must be defined as global properties outside `worldbody` (like `default` and `actuator`), while the `ur5e.xml` contains only `body` tags (and XML tags that are allowed within a `body`).
3 changes: 3 additions & 0 deletions src/picknik_accessories/blender/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Folder for maintaining Blender source files for various scene descriptions.

This folder should NOT be included in this package's build, as these files should not be included in binary Docker images.
Git LFS file not shown
Git LFS file not shown
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
104 changes: 104 additions & 0 deletions src/picknik_accessories/blender/picknik_ur_mock_hw_config/logo.svg
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.
Git LFS file not shown
Git LFS file not shown
Git LFS file not shown
Git LFS file not shown
Git LFS file not shown
3 changes: 3 additions & 0 deletions src/picknik_accessories/descriptions/ar_markers/Marker0.dae
Git LFS file not shown
Loading
Loading