-
Notifications
You must be signed in to change notification settings - Fork 0
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
Draft: Add ros_bt_py technology info + examples #41
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: David Oberacker <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I could get this all running! Took me a while to figure out how to properly set a String constant and connect it, but it worked.
While things were building, I read through and found a few typos. Plus, maybe one thing to clarify in the code.
Also, you may need to run pre-commit
still, as there are formatting errors.
@@ -8,7 +8,7 @@ export PYTHONWARNINGS="ignore:setup.py install is deprecated,ignore:easy_install | |||
|
|||
export ROS_WS=/delib_ws | |||
export WORKSPACE_ROOT=$ROS_WS # For FlexBE compatibility | |||
export ROS_DOMAIN_ID=0 | |||
export ROS_DOMAIN_ID=66 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do not commit? (or rather, we need to fix this)
|
||
To get started with `ros_bt_py` as part of the workshop no additonal packages would be required. | ||
We provide generic nodes for interacting with ROS Topics, Services and Actions, which only require having the messages available in your environment when starting `ros_bt_py`. | ||
Nevertheless we provided the `ros_bt_py_pyrobosim` package containing some additonal nodes, providing convinience wrappers, making interacting with `pyrobosim` simpler. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nevertheless we provided the `ros_bt_py_pyrobosim` package containing some additonal nodes, providing convinience wrappers, making interacting with `pyrobosim` simpler. | |
Nevertheless we provided the `ros_bt_py_pyrobosim` package containing some additional nodes, providing convenience wrappers, making interacting with `pyrobosim` simpler. |
ros2 run delib_ws_worlds run --ros-args -p problem_number:=1 | ||
``` | ||
|
||
To run `ros_bt_py` with these convinience nodes you need to run: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To run `ros_bt_py` with these convinience nodes you need to run: | |
To run `ros_bt_py` with these convenience nodes you need to run: |
ros2 launch ros_bt_py_pyrobosim ros_bt_py_pyrobosim.launch.py | ||
``` | ||
|
||
Alternativly, to launch the regular `ros_bt_py` without any additional nodes run: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alternativly, to launch the regular `ros_bt_py` without any additional nodes run: | |
Alternatively, to launch the regular `ros_bt_py` without any additional nodes run: |
technologies/ros_bt_py/README.md
Outdated
The WebUI has four distinct sections: | ||
* On the left you have the list of available nodes. | ||
These can be moved into the main editing area at the center to add them to the tree. | ||
Some nodes (e.g. EnumConstant) require you to click on the node in the list and add required details at the bottom of the editing window before they can be added to the tree via the `AddToTree` button. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some nodes (e.g. EnumConstant) require you to click on the node in the list and add required details at the bottom of the editing window before they can be added to the tree via the `AddToTree` button. | |
Some nodes (e.g. `EnumConstant`) require you to click on the node in the list and add required details at the bottom of the editing window before they can be added to the tree via the `AddToTree` button. |
- [ ] Provide example solutiont trees for all problems. | ||
- [ ] Add convinience nodes for pyrobosim interaction. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- [ ] Provide example solutiont trees for all problems. | |
- [ ] Add convinience nodes for pyrobosim interaction. | |
- [ ] Provide example solution trees for all problems. | |
- [ ] Add convenience nodes for pyrobosim interaction. |
def set_outputs(self): | ||
response: RequestWorldState.Response = self._service_request_future.result() | ||
robot_with_matching_name: List[RobotState] = [robot for robot in response.state.robots if robot.name == self.inputs["robot_name"]] | ||
if len(robot_with_matching_name) != 1: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not necessarily true; if this is 0, then the robot was not found, right?
self.logerr("Found more then one matching robot!") | ||
raise BehaviorTreeException("Found more then one matching robot!") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
self.logerr("Found more then one matching robot!") | |
raise BehaviorTreeException("Found more then one matching robot!") | |
message = "Found more than one matching robot!" | |
self.logerr(message) | |
raise BehaviorTreeException(message) |
either way note the typo: "then" -> "than"
if len(obj_with_matching_name) != 1: | ||
self.logerr("Found something other than one matching object!") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For this one, the error message is correct in that it's just "other than one" -- but it might still be nice to separate the empty vs. multiple-element case
(although, PyRoboSim should not let you add duplicate objects and robots with the same name, it's still good to have)
[develop] | ||
script_dir=$base/lib/roscon2024_delib_ws_bt | ||
[install] | ||
install_scripts=$base/lib/roscon2024_delib_ws_bt |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did this package get renamed? roscon2024_delib_ws_bt
is not the name of the package, and these files typically use the same name as the package, right?
Signed-off-by: David Oberacker <[email protected]>
No description provided.