Hi there. We have just finished the assembly of a LEO rover we received some weeks ago (and which we have named “Jack” for obvious reasons :-). It looks reasonable healthy and we have used nearly all pieces, so I think we can call it a success.
Now we are trying to make it run (literally), and we are stuck in the software installation process, apparently in the communication between the Raspberry Pi and the CORE2 board. This is what we have done so far:
- Download latest RasPi image from/files.fictionlab.pl/leo_images, exact file was leo_2019-07-15.img.xz
- Flashed the image into provided microSD card using Etcher in a Windows PC. Side note: after some hours of work this card died and I had to repeat the process with a new one.
- Connected the Raspi to an HDMI screen, a keyboard and a mouse (obviously with the electronics brick slightly out of the casing). Booted. This launches a desktop in which we can configure our WiFi with Internet access. Worked fine
- Updated the OS (apt-get update and upgrade). This took a few hours!
- Connected a microUSB cable from RasPi to hSerial in CORE2. Downloaded files.husarion.com/bootloader/bootloader_1_0_0_core2.hex and flashed it using /opt/husarion/tools/rpi-linux/core2-flasher. I remove now the USB cable.
- Got LEO firmware v3 (github.com/LeoRover/leo_firmware/releases/download/v0.3/leo_firmware.hex) and flashed it using core2-flasher
- Started: sudo systemctl restart leo
At this point if I connect a browser to the LEO’s IP address (in my local network) I can see the GUI with the live video, but Voltage value is suspiciously 0V and motors don’t move no matter what I try.
Looking into LEO, from RasPi, I try to start it manually with sudo leo-start and I can see that it tries to start but there is no communication with the CORE2 board. I see these messages:
started roslaunch server http://husarion:40647/ SUMMARY ======== PARAMETERS * /raspicam_node/camera_frame_id: camera * /raspicam_node/camera_id: 0 * /raspicam_node/camera_info_url: package://raspica... * /raspicam_node/camera_name: camerav1_1280x720 * /raspicam_node/enable_imv: False * /raspicam_node/enable_raw: False * /raspicam_node/framerate: 30 * /raspicam_node/height: 480 * /raspicam_node/private_topics: False * /raspicam_node/quality: 15 * /raspicam_node/width: 640 * /rosbridge_server/unregister_timeout: 86400 * /rosdistro: kinetic * /rosversion: 1.12.14 * /serial_node/baud: 57600 * /serial_node/port: /dev/serial0 NODES / leo_system (leo_bringup/leo_system) raspicam_node (raspicam_node/raspicam_node) rosbridge_server (rosbridge_server/rosbridge_websocket) serial_node (rosserial_python/serial_node.py) web_video_server (web_video_server/web_video_server) auto-starting new master process[master]: started with pid  ROS_MASTER_URI=http://127.0.0.1:11311 setting /run_id to 98eb8e7e-d0c1-11e9-9aa7-70f11c0aab78 process[rosout-1]: started with pid  started core service [/rosout] process[web_video_server-2]: started with pid  process[rosbridge_server-3]: started with pid  process[serial_node-4]: started with pid  process[leo_system-5]: started with pid  process[raspicam_node-6]: started with pid  [ERROR] [1567786573.573884]: Unable to sync with device; possible link problem or link software version mismatch such as hydro rosserial_python with groovy Arduino
I’ve fiddled with the startup scripts trying with different serial ports from /dev (ttyCORE2, ttyUSB0) but my final guess is that the default settings (/dev/serial0 and 500000bps) are ok, because I assume (correct me if I’m wrong) that the communication happens through the GPIO connector, not through the USB cable I have removed. In any case, there seems to be no communication. I’ve been trying to solve it myself and googled the issue for hours, but no luck. Any help will be really welcome.