orise-robotics / xacro_live Goto Github PK
View Code? Open in Web Editor NEWA ROS2 tool to update the robot_description dynamically from modifications on a target xacro file
License: Apache License 2.0
A ROS2 tool to update the robot_description dynamically from modifications on a target xacro file
License: Apache License 2.0
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
After the very first release, we got errors in the buildfarm. The test that checks the exit codes of the launch nodes failed.
Here we are filtering a launch entity of type rclpy.node.Node
, but I think it should be launch_ros.actions.Node
instead
Some lines further we try to use launch_ros.actions.Node
methods with a supposed rclpy.node.Node
object:
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)
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.