Giter Club home page Giter Club logo

Comments (2)

xiyuoh avatar xiyuoh commented on August 11, 2024

Hello @DoppiaEffe94 ! Thanks for bringing this up and opening the PR for it. I've tried your steps to reproduce the bug in Office world (22.04 + Humble binaries + RMF source build) but I can't seem to replicate it.

If an empty fleet_name is provided, the message would be ignored as "" is not the fleet name (second condition in this line). If an empty robot_name is provided, the message would be accepted and the action is marked as finished successfully.

However, I think it is very reasonable to check for a not ... over a is None to rule out empty strings.

Additionally, as I was testing this I've found a relevant bug, which is the lack of a robot_name filter inside this mode_request_cb. If the action is performed by tinyRobot2 and I send a message to /action_execution_notice and populate it with robot_name: tinyRobot1, it would end tinyRobot2's action as well.

To follow up on this issue, may I request for 2 things:

  1. If your mode_request_cb() is still crashing, could you provide some logs so that I can try to reproduce the problem? Preferably with a link to a gist. This is so that we can check if there are other underlying issues causing the crash.
  2. Could you update your PR to add in a filter for robot_name, i.e. return if msg.robot_name != self.name since it is a relevant part of the code?

from rmf_demos.

DoppiaEffe94 avatar DoppiaEffe94 commented on August 11, 2024

Hey @xiyuoh !

Thank you for testing it, but apparently I was neither clear myself about what was the crashing issue.

I tested the code further and I found out the reason for the code to not working properly.
Apparently, I wouldn't need to provide you some logs because:

  • If msg.fleet_name is empty, it returns as expected. However, this is not caused by msg.fleet_name is None but by msg.fleet_name != self.fleet_name. You can easily test it yourself by removing the condition msg.fleet_name != self.fleet_name and sending an empty fleet_name field. You can assume that msg.fleet_name is None is not doing its job.

Could you update your PR to add in a filter for robot_name, i.e. return if msg.robot_name != self.name since it is a relevant part of the code?

I updated the PR as you suggested.

Let me know if you need anything else or I was not clear.

Thank you!

from rmf_demos.

Related Issues (20)

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.