Skip to content
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

Adamc/sub camera temp #82

Closed
wants to merge 52 commits into from
Closed

Adamc/sub camera temp #82

wants to merge 52 commits into from

Conversation

uellenberg
Copy link
Collaborator

No description provided.

VladimirKupryukhin and others added 30 commits September 28, 2023 00:49
…oggle and added better documentation, fixed formatting
* First commit, added some C++ support

* First commit, testing

* Added robot_interface.h file

* Started working on adding function prototypes to robot_interface.h

* update header for robot interface

* Created robot_interface.cpp file

* add antenna methods

* Started converting robot_interface to Python

* Added constructor/destructor

* Trying to experiment with publisher

* Trying to create testing node for publishing testing

* Random testing node testing

* Got some testing publishers to publish using smaller node. Not sure if it's working correctly

* Added some more testing publisher stuff for all 6 wheels. Removed forward/backward wheel functionality, only single wheel function (positive/negative)

* Changed conversion from using diameter to using circumference

* change viator launch and cooresponding package xml

* First commit, added some C++ support

* First commit, testing

* Added robot_interface.h file

* Started working on adding function prototypes to robot_interface.h

* update header for robot interface

* Created robot_interface.cpp file

* add antenna methods

* Started converting robot_interface to Python

* Added constructor/destructor

* Trying to experiment with publisher

* Trying to create testing node for publishing testing

* Random testing node testing

* Got some testing publishers to publish using smaller node. Not sure if it's working correctly

* Added some more testing publisher stuff for all 6 wheels. Removed forward/backward wheel functionality, only single wheel function (positive/negative)

* Changed conversion from using diameter to using circumference

* change viator launch and cooresponding package xml

* added all methods to robot interface

* Added arm publishers and renamed other publishers

* Followed publisher naming standard

* update robot interface

* Fix RobotInterface import in testing node

* change message values to float 32

* Initial testing works. Tested three methods. Multiple motors move

* Changed const variables, changed math and gear ratios

* Can2.0 works

* Added some comments

* Added some comments

* Added setupCAN.sh

* Position code works with a single motor. Idk why the magic number is 33 for 2pi

---------

Co-authored-by: matthewperrywa <matthew.c.perry@outlook.com>
Co-authored-by: mendomic <mendomic@uw.edu>
Co-authored-by: Vladimir Kupryukhin <vladimirkupryukhin@gmail.com>
Co-authored-by: agrach <agrach@uw.edu>
Co-authored-by: VladimirKupryukhin <vlad@vlad-laptop>
* Add RobotInfo

* Add ability to convert callback data

* [robot_info] add dummy nodes for testing

* [robot_info] fix topic name being grabbed incorrectly

* Edits for robot info

* Add RobotInfo

* Add ability to convert callback data

* [robot_info] add dummy nodes for testing

* [robot_info] fix topic name being grabbed incorrectly

* Edits for robot info

---------

Co-authored-by: TrickFire Robotics <trickfirerobotics@gmail.com>
* First commit, added some C++ support

* First commit, testing

* Added robot_interface.h file

* Started working on adding function prototypes to robot_interface.h

* update header for robot interface

* Created robot_interface.cpp file

* add antenna methods

* Started converting robot_interface to Python

* Added constructor/destructor

* Trying to experiment with publisher

* Initial drivebase, update docker & settings

* Trying to create testing node for publishing testing

* Random testing node testing

* Got some testing publishers to publish using smaller node. Not sure if it's working correctly

* instances robot interface

* Added some more testing publisher stuff for all 6 wheels. Removed forward/backward wheel functionality, only single wheel function (positive/negative)

* Changed conversion from using diameter to using circumference

* importing interface works

* change viator launch and cooresponding package xml

* First commit, added some C++ support

* First commit, testing

* Added robot_interface.h file

* Started working on adding function prototypes to robot_interface.h

* update header for robot interface

* Created robot_interface.cpp file

* add antenna methods

* Started converting robot_interface to Python

* Added constructor/destructor

* Trying to experiment with publisher

* Trying to create testing node for publishing testing

* Random testing node testing

* Got some testing publishers to publish using smaller node. Not sure if it's working correctly

* Added some more testing publisher stuff for all 6 wheels. Removed forward/backward wheel functionality, only single wheel function (positive/negative)

* Changed conversion from using diameter to using circumference

* change viator launch and cooresponding package xml

* update topic/method names

* added all methods to robot interface

* copy interface to drivebase

* fix variable bug

* Minor fixes

* Add speed const & package description

* Convert functions to camelCase

* add drivebase to viator launch

* basic turn left and right

* Getting started

* Code overview

* Add image

* Added simple moteus docs

* First moteus docs draft

* Clean up moteus docs

* Rename moteus_can.md to can_moteus.md

* Spelling

* Edit getting started documents

* Fix gettingstarted link

* Added Git section to getting started

* Added suggestions from #17

* Add doc for CAN ID values (#19)

Added table of what CAN ID values we use for different subsystems.

* Update getting_started.md "ROS2"

* Create installing_on_mac.md

* Update installing_on_mac.md

* Update installing_on_mac.md

fix numbering

* Robot Interface Merge (#24)

* First commit, added some C++ support

* First commit, testing

* Added robot_interface.h file

* Started working on adding function prototypes to robot_interface.h

* update header for robot interface

* Created robot_interface.cpp file

* add antenna methods

* Started converting robot_interface to Python

* Added constructor/destructor

* Trying to experiment with publisher

* Trying to create testing node for publishing testing

* Random testing node testing

* Got some testing publishers to publish using smaller node. Not sure if it's working correctly

* Added some more testing publisher stuff for all 6 wheels. Removed forward/backward wheel functionality, only single wheel function (positive/negative)

* Changed conversion from using diameter to using circumference

* change viator launch and cooresponding package xml

* First commit, added some C++ support

* First commit, testing

* Added robot_interface.h file

* Started working on adding function prototypes to robot_interface.h

* update header for robot interface

* Created robot_interface.cpp file

* add antenna methods

* Started converting robot_interface to Python

* Added constructor/destructor

* Trying to experiment with publisher

* Trying to create testing node for publishing testing

* Random testing node testing

* Got some testing publishers to publish using smaller node. Not sure if it's working correctly

* Added some more testing publisher stuff for all 6 wheels. Removed forward/backward wheel functionality, only single wheel function (positive/negative)

* Changed conversion from using diameter to using circumference

* change viator launch and cooresponding package xml

* added all methods to robot interface

* Added arm publishers and renamed other publishers

* Followed publisher naming standard

* update robot interface

* Fix RobotInterface import in testing node

* change message values to float 32

* Initial testing works. Tested three methods. Multiple motors move

* Changed const variables, changed math and gear ratios

* Can2.0 works

* Added some comments

* Added some comments

* Added setupCAN.sh

* Position code works with a single motor. Idk why the magic number is 33 for 2pi

---------

Co-authored-by: matthewperrywa <matthew.c.perry@outlook.com>
Co-authored-by: mendomic <mendomic@uw.edu>
Co-authored-by: Vladimir Kupryukhin <vladimirkupryukhin@gmail.com>
Co-authored-by: agrach <agrach@uw.edu>
Co-authored-by: VladimirKupryukhin <vlad@vlad-laptop>

* First commit, testing

* Created robot_interface.cpp file

* change viator launch and cooresponding package xml

* Remove stuff to match main

* Properly import robot interface

* Delete unneeded stuff

* Revert "Delete unneeded stuff"

This reverts commit c6ac076.

* Fix message type

* Fix stuff

* Fix func names and variables

* Fix motor

* Idk what 70-fdcanusb.rules is

* Fix type errors from messages

* Both sides of the drivebase spin

* Initial drivebase, update docker & settings

* instances robot interface

* First commit, added some C++ support

* First commit, testing

* Added robot_interface.h file

* Started working on adding function prototypes to robot_interface.h

* update header for robot interface

* Created robot_interface.cpp file

* add antenna methods

* Started converting robot_interface to Python

* Added constructor/destructor

* Trying to experiment with publisher

* Trying to create testing node for publishing testing

* Random testing node testing

* Got some testing publishers to publish using smaller node. Not sure if it's working correctly

* Added some more testing publisher stuff for all 6 wheels. Removed forward/backward wheel functionality, only single wheel function (positive/negative)

* importing interface works

* update topic/method names

* First commit, added some C++ support

* First commit, testing

* Added robot_interface.h file

* Started working on adding function prototypes to robot_interface.h

* update header for robot interface

* Created robot_interface.cpp file

* add antenna methods

* Started converting robot_interface to Python

* Added constructor/destructor

* Trying to experiment with publisher

* Trying to create testing node for publishing testing

* Random testing node testing

* Got some testing publishers to publish using smaller node. Not sure if it's working correctly

* Added some more testing publisher stuff for all 6 wheels. Removed forward/backward wheel functionality, only single wheel function (positive/negative)

* Changed conversion from using diameter to using circumference

* change viator launch and cooresponding package xml

* change viator launch and cooresponding package xml

* added all methods to robot interface

* copy interface to drivebase

* fix variable bug

* Minor fixes

* Add speed const & package description

* Convert functions to camelCase

* add drivebase to viator launch

* basic turn left and right

* Getting started

* Code overview

* Added simple moteus docs

* First moteus docs draft

* Clean up moteus docs

* Rename moteus_can.md to can_moteus.md

* Spelling

* Edit getting started documents

* Fix gettingstarted link

* Added Git section to getting started

* Added suggestions from #17

* Add doc for CAN ID values (#19)

Added table of what CAN ID values we use for different subsystems.

* Update getting_started.md "ROS2"

* Create installing_on_mac.md

* Update installing_on_mac.md

* Update installing_on_mac.md

fix numbering

* Robot Interface Merge (#24)

* First commit, added some C++ support

* First commit, testing

* Added robot_interface.h file

* Started working on adding function prototypes to robot_interface.h

* update header for robot interface

* Created robot_interface.cpp file

* add antenna methods

* Started converting robot_interface to Python

* Added constructor/destructor

* Trying to experiment with publisher

* Trying to create testing node for publishing testing

* Random testing node testing

* Got some testing publishers to publish using smaller node. Not sure if it's working correctly

* Added some more testing publisher stuff for all 6 wheels. Removed forward/backward wheel functionality, only single wheel function (positive/negative)

* Changed conversion from using diameter to using circumference

* change viator launch and cooresponding package xml

* First commit, added some C++ support

* First commit, testing

* Added robot_interface.h file

* Started working on adding function prototypes to robot_interface.h

* update header for robot interface

* Created robot_interface.cpp file

* add antenna methods

* Started converting robot_interface to Python

* Added constructor/destructor

* Trying to experiment with publisher

* Trying to create testing node for publishing testing

* Random testing node testing

* Got some testing publishers to publish using smaller node. Not sure if it's working correctly

* Added some more testing publisher stuff for all 6 wheels. Removed forward/backward wheel functionality, only single wheel function (positive/negative)

* Changed conversion from using diameter to using circumference

* change viator launch and cooresponding package xml

* added all methods to robot interface

* Added arm publishers and renamed other publishers

* Followed publisher naming standard

* update robot interface

* Fix RobotInterface import in testing node

* change message values to float 32

* Initial testing works. Tested three methods. Multiple motors move

* Changed const variables, changed math and gear ratios

* Can2.0 works

* Added some comments

* Added some comments

* Added setupCAN.sh

* Position code works with a single motor. Idk why the magic number is 33 for 2pi

---------

Co-authored-by: matthewperrywa <matthew.c.perry@outlook.com>
Co-authored-by: mendomic <mendomic@uw.edu>
Co-authored-by: Vladimir Kupryukhin <vladimirkupryukhin@gmail.com>
Co-authored-by: agrach <agrach@uw.edu>
Co-authored-by: VladimirKupryukhin <vlad@vlad-laptop>

* First commit, testing

* Created robot_interface.cpp file

* Remove stuff to match main

* Properly import robot interface

* Delete unneeded stuff

* Revert "Delete unneeded stuff"

This reverts commit c6ac076.

* Fix message type

* Fix type errors from messages

* Both sides of the drivebase spin

* made the drivebase work

* Removed the print statements that flood the console

* launch_only_docker.sh runs launch.sh automatically

* launch_only_docker.sh opens in project folder, doesn't run launch.sh

* Remove unneeded python linting setting

* Change version to 0.0.0

* Update description

---------

Co-authored-by: Daniel K <daniel.kantor2009@gmail.com>
Co-authored-by: matthewperrywa <matthew.c.perry@outlook.com>
Co-authored-by: Vladimir Kupryukhin <vladimirkupryukhin@gmail.com>
Co-authored-by: Ezekiel Mitchell <135088287+ezekielmitchell@users.noreply.github.com>
Co-authored-by: mendomic <mendomic@uw.edu>
Co-authored-by: agrach <agrach@uw.edu>
Co-authored-by: VladimirKupryukhin <vlad@vlad-laptop>
Co-authored-by: TrickFire Robotics <trickfirerobotics@gmail.com>
* Basic node works

* Ready to test code

* Add launch file modifications

* Trying to connect to moteus works

* Wheel spins via the robot interface using json

* Motors stop after termination

* Updated interface to support drivebase

* Remove old files. Add shutting motor down when error found

* Removed repeated code

* Tested stuff

* Works

* testing canbus disconnection

* Canbus disconnection works

* Relaunching now works without unplugging.replugging canusb

* Added some comments

* Motor reconnect works

* Proper handling of faults

* Handle exception when shutting down. Checks for invalid ros context

* Updated RobotInfo

* Removed unneeded stuff from the json helpers

* Added comments and a few constants

* Docs draft 1

* Updated error messages to be more detailed

* Some more can_moteus.md docs

* Finish documentation

* can_modeus.md minor grammar changes

---------

Co-authored-by: TrickFire Robotics <trickfirerobotics@gmail.com>
Co-authored-by: Carl Klay <klaymorer@protonmail.com>
* Basic node setup

* Need to test publisher code

* Send data to mission control

* READING POWER WORKS WOOO

* Make moteus send telemetry even when set_stop()

---------

Co-authored-by: TrickFire Robotics <trickfirerobotics@gmail.com>
…controller (#55)

* Basic arm package works. Handle canusb not being plugged in

* Basic service works

* Change roverROS armstate from mission control

* Added unveiling-arm topics for the motors. Need to implement the robotinterface

* Updated interface for arm. Untested

* Prevent individual control vel from sending when it is disabled

* Remove some bad code due to me copy/pasting

* Tested. Working

* Last commit before merge

---------

Co-authored-by: TrickFire Robotics <trickfirerobotics@gmail.com>
loukylor and others added 16 commits October 22, 2024 12:43
these tests are nigh impossible to integrate with and customize, plus it would be a pain to integrate pylint support. plus these tests don't run on lib files
there's a long laundry list of changes (let's hope i don't forget anything):
- added pylint, isort, black, and mypy
  - pylint does most of the linting work
  - isort is specifically for import sorting, and some whitespace issues
  - black runs autoformatting on save
    - I don't particularly like autoformatters but I know for a fact that people will not heed the warnings for linters so ive included it as an
extreme measure.
  - mypy is for type checking
- linting has several things people should pay attention to
  - max line length is 100
  - doc strings for all functions, classes, and modules is required
  - imports now must be in specific orders
    - isort will automatically sort imports for you
  - function parameters must be type hinted
  - function return types must be specified too
  - some class attributes must also be type hinted
  - function names will be camelCase
  - attributes, variables, and file names must be snake_case
  - whitespace will be automatically managed by the auto formatter
- other than consistent formatting, this will give type hinting and intellisense to almost every variable
* [lib] add lib folder and refactor constants into configs, removing motor names only relying on can id

* [lib] refactor robot interface and info to take motor configs and new msg types

* [lib] make coloring slightly less annoying

* [lib] differentiate between disable and stop motor

* [lib] set position to `nan` when stopping motor

* add typing to moteus command results

* [lib] debug in person to make it work

* [lib] make robot info take motor configs over can ids

* [lib] fix formatting

* fix units on robot interface and document some motor state attributes

* [lib] Changed drivebase speed to match radian/s inputs rather than rev/s

---------

Co-authored-by: TrickFire Robotics <trickfirerobotics@gmail.com>
* [lib] add lib folder and refactor constants into configs, removing motor names only relying on can id

* [lib] refactor robot interface and info to take motor configs and new msg types

* [lib] make coloring slightly less annoying

* [lib] differentiate between disable and stop motor

* [lib] set position to `nan` when stopping motor

* add typing to moteus command results

* [lib] debug in person to make it work

* [lib] make robot info take motor configs over can ids

* [lib] fix formatting

* fix units on robot interface and document some motor state attributes

* [lib] implement config setting

* [lib] add configs

* [lib] remove conf default and fix bugs for config

* [lib] skip can id config value

---------

Co-authored-by: Kyler Li <loukylor@gmail.com>
Co-authored-by: TrickFire Robotics <trickfirerobotics@gmail.com>
* [example/docs] Remade coder_overview.md

* [example/docs] Added basic example node that has hello world in it

* Added example node with timer, pub, sub

* Spelling fixes for docs

* Removed example_node from the node launch array

* [example/docs] Small .md formatting changes and sentence restructure

* [example/lib] Update main README.md

* Formatted the example.py

* [example/docs] add building and testing docs

---------

Co-authored-by: loukylor <loukylor@gmail.com>
* heartbeat: finished heartbeat code [untested]

* heartbeat: remove unnecessary file

* heartbeat: change initialization wait time from 3s to 10s

* heartbeat: tested [on 10/1]
@uellenberg
Copy link
Collaborator Author

This NEEDS to be squashed

@uellenberg uellenberg closed this Jan 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants