GithubHelp home page GithubHelp logo

orise-robotics / xacro_live Goto Github PK

View Code? Open in Web Editor NEW
13.0 2.0 2.0 1.31 MB

A ROS2 tool to update the robot_description dynamically from modifications on a target xacro file

License: Apache License 2.0

Python 100.00%
ros2 xacro urdf robot-description online live juggling rviz2

xacro_live's People

Contributors

mateus-amarante avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

xacro_live's Issues

Implement own xacro parser

Currently, the package depends on xacro to parse the .xacro files. Though it sounds reasonable, I feel we are not doing the right thing, because the package mainly aims to to provide the xacro command-line tool. xacro_live is taking advantage of the functions created to implement the CLI tool. Those functions are not shaped to be used by client packages

test_node_names is with a silent bug

Here we are filtering a launch entity of type rclpy.node.Node, but I think it should be launch_ros.actions.Node instead

lambda entity: isinstance(entity, rclpy.node.Node),

Some lines further we try to use launch_ros.actions.Node methods with a supposed rclpy.node.Node object:

self.assertTrue(node.is_node_name_fully_specified())

So far we had no error here probably because nodes is an empty list since there is no launch entity of type rclpy.node.Node, and then no assertion is made:

nodes = set(
            filter(
                lambda entity: isinstance(entity, rclpy.node.Node),
                spawn_launch.get_sub_entities()[0].entities
            )
        )
.....
for node in nodes:
            proc_info.assertWaitForStartup(node, timeout=5)
            self.assertTrue(node.is_node_name_fully_specified())
            self.assertRegex(node.node_name, combined_regex)

Then we must also add an extra assertion to make sure nodes is not empty (or just make sure it is the same size as expected_nodes)

Write tests to check observation of included xacro files

Currently, there is no test that xacro_live correctly updates the robot description given an update of the new included file. It is interesting to test the case this included file is in another folder.

One way I thought to do this was by commenting and uncommenting include portions of a base xacro file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.