-
Notifications
You must be signed in to change notification settings - Fork 43
Open
Labels
CIRCMoves Snowbots closer to having a working rover for the Canadian International Rover ChallengeMoves Snowbots closer to having a working rover for the Canadian International Rover ChallengeCriticalFirmwareHardware
Description
Currently, when using the Nintendo Switch Pro Controller to control the rover, there are two modes of control: one mode being the wheels, and the other being the arm. One can switch between the two modes by pressing the home button on the controller.
- The arm mode is incomplete.
- To complete the arm mode, we first need the procontroller_snowbots package to be able to create a MoveIt move given the controller inputs.
- We then need to integrate the MoveIt inverse kinematics solver into our repo.
- Then on the NUC, we need a node that will subscribe to the output of the kinematics solver and turn that into commands for the Teensy microcontroller.
- We need to add a third mode for drilling, i.e. a mode exclusively used for soil sampling.
- The procontroller_snowbots package should be augmented to contain this new mode. Within the mode, based on the controller input, the appropriate strings for controlling the end effector should be generated and published to a topic.
- A node running on the NUC should subscribe to the topic containing the above strings, and send the strings over a serial connection to the Teensy microcontrollers on the arm. We should be careful to ensure that the NUC does not simultaneously attempt to tell the arm to drill and execute a MoveIt move, but hopefully that shouldn't be a huge problem.
In terms of serial communication within a ROS node, as long as the linux user running the node is in the dialout group, something like rosserial_arduino or ros-teensy can be used.
Examples of serial communication within our repo:
Metadata
Metadata
Assignees
Labels
CIRCMoves Snowbots closer to having a working rover for the Canadian International Rover ChallengeMoves Snowbots closer to having a working rover for the Canadian International Rover ChallengeCriticalFirmwareHardware