Successful shakedown for rover.

Went to a Pixhawk with the TX1 as companion computer. Still running ROS with MavRos handling the link to the TX1. Totally offloads the TX1 for processing the Zed and Realsense cameras even does the Lidar Lite. This run was just a shakedown using the radio. Tomorrow or Sat I’ll be doing a waypoint run to test out that and to see if the lidar stuff is working. Added a FPV camera so I can use my goggles today as well. The VTX sure gets hot. They are meant for lots of airflow but on the rover its not going to get it. So I’m looking for a heatsink and or fan for that puppy. Pretty cool with the goggles on. 4 cameras total onboard plus the one on the TX1 itself which I’m not using since the TX1 is in a case. Has dual 900mhz telemetry radios. One is to talk to the TX1 over a serial link (console) and the other is to communicate with the Pixhawk. With those its just like you were plugged into the bot via usb. You can use all the ground station software over that link. You can back out the Pix and add that functionality to the TX1 if you want. Easier to master when you can do it in steps and have a working platform to test with. The new version has centimeter accurate GPS and all the other sensors are triple redundant. I needed more serial ports than the TX1 had. Tried some 4 port and 2 port boards in the slot but none worked. Roboteq doesn’t recommend using usb for control so I was kinda stuck. Has a few other advantages as well. It can come home if the computer goes down for instance. There are already hooks for vision in mavros. That is the next thing to implement. Just using the Lidar now and grabbing the Zed images in a rosbag.

It looks good at night :) I am curious, did you ever get it converted to 4-wheel drive, and if so, did you need two Jetsons for that?

Could never get enough serial ports on the Jetson to make it all work. So I added a Pixhawk controller to the mix. Has all the stuff I needed plus 5 serial ports and various other interfaces. They run about 80 bucks and there is no way you can write all that for 80 bucks. Now I’m using 2 channels for the 4 wheel drive one for steering motors on the front and one for steering motors on the rear. That is the next thing to implement The Pixhawk interfaces with the motor controllers using pulse width modulation instead of a serial port. Pixhawk runs Ardupilot rover firmware. Its like using multiple jetsons via network with ROS except you use the mavlink protocol instead of straight network packets. Mavlink is the basic networking protocol and mavros is the link between the two. So the Pixhawk acts like a coprocessor. You can use the Pix to do the whole thing or move portions to the TX1 as you get them working. I have some drones now as well. The big one is a 960mm class drone that can carry 9kg. Going to use the same system on that except a TK1 instead of the TX1. Running pixhawk’s in both allows me to use the swarming code that 3DR developed for ROS and the Pixhawk. That drone is a couple of sessions from being ready to test as well. For someone that is new to all this I think this is the way to go. You can get your platform up and going quickly so you have something to use to test the rest of the system. Linux isn’t all that great at real time operations even with the real time extensions to the kernel. The Pixhawks use a real time os. Make a simple cable and the Lidar Lite plugs right in and just works. Provisions for running multiple GPS magnetometer and other sensors. The Pix II due out next month has triple redundant sensors onboard. Its a cube similar to the way the TX1 is laid out. Cube goes into a daughter board to allow you to plug everything in. GPS system is RTK so it has centimeter accuracy. So with the PIx you get quick initial setup, Real time os, Offloads the TX1 from mundane tasks and allows you to use its full processing power for stuff like vision, deep learning and AI. There are several ground station programs out there. Use a telemetry radio to provide the link when the rover is off on a jaunt. That software comes in handy as you can monitor everything with it. Use it to set up missions as well. All the initial config stuff is done via this software. The rover has radios all over it now. One telemetry radio to talk to the Pix. One acts as a console link to the tx1. One provides the FPV camera signal. They are cheap around 30 bucks and act just like a bluetooth radio except much longer range. Wanted to take it to a park and do some waypoints today but too tired. So that will have wait. You have 16 channels to work with on the PIX. Only two are needed for skid steering and motor control. Two are used for the Lidar Lite. So plenty left over for whatever you might want to hook up to it. They are working on some can bus electronic speed controllers. The Pix has can bus. I think I’ll stay with the Roboteq’s though. Nary a problem with them and they are very powerful with the internal scripting language and multiple interfacing options. Shortened up the wheelbase just a bit. The strange looking brackets holding on the wheel pods are there for the steering motors. They bolt in on top. They are working on the bench except over time the error in position accumulates and they end up pointing in strange directions when they are supposed to be straight ahead. Making progress on that as well. Pid tuning mostly. I could do it with a linkage and single motor but then I wouldn’t be able to go sideways without mecanum wheels and on loose dirt surfaces where mecanum doesn’t work. All the Pixhawk firmware is open source. Even the radio I use now is open source. End to end the whole system is open source. Last night should be the last run with the radio controlling things. Going to keep using it for a safety device and possibly to train the bot when it gets itself in a sticky situation. Now that all 4 wheels are being driven it has plenty of power and is actually a bit too fast. I reconfigured some motor parameters to tame all that. Flattened out the acceleration curve a bit now its nice and smooth.