Skip to content

Commit 4e96fa8

Browse files
enrico391saikishor
andauthored
Dynamic payload analysis version with all basic feature implemented (max payloads, affordable configs, torque requirements, payload selection) (#11)
* added function to calculate max allowable payload for a given config * improvements in usage in the rviz panel * added calculation for max allowable payload in the calculated configurations of workspace * fix personal name * add method to compute maximum payloads with binary search * small changes to show maximum payloads * added publisher of the maximum payload as point cloud * Remove files not necessary for PR * Fix type hint variables * added menu for tree selection * small changes to fit the array format * Added first version with tree selection * modify core for trees handling * small changes for new version with tree selection * changes for better user experience with new version * fix error in publishing markers * refactor function to calculate maximum torques * added method to avoid overlaps between torque labels * small fix * added new method to calculate sutrees * added first version with mimic joints * add support for mimic joints and add filter in the subtrees * added parameter for advanced mode * added new method to get mimic joints from the URDF * small changes * Change library to get mimic joints * fixed publisher for payload visualization * improvements to avoid not necessary calculations * added configuration parameter for IK resolution * added new method for payload selection * changed way of publishing marker labels * changed name of tip link in tree selection * remove not necessary imported libraries * adjusted visualization color for unified torque points * changed range of IK solver * fix range IK * small change in the range of IK * added removed files * Apply suggestions from code review Co-authored-by: Sai Kishor Kothakota <sai.kishor@pal-robotics.com> * added root joint name for a universal usage with multiple type of robot * added IK range as node parameter * added dependencies for the packages * fix small problem with None object * fix dependencies name for urdf parser library --------- Co-authored-by: Sai Kishor Kothakota <sai.kishor@pal-robotics.com>
1 parent c1df1ec commit 4e96fa8

File tree

7 files changed

+1092
-362
lines changed

7 files changed

+1092
-362
lines changed

dynamic_payload_analysis_core/dynamic_payload_analysis_core/core.py

100644100755
Lines changed: 425 additions & 168 deletions
Large diffs are not rendered by default.

dynamic_payload_analysis_core/package.xml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,20 @@
44
<name>dynamic_payload_analysis_core</name>
55
<version>0.0.0</version>
66
<description>Core package with calculation for torques calculator</description>
7-
<maintainer email="enrimoro003@gmail.com">morolinux</maintainer>
7+
<maintainer email="enrimoro003@gmail.com">Moro Enrico</maintainer>
88
<license>Apache License 2.0</license>
99

1010
<test_depend>ament_copyright</test_depend>
1111
<test_depend>ament_flake8</test_depend>
1212
<test_depend>ament_pep257</test_depend>
1313
<test_depend>python3-pytest</test_depend>
1414

15+
<depend>python3-numpy</depend>
16+
<depend>urdf_parser_py</depend>
17+
<depend>pinocchio</depend>
18+
<depend>python-pathlib</depend>
19+
<depend>python-typing</depend>
20+
1521
<export>
1622
<build_type>ament_python</build_type>
1723
</export>

dynamic_payload_analysis_core/setup.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,15 @@
1111
['resource/' + package_name]),
1212
('share/' + package_name, ['package.xml']),
1313
],
14-
install_requires=['setuptools'],
1514
zip_safe=True,
1615
maintainer='Enrico Moro',
1716
maintainer_email='enrimoro003@gmail.com',
1817
description='This package implements core functionalities for dynamic payload analysis in robotics, focusing on torque calculations and external force handling.',
1918
license='Apache License 2.0',
2019
tests_require=['pytest'],
20+
install_requires=[
21+
'setuptools',
22+
],
2123
entry_points={
2224
'console_scripts': [
2325
],

dynamic_payload_analysis_ros/dynamic_payload_analysis_ros/menu_visual.py

100644100755
Lines changed: 288 additions & 33 deletions
Large diffs are not rendered by default.

dynamic_payload_analysis_ros/dynamic_payload_analysis_ros/rviz_visualization_menu.py

100644100755
Lines changed: 356 additions & 156 deletions
Large diffs are not rendered by default.

dynamic_payload_analysis_ros/package.xml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,22 @@
44
<name>dynamic_payload_analysis_ros</name>
55
<version>0.0.0</version>
66
<description>This package provides tools for dynamic payload analysis in robotics with a focus on torque calculations and external force handling.</description>
7-
<maintainer email="enrimoro003@gmail.com">morolinux</maintainer>
7+
<maintainer email="enrimoro003@gmail.com">Moro Enrico</maintainer>
88
<license>Apache License 2.0</license>
99

1010
<test_depend>ament_copyright</test_depend>
1111
<test_depend>ament_flake8</test_depend>
1212
<test_depend>ament_pep257</test_depend>
1313
<test_depend>python3-pytest</test_depend>
1414

15+
<depend>dynamic_payload_analysis_core</depend>
16+
<depend>rclpy</depend>
17+
<depend>std_msgs</depend>
18+
<depend>sensor_msgs</depend>
19+
<depend>builtin_interfaces</depend>
20+
<depend>visualization_msgs</depend>
21+
<depend>interactive_markers</depend>
22+
1523
<export>
1624
<build_type>ament_python</build_type>
1725
</export>

dynamic_payload_analysis_ros/setup.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,18 @@
1111
['resource/' + package_name]),
1212
('share/' + package_name, ['package.xml']),
1313
],
14-
install_requires=['setuptools'],
1514
zip_safe=True,
1615
maintainer='Enrico Moro',
1716
maintainer_email='enrimoro003@gmail.com',
1817
description='This package provides graphics tools in Rviz for dynamic payload analysis in robotics with a focus on torque calculations and external force handling.',
1918
license='Apache License 2.0',
2019
tests_require=['pytest'],
20+
install_requires=[
21+
'setuptools',
22+
'numpy'
23+
],
2124
entry_points={
2225
'console_scripts': [
23-
'node_rviz_visualization = dynamic_payload_analysis_ros.rviz_visualization:main',
2426
'node_rviz_visualization_menu = dynamic_payload_analysis_ros.rviz_visualization_menu:main',
2527
],
2628
},

0 commit comments

Comments
 (0)