semvec/pypi-packages huggingface dataset:
robot-gait-vis 0.1.2
Simulate and visualize different walking robot configurations and gaits.
License: MIT
Requires Python: >=3.9,<4.0
Keywords: robotics,gait,visualize

# Robot-Gait-Vis

Robot-Gait-Vis is a python package designed to help rapidly visualize the performance of different 
gaits and trajectories for various types of walking robots.

## Features
- Three different types of legs
- Three different types of gaits
- Rapid animation of walking robot
- Tracking and plotting of joint angles over time
- Tracking and plotting of end-effector positions over time

## Installation
To install the package with `pip`:
```python
pip3 install robot-gait-vis
```

## Dependencies
In addition to python version 3.9 or newer, this project depends on the following open source packages:
- [numpy](https://numpy.org/)
- [matplotlib](https://matplotlib.org/)

## Basic Usage
The following examples assume that `robot-gaot-vis` has been imported as `rgv`:
```python
import robot_gait_vis as rgv
```
To create a planar leg with segment lengths of 0.5 and 1 meters:
```python
planar_leg = rgv.PlanarLeg((0.5, 1))
```
To create a quadruped robot with body dimensions of 0.5 by 0.25 by 0.5 meters:
```python
quadruped = rgv.Robot((0.5, 0.25, 0.5), planar_leg, 4)
```

## Detailed Usage
The example.py file illustrates detailed example usage of the package. The example file generates walking motion for a simple biped robot as well as a hexapod robot and outputs the GIFs shown below.
<p float="left">
    <img src="https://github.com/zsilberstein/robot-gait-vis/blob/master/biped_ex.gif?raw=true" alt="Gif of a simple biped robot walking" width="365" height="274" />
    <img src="https://github.com/zsilberstein/robot-gait-vis/blob/master/hexapod_ex.gif?raw=true" alt="Gif of a hexapod robot walking" width="365" height="274" />
</p>

## Testing
To run tests for the project:
```python
python3 -m unittest
```

## Future Improvements
- Add new leg types
- Add new gaits
- Add new end effector trajectories
- Add more animation options  
### Have your own improvement in mind? 
Feel free to fork the project and then put in a pull request with the desired improvement. Please be sure to include relevant tests in any pull request.

## License
This project is licensed under the [MIT License](https://github.com/zsilberstein/robot-gait-vis/blob/master/LICENSE). See the LICENSE page for more information.

## Author
**Zach Silberstein**  
Email: **zach.silberstein@gmail.com**   
Github: [@zsilberstein](https://github.com/zsilberstein)
chandler-bot 1
You personal assistant
License: MIT

## How to Use

    1. Clone the repository to your local machine.
    2. Navigate to the directory containing the CLI bot.
    3. Installl venv `python3 -m venv venv`.
    4. Activate venv `source venv/bin/activate` (`source ./venv/scripts/activate` for Windows).
    5. Install requirements `pip install -r requirements.txt`
    6. Run the CLI bot script `py main.py`.
    7. Enter commands as per the provided documentation.

## Commands and Functionalities

- **Close:** Exits the CLI bot, saving any changes made.

  ```
  close | exit | bye | quit
  ```

- **Greeting:** Responds with a greeting message.

  ```
  hello | hi | hey | yo | sup
  ```

- **Help:** Displays the help text with available commands.

  ```
  help
  ```

- **Add Contact:** Adds a new contact.

  ```
  add | create | new <contact_name> <contact_phone>
  ```

- **Change Contact:** Updates an existing contact.

  ```
  change | edit | update <contact_name> <new_contact_phone>
  ```

- **Delete Contact:** Removes a contact.

  ```
  delete | remove | drop <contact_name>
  ```

- **Show Phone:** Displays the phone number of a contact.

  ```
  phone <contact_name>
  ```

- **Show All Contacts:** Displays all contacts.

  ```
  all
  ```

- **Birthdays:** Displays upcoming birthdays.

  ```
  birthdays <days amount>
  ```

- **Add Birthday:** Adds a birthday for a contact.

  ```
  add-birthday <contact_name> <birthday_date>
  ```

- **Show Birthday:** Displays the birthday of a contact.

  ```
  show-birthday <contact_name>
  ```

- **Add Email:** Adds an email address to a contact.

  ```
  add-email <contact_name> <email_address>
  ```

- **Add Address:** Adds an address to a contact.

  ```
  add-address <contact_name> <street> <building> <city> <additional>
  ```

- **Show Address:** Displays the address of a contact.

  ```
  show-address <contact_name>
  ```

- **Add Note:** Adds a note with optional tags.

  ```
  add-note  <title> <note_content>
  ```

- **Add Tag:** Adds a tag to an existing note.

  ```
  add-tag <note_id> [<tag>]
  ```

- **Edit Note:** Edits an existing note.

  ```
  edit-note <note_id> <new_content>
  ```

- **Delete Note:** Deletes a note.

  ```
  delete-note <note_id>
  ```

- **Show Note:** Displays a note.

  ```
  show-note <note_id>
  ```

- **Show All Notes:** Displays all notes.

  ```
  show-all-notes
  ```

- **Search Contact:** Searches for a contact by name.

  ```
  search-contact <contact piece of data>
  ```

- **Search Note:** Searches for a note by content.

  ```
  search-note <key phrase>
  ```

- **Sort Notes:** Sorts notes by tag.
  ```
  sort-notes [<tag>]
  ```