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

jsk_spot_robot package for spot arm #1701

Open
wants to merge 258 commits into
base: master
Choose a base branch
from

Conversation

sktometometo and others added 30 commits September 29, 2022 21:14
* add body-pose method

* add calculate rpy -> quaternion methods

* adapt create-quaternion func to the body-pose method

* add args
* [spoteus][spoteus_demo] create spoteus_demo package

* [spoteus_demo] add shebang and change permission

* [spoteus_demo] add gitignore to autowalk directory

* [jsk_data] add auto download script for autowalk data

* [spoteus_demo] rename sample scripts, add comments and update filepath to relative path from this package

* [jsk_spot_robot] update jsk_spot.rosinstall to add jsk_common

* [spoteus_demo] udpate package.xml

* [spoteus_demo] fix format
* Update README.md

* Update README.md

add $rosdep update, fix file path in pip3 install and fix launch file name
@k-okada k-okada changed the title jsk_spot_robot pacage for spot arm jsk_spot_robot package for spot arm Nov 16, 2023
…lient-ros

[jsk_spot_startup] add switchbot
> catkin config --install
> catkin build -vi --summarize

we checked that necessary files are installed

```
(export ROS_PACKAGE_PATH=$(pwd)/src; for dir in install/share/*; do pkg=$(basename $dir); echo -e "\n\n$pkg"; echo diff -r install/share/$pkg $(rospack find $pkg) --exclude CMakeLists.txt --exclude .gitignore --exclude setup.py --exclude README.md --exclude CHANGELOG.rst --exclude cmake ; ./check.py $(basename $dir); done > diff.dir)
```
 where `check.py` is

```

import sys
import os
import copy
import filecmp
import rospkg

def compare_directories(install_dir, src_dir, ignore=None):
    # Initialize dictionaries to store results
    results = {
        'unique_to_dir1': [],
        'unique_to_dir2': [],
        'differences': [],
        'common_files': []
    }

    # Recursively compare directory structures and files
    comparison = filecmp.dircmp(install_dir, src_dir, ignore=ignore)

    # Files only in dir1
    results['unique_to_dir1'] = comparison.left_only

    # Files only in dir2
    results['unique_to_dir2'] = comparison.right_only

    # Files present in both directories but different
    results['differences'] = comparison.diff_files

    # Files that are identical in both directories
    results['common_files'] = comparison.same_files

    return results

def list_all_subdirectories(root_dir):
    subdirectories = []
    for dirpath, dirnames, _ in os.walk(root_dir):
        for dirname in dirnames:
            subdirectories.append(os.path.join(dirpath, dirname))
    return subdirectories

if __name__ == '__main__':
    rospack = rospkg.RosPack()
    pkg_name = sys.argv[1]
    pkg_path = rospack.get_path(pkg_name)
    print("## Check [{}]".format(pkg_name))
    for dir in ['.'] + [os.path.relpath(dir, pkg_path) for dir in list_all_subdirectories(pkg_path)]:
        install_dir = os.path.join('install/share/', pkg_name, dir)
        src_dir = os.path.join(pkg_path, dir)
        if os.path.exists(install_dir):
            differences = compare_directories(install_dir, src_dir,
                                              ignore=['env-hooks', 'cmake', '.gitignore', 'CMakeLists.txt', 'CHANGELOG.rst', 'README.md', 'setup.py'])
        else:
            print('> Only in {}'.format(src_dir))
            continue

        # Display the results
        for file in differences['unique_to_dir1']:
            print("> Files only in directory 1: {}".format([os.path.join(dir, file)]))
        for file in copy.copy(differences['unique_to_dir2']):
            if os.path.exists(os.path.join('install/lib/', pkg_name, file)):
                differences['unique_to_dir2'].remove(file)
        for file in differences['unique_to_dir2']:
            print("> Files only in directory 2: {}".format([os.path.join(dir, file)]))
        for file in differences['differences']:
            print("> Different files: {}".format([os.path.join(dir, file)]))
        #print("Common files (identical):", differences['common_files'])

```

```
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.

10 participants