Difference between revisions of "HS Summer2018"
From class_wiki
(→Schedule) |
(→Schedule) |
||
(12 intermediate revisions by the same user not shown) | |||
Line 60: | Line 60: | ||
|- | |- | ||
− | |valign="top"|'''Week 4: July 9-13 -- | + | |valign="top"|'''Week 4: July 9-13 -- Building goes to extra time''' |
| | | | ||
* Monday | * Monday | ||
Line 74: | Line 74: | ||
** Cleaned up cable routing with lots of zip ties | ** Cleaned up cable routing with lots of zip ties | ||
** Adjusted motor battery mounting to get better clearance. But also added "shield" to protect CM9.04C from anything under the robot. This reduces clearance relative to new motor battery mounts by about 0.5 inches. But shield also allows the robot to sit securely on a box with wheels off the floor for testing. | ** Adjusted motor battery mounting to get better clearance. But also added "shield" to protect CM9.04C from anything under the robot. This reduces clearance relative to new motor battery mounts by about 0.5 inches. But shield also allows the robot to sit securely on a box with wheels off the floor for testing. | ||
− | * | + | * Thursday |
− | ** | + | ** After glue dried on servo hubs, remounted wheels. Spinning has become fritzy -- over-torque alarm/shutdown happening periodically even when wheels aren't on ground. Sanded to reduce friction, same problem. Added WD-40, same problem. Added code to limit accelerations, same problem. Last try putting down on the floor, robot moves so slowly and then craps out after 3 feet. Executive decision made that XL-320 motors were not up to the task and stripped them and CM9.04C board and batteries off the robot. We shall never speak of them again |
− | ** | + | ** Figured out a hack to connect MX-106T servo hub to Lego wheel with just screws and washers |
+ | * Friday | ||
+ | ** Got 5 x MX-106T servos prepped (had to strip pan-tilt head on Warthog), connected to USB2Dynamixel, powered from adjustable voltage adapter. Modified bossMain to not assume the servos which must not be named, found 4 out of the 5 servos on scan -- not sure what the 5th one's deal is. Set ID of each of the cooperative 4 so we can address with constants. Got them into wheel mode and moving with joystick commands, although I would say there seems to be some latency somewhere in the pipeline. All in all, a good morning's work. | ||
+ | ** Improved alignment of servo-wheel connection, got other three servos connected to wheels | ||
|- | |- | ||
− | |valign="top"|'''Week 5: July 16-20 -- | + | |valign="top"|'''Week 5: July 16-20 -- Driving tests/data collection...teaching?''' |
| | | | ||
+ | * Monday | ||
+ | ** Attached wheels/servos to new U-channels, integrated into robot body | ||
+ | ** Attached USB2Dynamixel to chassis | ||
+ | * Tuesday | ||
+ | ** Verified reduction in latency in joystick->motor connection by only sending motor commands if they are DIFFERENT from previous | ||
+ | ** Charged 11.1V LiPo motor batteries in balancing mode. Manually stopped when they reached 12V | ||
+ | * Wednesday | ||
+ | ** Acquired male Deans T plug adapter to plug into motor battery. Extended to Dynamixel 3-pin connector | ||
+ | ** Whipped up plastic motor battery shelf (with slot for hold-down strap) / USB2Dynamixel "shield" | ||
+ | ** Verified that robot can be driven with new servos and battery. Yay! | ||
+ | * Thursday | ||
+ | ** Kept working on logging: LEDs on motors illuminated when logging, timestamps, motor status, changed logging rate to 15 Hz | ||
+ | * To do: | ||
+ | ** Lossless depth image logging, logging labels | ||
+ | ** Preliminary data collection dry runs on atrium floor: (1) drive forward, stop before collision, (2) back up when starting too close to obstacle, (3) drive forward and go around obstacle. | ||
+ | ** Audio through PS4 controller-attached headphones? Maybe branch of ds4drv supports: [https://github.com/chrippa/ds4drv/pull/80] | ||
+ | ** Remount servos with 40mm M2.5 screws | ||
|- | |- | ||
|valign="top"|'''Week 6: July 23-27-- Teaching/learning''' | |valign="top"|'''Week 6: July 23-27-- Teaching/learning''' | ||
| | | | ||
+ | * Thursday | ||
+ | ** Got motor control based on x coord of center of mass of all detections going. Basically, one side always goes full speed, other side goes slower to turn. Found that turning wasn't strong enough, so changed relationship between pixel offset and motor speeds by squaring | ||
+ | * Friday | ||
+ | ** Implemented command history buffer, averaging for smoother output | ||
+ | ** Logged detection images with box overlay + vertical lines indicating history of detections + averaged history (aka smoothed command) | ||
+ | ** 3 test runs, two in atrium, one outside. After first, realized that 10 fps logging of 640 x 480 images while doing detection was causing major lags, so knocked that down to 1 fps logging (even though control loop is still 10 fps). Final two tests good, although robot is really pokey | ||
|- | |- | ||
|valign="top"|'''Week 7: July 30-August 3 -- Write-up and presentation prep''' | |valign="top"|'''Week 7: July 30-August 3 -- Write-up and presentation prep''' | ||
Line 116: | Line 142: | ||
* Jetson TX2 dev kit | * Jetson TX2 dev kit | ||
* RealSense D435 depth camera | * RealSense D435 depth camera | ||
+ | * 4 x Dynamixel MX-106T servo | ||
+ | * 4-port micro-USB hub | ||
+ | * Monitor, HDMI cable | ||
+ | * Jetson battery (RAVPower 23000mAh in 19V mode). Others considered: [https://devtalk.nvidia.com/default/topic/1006369/jetson-tx2/power-requirement-for-jetson-tx2-development-board/2], [https://github.com/datlife/jetson-car/blob/master/docs/setup/README.md] | ||
+ | * 2 x 3300mAh, 11.1V LiPo battery (Floureon) with Deans T plug connector. Used for motors one at a time | ||
+ | * Tenergy TB6B LiPo battery charger. Connect with both connectors, put in balance mode with 2A charge rate, stop at 12V | ||
+ | |||
+ | ===Not being used=== | ||
+ | |||
+ | * Jetson enclosure -- good size, a little heavy (metal)...should install before moving outside | ||
* 4-port USB hub (full-size) | * 4-port USB hub (full-size) | ||
− | |||
* Robotis | * Robotis | ||
** 5 x XL-320 servo | ** 5 x XL-320 servo | ||
** Dream 2 kit (includes small rubber wheels) | ** Dream 2 kit (includes small rubber wheels) | ||
** 2 x Li-ion battery LB-041, 2 x charger LBB-041 | ** 2 x Li-ion battery LB-041, 2 x charger LBB-041 | ||
− | ** | + | ** 4 x Li-ion battery LB-040, 2 x charger LBB-040 |
** 2 x OpenCM9.04C controller board | ** 2 x OpenCM9.04C controller board | ||
− | |||
− | |||
===Needed=== | ===Needed=== | ||
− | * | + | * NOTHING ATM |
Latest revision as of 12:01, 27 July 2018
Shortened URL of this page: goo.gl/GPG8X9
Schedule
Week 1: June 18-22 -- Introduction/background |
|
Week 2: June 25-29 -- Building |
|
Week 3: July 2-6 -- Building |
|
Week 4: July 9-13 -- Building goes to extra time |
|
Week 5: July 16-20 -- Driving tests/data collection...teaching? |
|
Week 6: July 23-27-- Teaching/learning |
|
Week 7: July 30-August 3 -- Write-up and presentation prep |
Miscellaneous topics
- Deep neural networks
- Unity, ML-Agents
- Reinforcement learning, imitation learning
- Dynamixels
- RealSense
- Jetson
- OpenCV
- TensorFlow
- Obstacle avoidance, motion planning
- Trail following, Warthog
- C++ vs. C# vs. Java
- Linux
Parts
On hand
- Jetson TX2 dev kit
- RealSense D435 depth camera
- 4 x Dynamixel MX-106T servo
- 4-port micro-USB hub
- Monitor, HDMI cable
- Jetson battery (RAVPower 23000mAh in 19V mode). Others considered: [3], [4]
- 2 x 3300mAh, 11.1V LiPo battery (Floureon) with Deans T plug connector. Used for motors one at a time
- Tenergy TB6B LiPo battery charger. Connect with both connectors, put in balance mode with 2A charge rate, stop at 12V
Not being used
- Jetson enclosure -- good size, a little heavy (metal)...should install before moving outside
- 4-port USB hub (full-size)
- Robotis
- 5 x XL-320 servo
- Dream 2 kit (includes small rubber wheels)
- 2 x Li-ion battery LB-041, 2 x charger LBB-041
- 4 x Li-ion battery LB-040, 2 x charger LBB-040
- 2 x OpenCM9.04C controller board
Needed
- NOTHING ATM