Coder Social home page Coder Social logo

inorbit-ai / ros_amr_interop Goto Github PK

View Code? Open in Web Editor NEW
67.0 67.0 18.0 7.24 MB

License: BSD 3-Clause "New" or "Revised" License

Python 76.22% Shell 1.16% CMake 1.50% Makefile 0.13% Batchfile 0.18% C++ 19.93% C 0.66% Dockerfile 0.21%
amr interop interoperability robotics ros ros2

ros_amr_interop's People

Contributors

adamantivm avatar b-tomas avatar bobbleballs avatar florgrosso avatar leandropineda avatar manzato avatar miguelgarcia avatar mikebirdtech avatar nv-yuzho avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ros_amr_interop's Issues

Validate schema on all sent messages

Current implementation only validates message schema on message object creation (see _validate_schema method on messages modules). This assumes that the server implementation does that job. However, there are two downsides on this approach

  1. The client doesn't know about the situation
  2. The whole message is lost even though one single message attribute causes the schema validation to fail.

VDA5050 Schema Version Not Consistent

Hello, I've been using the VDA5050 Controller with openTCS' VDA5050 Master Controller found here
As I've been doing so I've noticed that there are some inconsistencies with the VDA5050 version that is being targeted.
I've seen that in OrderState.msg that vda5050_msgs/Info[] informations has the 's' on the end.
And the def get_vda5050_mqtt_topic( manufacturer, serial_number, topic, interface_name="uagv", major_version="v1" ): would suggest that V1.1 is the target of this software.
However you also have things like CurrentAction.msg's ActionState enums including PAUSED that only came in V2.0:

# Enums for actionStatus
string WAITING="WAITING"
string INITIALIZING="INITIALIZING"
string RUNNING="RUNNING"
string PAUSED="PAUSED"
string FINISHED="FINISHED"
string FAILED="FAILED"

And the constant DEFAULT_PROTOCOL_VERSION = "2.0.0" suggests that 2.0 is default.

What is the target version of this software? And can this be detailed in the documentation and the schema verified with the standard.

Thanks.

[VDA5050] Navigate Through Nodes

Is there any plan to enable navigation through VDA5050 nodes & edges?
Perhaps the NavigateToNode action could be updated to include a list of Nodes and Edges that are released and without blocking actions? The adaptor could then do what it wants with this list, I don't think much should change regarding the feedback/states but the adaptor will need to report when it has travelled through nodes.

I think this would allow for a much smoother navigation experience as it will mean the agent would not have to stop/start at each node as it currently does. This could also enable interesting behaviours from the Master Controller when you take horizons etc into account.

Below is section 6.10.2 from the VDA5050 2.0.0 Standard which details that the vehicle should be moving all the time when there are no blocking edge or node actions.

image

[issue] about order processing

if there are a sequence of nodes in an order: node_1, node_2, node_3(with HARD action), node_4, node_5(with HARD action);

on the loop of "_on_active_order", each time it will trigger "_process_next_edge" to send a new edge+node to ROS till to the end (node_5).

I guess "_process_next_edge" should be blocked if one node/edge get HARD action on it, after all the HARD actions done, then start to send nodes again.

stitch order doesnt stitch

I think this needs to be node_states (no s on node)

Also

base_order_nodes = [
node
for node in order.nodes
if node.released and node.sequenceId != order.nodes[0].sequenceId
]
base_order_edges = [edge for edge in order.edges if edge.released]

I think should take from self._current_order not order as they later have the order again appended to form the new order thusly:

self._current_order.nodes = base_order_nodes + order.nodes
self._current_order.edges = base_order_edges + order.edges

I may be able to contribute a PR if I can get some advice on how to run the tests, specifically just those in https://github.com/inorbit-ai/ros_amr_interop/blob/humble-devel/vda5050_connector/test/test_vda5050_controller.py, running colcon test just runs the linters?

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.