Add simple tutorial, update MyRobot example, provide uv environment#1042
Merged
Add simple tutorial, update MyRobot example, provide uv environment#1042
Conversation
added 4 commits
March 9, 2026 12:46
- Refactor myrobot.py to use Node.update() and on_* handlers instead of manual update() - Update myapp.py to handle BusShutdownException for clean exit - Remove deprecated myrobot-slots.json - Update tutorial documentation to match the refactored code and corrected run command - Register emergency_stop output in myrobot driver and update myrobot.json
- Replace custom MyTimer with built-in timer driver in myrobot.json and tutorial - Remove MyTimer class from myrobot.py - Define app driver directly as myapp:MyApp in myrobot.json - Update tutorial with simplified run command (no --application flag needed)
- Create .github/workflows/docs-deploy.yaml to build and deploy Sphinx docs to gh-pages - Add doc/requirements.txt for Sphinx dependency
m3d
commented
Mar 9, 2026
| push: | ||
| branches: | ||
| - master | ||
| - feature/tutorial |
Member
Author
There was a problem hiding this comment.
hmm, thanks to this is https://robotika.github.io/osgar/ already automatically updated
| - name: Set up Python | ||
| uses: actions/setup-python@v5 | ||
| with: | ||
| python-version: '3.10' |
Member
There was a problem hiding this comment.
Member
Author
There was a problem hiding this comment.
Oh, you mean "very old Python version"? Well, some people still need the RealSense backward compatibility, but maybe there is already some replacement? Thanks for comments
Collaborator
There was a problem hiding this comment.
I am currently trying to use version 3.12. Pyrealsense2 also works (At least here).
I don't know how to ARM platforms (RPi).
tajgr
reviewed
Mar 11, 2026
| from osgar.node import Node | ||
|
|
||
|
|
||
| class MyRobot(Node): |
Collaborator
There was a problem hiding this comment.
If this is a tutorial, couldn't there be more comments?
tajgr
reviewed
Mar 11, 2026
| def update_pose(self): | ||
| if self.last_update is not None: | ||
| t = (self.time - self.last_update).total_seconds() | ||
| self.speed = self.desired_speed # TODO motion model |
Collaborator
There was a problem hiding this comment.
The TODO things are confusing there.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR is a result of experiments with Gemini CLI (model 2.5 and 3.1). I consider the update of examples/myrobot as valuable although I am not that keen in copy the source to sphinx documentation. Also the uv.lock was "must have" to be able to get it running.