2020 Robot Code
Package list
- adi_driver - submodule - ADI IMU ROS node
- as726x_controllers - ROS controller for as726x color sensor
- as726x_interface - state and command interfaces for as726x color sensor
- as726x_msgs - custom messages for as726x color sensor
- base_trajectory - code to generate splie-based paths for the drive base to follow
- base_trajectory_msgs - custom messages used by base_trajectory
- behavior_actions - action definitions for the behavior package
- behaviors - actionlib servers and clients for the robot
- cancoder_controller - ROS controller for CTRE cancoder
- canifier_controller - ROS controller for CTRE canifier
- canifier_controller_msgs - custom messages for canifier_controller package
- cmake_modules - Scripts to set build options for the code
- color_spin - compute optimal spin distance and direction for each color transition on the color wheel
- controller_node - holds top-level launch and config files for the robots
- controllers_2019 - ROS controllers for 2019 robot mechanisms
- controllers_2019_msgs - custom messages used by controllers_2019
- controllers_2020 - ROS controllers for 2020 robot mechanisms
- controllers_2020_msgs - custom messages used by controllers_2020
- control_toolbox - submodule - ROS package that needs to be built locally to pick up changes to realtime_tools package
- cpu_monitor - submodule - package which logs CPU use of other nodes
- ddynamic_reconfigure - submodule - wrapper code to simplify using ROS dynamic reconfigure
- demo_tf_node - example code for using ROS tf transforms between various reference frames
- dynamic_reconfigure_wrapper - wrapper code to simplify using ROS dynamic reconfigure - obsolete, use ddynamic_reconfigure instead for new code
- field_obj - custom messages for field_obj package
- field_obj_tracker - Code to identify characteristics of objects on the field
- frc_interfaces - state and command interfaces for FRC-specific data - match data, PCM, PDP, etc
- frc_msgs - message used by frc_state_contrllers package
- frcrobot_description - URDF definitions for swerve robots
- frc_state_controllers - ROS controllers to publish state for various FRC-specific hardware
- goal_detection - node to detect retro-reflective tape
- imu_zero - node which applies an offset to imu messages to allow for zeroing field-centric driving
- navx_publisher - submodule - ROS node for navX imu
- path_follower - node which follows paths generated by base_trajectory
- path_follower_msgs - custom messages for path_follower node
- pf_localization - Particle filter localization node
- pid - submodule - our fork of the ROS PID node, adds feed-forward
- realsense - submodule - ROS nodes for Intel Realsense cameras
- realtime_tools - submodule - fork of ROS realtime tools, fixed to allow non-polling implementation of realtime_publisher
- robot_characterization - nodes to generate data for the WPIlib robot characterization package
- robot_visualizer - package which monitors talon state and uses it to plot robot position
- rosbag_scripts - scripts to search for events in ros bag files
- ros_control_boilerplate - Home of the hardware and simulation interfaces
- ros_controllers - submodule - ROS package that needs to be built locally to pick up changes to realtime_tools package
- rospy_message_converter
- rqt_driver_station_sim - simulated driver station for simulation interface
- spline_util - helper code to generate and use splines
- stage_ros - submodule - stage simulator for ROS, provides basic 2d graphical sim of robot and sensors (fork which includes fiducial markers)
- state_handle - helper code for defining ROS state and command interfaces and handles
- state_listener - ROS controller used to pass joint data between hardware interfaces
- static_controller - ROS controller which publishes a constant value when loaded - used to indicate that all other controllers have been started and the robot is ready to enable
- talon_controllers - ROS controllers for CTRE motor controllers and other CAN hardare
- talon_interface - state and command interfaces for CTRE hardware
- talon_state_controller - ROS controllers which publish CTRE hardware state
- talon_state_msgs - custom messages used by talon_state_controllers
- talon_swerve_drive_controller - Drive base controller for swerve drive using CTRE motor controllers
- teleop_joystick_control - convert joystic data into robot actions
- template_controller - example controller code
- teraranger - submodule - code for teraranger distance sensors
- teraranger_array - submodule - code for teraranger distance sensors
- teraranger_array_converter - submodule - code for teraranger distance sensors
- teraranger_description - submodule - code for teraranger distance sensors
- tf_object_detection - Code for neural-net based object detection
- uptime - publish uptime info, used to monitor for CPU resets
- visualize_profile - script to visualize motion profile
- zed-ros-wrapper - submodule - fork of ROS node for Stereolabs ZED camera
- zms_writer - code to write RGB+D image info into a custom file format
2019 Offseason Changelog Offseason dev sandbox for 2019 fall offseason
Notable updates since the 2019 comp season release
- improments to auto-align hatch panel pickup and placement
- add feed-forward to ROS' default PID node
- add a node to publish system uptime
- add a node to zero IMU data (for aligning field-centric swerve)
- optimization to reduce frequency of various HAL calls on the Rio
- add code to sim driver station to set limit switches and line break sensors in simulator
- add code to base trajectory node to auto-generate and optimize spline-based paths
- fixed swerve base odometry calculations
- log Talon / Victor firmware verions
- switch hardware interface time functions to std C++ - prep for running on Windows
- script to make sure USB-attached CAN device is actually attached (can_up.sh)
- Experimental / hacked up branch to use ROS PinholeCameraModel for screen to world coord conversions
- Updates for 2020 beta wpilib & Rio image
- clean up lots of unused packages and configs
- vim doesn't flash the screen on errors!