Giter Club home page Giter Club logo

victoria_platform's People

Contributors

griswaldbrooks avatar markwomack avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

griswaldbrooks

victoria_platform's Issues

Timeout for cmd_vel

When the Teensy is listening for cmd_vel, it needs to have a timeout where if it doesn't receive a new command within 200 ms, it commands the motors to stop.

Remove #define macros

@markwomack
I appreciate lines like this are unavoidable:
https://github.com/victoriarobotics/victoria_platform/blob/master/Arduino/victoria_teensy_ros_node/victoria_teensy_ros_node.ino#L17

But unless we have a space constraint (which I don't think we do and it's not even clear that this would be a problem) I'm an advocate of converting ALL #define macros to const variables or ros params.

For the block of #define macros here:
https://github.com/victoriarobotics/victoria_platform/blob/master/Arduino/victoria_teensy_ros_node/victoria_teensy_ros_node.ino#L111
Themselves should be ros params that are checked for. Otherwise, anytime we want to look at any debug outputs, we'll have to recompile and reload.
Further more, these macros encourage dead code. The preprocessor will remove them before the compiler gets to them, so when we do want to use them in the future when we've changed the code, it won't compile.

Macros like these:
https://github.com/victoriarobotics/victoria_platform/blob/master/Arduino/victoria_teensy_ros_node/victoria_teensy_ros_node.ino#L36
https://github.com/victoriarobotics/victoria_platform/blob/master/Arduino/victoria_teensy_ros_node/victoria_teensy_ros_node.ino#L53

Should be const variables or ros params so they can be tuned and seen/shared in a param file easily.

Change frames on everything

So, apparently, frames shouldn't have a / prepended onto them.
For example, it shouldn't be /odom it should be odom because of tf2 I think.
Topics should stay for now the way they are.

Update README

The readme is in need of an overhaul, documenting dependencies and how to build/install.

Add code to set fob mode

Fob mode defaults 0, which means to ignore all fob settings. Values 1-4 indicated with fob to check. If the set fob is low, then the robot is stopped. But need subscriber to listen for setting the fob mode.

Remove bumper stop code

Stopping the robot due to the bumper being pressed should be controlled from the higher level ros modules, not the teensy code.

Only set motor speed when there is a change to the motor speed

We call setMotors() for every loop. We should only call it when we have received a cmd_vel or we have not received a cmd_vel for the threshold. That would allow the motor controller hardware to stop itself since it does not get a continuous stream of commands.

Add blink pattern to signify the Teensy is on

Been having some issues with the Teensy lately (power related I'm sure) and I've thought that it would be nice if the Teensy blinked with one pattern when it was on, before contacting the ROS core and a different one after.

Add debug message and topic for Teensy state

Add ros topic that publishes a custom message that contains the current state of the Teensy. Is the TRex happy? Is the IMU and Magenetometer happy? Etc. Can be published once every 5 seconds.

Add frame to imu

The imu_raw message doesn't have a frame. The frame should be imu_link.

Use set acceleration for motor speed instead of set speed

TRex support a set acceleration instead of just set speed. The speed will be brought up to the set acceleration with changes every 10th or 100th of a second. This may make the robot less jumpy when starting up and changing direction, etc.

Allow rosparams to be updated dynamically

Right now, rosparam values are only loaded in the setup() method. Need to find a mechanism to update those values without requiring a restart of the Teensy. Maybe some kind of "update" or "reset" message from ros?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.