Skip to content
This repository has been archived by the owner on Apr 12, 2024. It is now read-only.

Impl kart commander #31

Closed
wants to merge 9 commits into from
Closed

Impl kart commander #31

wants to merge 9 commits into from

Conversation

alanssitis
Copy link
Contributor

Brief Description

@Reschivon TODO

Related Issues

Closes ...

Opens ...

Details

Tasks

  • Finished all sub-tasks (from issues)
  • Updated Documentation
  • Tests written/updated and implemented to CI

berliernj and others added 9 commits April 16, 2023 05:11
Added QoS profile and state transition rules
in hindsight it was simpler. If one mux fails both are likely screwed
See the AKS server for the state graph
It was using the rcs_service package before
No documentation for constants needed some trial n error
tests to be made automated later, see readme in tests
Copy link
Contributor Author

@alanssitis alanssitis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are a few more things but these are at a first glance.

Comment on lines 5 to 37
## Mux structure

There are two control sources that all produce `twist_mux` messages to "cmd_vel": joy_vel (teleop controller) and nav_vel (autnomous navigation).
The RCS provides some track states (safe stop, estop, teleop, auto) that control which input we select. It's important that the states can override each other in this priority:

- ESTOP/SAFE STOP
- TELEOP
- AUTO

The priorities are implemented with a [`twist_mux`](http://wiki.ros.org/twist_mux).
and laid out as can be seen below.

```


/joy_only /stop (255)
\ /
| |
_|_|_
/joy_vel____| |
| |____ /cmd_vel
| |
/nav_vel ___| |
|_____|

```

Priorities for each topic and lock are listed, as well as the expected topic publishers:

- `stop` ~ `kart_commander`: 255
- `joy_vel` ~ `teleop_twist_joy_node`: 50
- `joy_only_publisher` ~ `kart_commander`: 50
- `nav_vel` ~ `nav2`: 10
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We needed a two-level mux system since we do not want joy_vel to ever overwrite nav_vel since that's not a "trackable" difference. However, if you think we want the ability to do so, comment in #26

],
install_requires=['setuptools'],
zip_safe=True,
maintainer='lucy',
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
maintainer='lucy',
maintainer='Xuyang Chen',

<name>amp_kart_commander</name>
<version>0.0.0</version>
<description>Updates cmd_vel max based on TrackState changes</description>
<maintainer email="[email protected]">lucy</maintainer>
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<maintainer email="[email protected]">lucy</maintainer>
<maintainer email="[email protected]">Xuyang Chen</maintainer>

@alanssitis alanssitis closed this Apr 16, 2023
@alanssitis
Copy link
Contributor Author

Welp, shouldn't have opened this myself. @Reschivon see some of the comments and open it yourself

@alanssitis alanssitis reopened this Apr 16, 2023
@alanssitis alanssitis closed this Apr 16, 2023
@Reschivon Reschivon reopened this Apr 30, 2023
@alanssitis
Copy link
Contributor Author

alanssitis commented May 9, 2023

@Reschivon is there a way to create a new PR instead of reopening? I am still the owner of this PR

@alanssitis
Copy link
Contributor Author

Superceded by #46

@alanssitis alanssitis closed this May 11, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants