No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.

ornis package from ornis repo

ornis

Package Summary

Tags No category tags.
Version 0.0.0
License TODO: License declaration
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/juraph-dev/ornis.git
VCS Type git
VCS Version master
Last Updated 2024-04-23
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

TODO: Package description

Additional Links

No additional links.

Maintainers

  • juraph

Authors

No additional authors.

ORNIS (Open.Ros.Notcurses.Interface.System)

ORNIS build

What is it?

A waste of time (A Terminal User Interface for ROS2 (a ROS2 TUI)).

Current features

  • View currently active topics/nodes/services
  • Get information on currently active topics/nodes/services
  • Support for service calls
  • Streaming topics
  • *Kind of* Supports mouse workflows

Videos

Small demo video of topic selection and service calls.

https://user-images.githubusercontent.com/28330806/230512415-6c214e54-f59b-49c7-a2fa-0de811d996ee.mp4

Prerequisites

Notcurses
ROS2 Humble or above \

FastRTPS’s default configuration doesn’t work, so you’re going to need to do the following if you’re using it:

apt-get install ros-${distro}-rmw-fastrtps-dynamic-cpp
echo 'alias ornis="RMW_IMPLEMENTATION=rmw_fastrtps_dynamic_cpp ornis"' >> ~/.bashrc

CycloneDDS works out of the box, so no extra config required.

Windows and mac also aren’t currently supported. Mac might work, feel free to try it and let me know how it goes.

Installation

You’re going to need Notcurses. You can either initialise it as a submodule to this repo, and compile alongside ORNIS, or you can install it using your favourite package manager. Ensure you have ROS2 (Humble or newer) installed and sourced.

Install notcurses deps

apt-get install build-essential cmake doctest-dev libavdevice-dev libdeflate-dev libgpm-dev libncurses-dev libqrcodegen-dev libswscale-dev libunistring-dev pandoc pkg-config

Build ornis

mkdir ornis_ws && cd ornis_ws
git clone https://github.com/juraph-dev/ornis.git --depth 1
cd ornis
git submodule update --init
cd tools && ./compile.sh

Usage

Ensure ornis has been sourced by sourcing its setup.bash from your .bashrc

cd ornis_ws
echo 'source '$(pwd)'/install/setup.bash' >> ~/.bashrc
source ~/.bashrc
ornis

From here on out, you can just run ornis , then trust the bar at the top that tells you how to use it. You can probably click things too, if you’re one of those kinds of people.

Future roadmap

I still have a ton of things I’d like to implement. To name a few:

  1. Proper topic visualisation, ala rosshow. At the moment, you only get the raw data displayed, I’d like to provide a meaningful and intuitive way to actually see the data being thrown around.
  2. Action support. I don’t personally use Actions frequently, so it wasn’t a very high priority for me. It’ll be pretty easy for me to add it, the hard part of ORNIS has already been layed out, I just need to get around to doing it.
  3. Add support for multiple topic streams at once. The foundation is already there to allow the user to, for example: view a topic, while sending out a service call.
  4. I want to add a “graph view” for all of the currently launched nodes. In the same vein as Graphviz, with nodes linked by publishers/subscribers. I can see it being very useful (And fun) to be able to get an easy to digest visualisation of the node structure currently running on the robot.

Ackowledgements

[ros2introspection](https://github.com/facontidavide/ros2_introspection) I blatantly stole a ton of code from here
dynamic message introspection tools And here
rosshow I actually started ORNIS _before
I found rosshow (Promise), but once I saw it, it really fueled the fire, having shown me the potential of clever data visualisation. It’s a pretty great piece of software.
Notcurses, the library powering the visuals of ORNIS. Nick Black (The creator) is a super interesting dude, and I’ve enjoyed reading his guidebook, which is how I was introduced to Notcurses.
Arnav Borborah Their cpp14 template is pretty great, allowed me to quickly get ORNIS up and running with barely any hassle. Having a template to look at how things like CI and test modules should be layed out was also extremely useful (Even though I don’t use either, ha)

Further reading

I wrote a long winded posted about ORNIS on my blog, for if you have absolutely nothing better to do with your time.

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ornis at Robotics Stack Exchange

No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.