Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Set up 2 basic nodes * Added cv_bridge * Publishing works I think * Added video test * launch_only_docker connects to gui. Video output confirmed good * Changed to compressed image * Changed to compressed image * stopped running camera test and slower streaming for testing * Spin up a camera node for every camera detected * Pushing any changes that were done. I am switching branches -vlad * multi threaded executor for all cameras * changed to individual topic for each camera * bug fix to append string to string * another bug fix to iterate camera topic name * added a test for custom camera executor * temporarily removing camera node because it's broken * added camera node back * changed executor publisher name because name conflict with roscamera * something is wrong with publisher name. removed executor test from launch file * Implemented camera toggle control via a mission control topic called 'camera_control' that sends string messages * delete camera_subscriber (unused) * rebase + updated roscamera.py with on, off functionality instead of toggle and added better documentation, fixed formatting * update settings.json * 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> * Merge RobotInfo (#29) * 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> * Merge drivebase code (#30) * 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> * Rewrite can_moteus (#41) * 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> * Send Telemetry Data to Mission Control (#53) * 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> * arm: Implement basic arm functionality (velocity-based) with an xbox 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> * Remove unused packages, remove unused docs, remove unused shell files * [reformat] remove existing linter tests 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 * THE GREAT REFORMATTENING 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 * THE GREAT REFORMATTENING (pt 2) * [lib] Refactor non-node modules to be easier to work with (#59) * [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 support for setting moteus config values in lib #61 (#62) * [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> * [launch] Make a shell script to launch, run, build, create docker images/containers * [launch] added -t for tty * [launch] Added some comments to container_launch.sh * Automatically stop the old container from running * Adds an Example Node as well as Some Additional Documentation (#63) * [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> * [doc/example] remove example node from viator lauch (#65) * Hong/heartbeat (#70) * heartbeat: finished heartbeat code [untested] * heartbeat: remove unnecessary file * heartbeat: change initialization wait time from 3s to 10s * heartbeat: tested [on 10/1] * added the missing Docker modules in the Dockerfile for OpenCV and cv_bridge * Final Luncheon code * Cleanup * Further cleanup * Update workflow to work with submodules * Fix workflow erroring on vision_opencv * Fix pylint * Remove old camera on/off functionality * Fix video permission issue --------- Co-authored-by: Vladimir Kupryukhin <vladimirkupryukhin@gmail.com> Co-authored-by: VladimirKupryukhin <vlad@vlad-laptop> Co-authored-by: Razvan Anghel <csneed@Razvans-MacBook-Air.local> Co-authored-by: TrickFire Robotics <trickfirerobotics@gmail.com> Co-authored-by: dkim03 <kimdavid2222@gmail.com> Co-authored-by: Daniel Kantor <daniel.kantor2009@gmail.com> Co-authored-by: matthewperrywa <matthew.c.perry@outlook.com> Co-authored-by: mendomic <mendomic@uw.edu> Co-authored-by: agrach <agrach@uw.edu> Co-authored-by: Kyler Li <46853114+loukylor@users.noreply.github.com> Co-authored-by: Carl Klay <klaymorer@protonmail.com> Co-authored-by: Ezekiel Mitchell <135088287+ezekielmitchell@users.noreply.github.com> Co-authored-by: Vladimir Kupryukhin <45701631+VladimirKupryukhin@users.noreply.github.com> Co-authored-by: Kyler Li <loukylor@gmail.com> Co-authored-by: Adam Chhor <chhoradam@gmail.com>
- Loading branch information