From bf1b79c8816c7b6f0d3e83d9de1b7f79433c09fd Mon Sep 17 00:00:00 2001 From: ddebernardde <diego.debernard@student.uclouvain.be> Date: Fri, 25 Nov 2022 17:05:27 +0100 Subject: [PATCH] lidar presque ok --- LIDAR.cpp | 46 ------------------- encoder | Bin 9424 -> 9412 bytes encoder.cpp | 40 ++++++++++++---- lidar | Bin 0 -> 66076 bytes rplidar_sdk-master/app/ultra_simple/main.cpp | 12 +++-- rplidar_sdk-master/mak_common.inc | 5 +- rplidar_sdk-master/sdk/include/rplidar.h | 2 +- 7 files changed, 44 insertions(+), 61 deletions(-) delete mode 100644 LIDAR.cpp create mode 100755 lidar diff --git a/LIDAR.cpp b/LIDAR.cpp deleted file mode 100644 index 2e7476a..0000000 --- a/LIDAR.cpp +++ /dev/null @@ -1,46 +0,0 @@ -#include "./rplidar_sdk-master/sdk/include/sl_lidar.h" -#include "./rplidar_sdk-master/sdk/include/sl_lidar_driver.h" -#include <stdio.h> -#include <stdlib.h> -#include <signal.h> -#include <string.h> -#include <unistd.h> - -using namespace sl; - -int main(int argc, char const *argv[]) -{ - // Create communication instance channel - IChannel *channel; - channel = *createSerialPortChannel("/dev/ttyUSB0", 115200); - // LiDAR Driver instance - ILidarDriver *lidar = *createLidarDriver(); - auto res = lidar->connect(channel); - - if (SL_IS_OK(res)) { - // Infos sur le LiDAR - sl_lidar_response_device_info_t deviceInfo; - res = lidar->getDeviceInfo(deviceInfo); - if (SL_IS_OK(res)) { - printf("Model: %d, Firmware Version: %d.%d, Hardware Version: %d\n", - deviceInfo.model, - deviceInfo.firmware_version >> 8, deviceInfo.firmware_version & 0xffu, - deviceInfo.hardware_version); - } else { - fprintf(stderr, "Failed to get device information from LIDAR %08x\r\n", res); - } - } else { - fprintf(stderr, "Failed to connect to LIDAR %08x\r\n", res); - } - - lidar->setMotorSpeed(0); - - std::vector<LidarScanMode> scanmode; - lidar->getAllSupportedScanModes(scanmode); - - // Delete the instances - delete lidar; - delete channel; - - return 0; -} diff --git a/encoder b/encoder index 0acc8488daac86295ef30f4b9fcd2a7eb6fb8f55..e138fa44e4e6eda295aae3572dadc630fcaeee30 100755 GIT binary patch delta 3173 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 delta 3164 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 diff --git a/encoder.cpp b/encoder.cpp index c8db2d1..4b30a6c 100644 --- a/encoder.cpp +++ b/encoder.cpp @@ -14,9 +14,11 @@ const int SPI_CHANNEL=1; unsigned char rawData[BYTE_len]; unsigned char rawData_delayed[BYTE_len]; float count; +float clock_count; float count_delayed; float speed; -int freq=50000; +int freq=500000; +int res = 2048; int main(int argc, char const *argv[]) { @@ -32,8 +34,10 @@ int main(int argc, char const *argv[]) //memset(rawData,0x01,BYTE_len); //rawData[0]=0x0F; - rawData[3]=0xFF; - rawData[0]=0x11; + rawData[3]=0x00; + rawData[2]=0x00; + rawData[1]=0x00; + rawData[0]=0x00; int fd = wiringPiSPISetup(SPI_CHANNEL, 500000); //for (int i=0; i<4; i++){ @@ -42,19 +46,39 @@ int main(int argc, char const *argv[]) while(1) { int result = wiringPiSPIDataRW(SPI_CHANNEL, rawData, BYTE_len); - printf("\n%02X %02X %02X %02X", rawData[0], rawData[1], rawData[2], rawData[3]); + printf("\n%d %d %d %d", rawData[0], rawData[1], rawData[2], rawData[3]); //fflush(stdout); //printf("\n"); - count=(rawData[0]*pow(16, 4))+(rawData[1]*pow(16, 2))+(rawData[2]*pow(16, 0)); + count=(rawData[0]*pow(16, 2))+(rawData[1]*pow(16, 0)); + clock_count=(rawData[2]*pow(16, 2))+(rawData[3]*pow(16, 0)); - //speed=100*(count-count_delayed); + speed=clock_count*(2*3.1415/res)*(count-count_delayed); //printf("\r%lf", count); //fflush(stdout); count_delayed=count; //printf("\n"); - sleep(0.5); + //sleep(0.5); } return 0; -} \ No newline at end of file +} + +/* +while(1) { + int result = wiringPiSPIDataRW(SPI_CHANNEL, rawData, BYTE_len); + printf("\n%d %d %d %d", rawData[0], rawData[1], rawData[2], rawData[3]); + //fflush(stdout); + //printf("\n"); + count=(rawData[0]*pow(16, 4))+(rawData[1]*pow(16, 2))+(rawData[2]*pow(16, 0)); + + speed=freq*(2*3.1415/res)*(count-count_delayed); + //printf("\r%lf", count); + //fflush(stdout); + count_delayed=count; + //printf("\n"); + //sleep(0.5); + } + + */ + \ No newline at end of file diff --git a/lidar b/lidar new file mode 100755 index 0000000000000000000000000000000000000000..ea924f6bf2731f93cfe0a0c177158a3659f4cdac GIT binary patch literal 66076 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%0Aa9ZPk|sQU||0-P9f3+|Zw-UES3UHfUPo>^5tf zhIX-aH9?0^<T1G_+~?;;^7*=U?U=FKc1(IAF$w=1beG)oNh3=EM{C7VkK@^W7(HgU z8b&Gis<Yf2){SS+$T)?)WnJt?iiu=%DTmcM-eiE>HkB6lt()q(O?C8LgX&N=bk_lu z7-+VIvM&cZ?WXA^G@V;=0j&zBOb)u^ZNc|u%M?yd>P>T`<Gf*)Y_Y1n`X<YuRNELH zRL5-ptF(SwuMQVOY(!PG$=gj*wi}&GSEpsWnqjY&fsKl@MJ;Vst_nITm0GdZVY2DK z+G(qG3Ej9uwmIkh)bw;m=d2o*?UONG9;*BFWGv$0;WA!pz%{C?Yr))M-VEwB5wBFE zAdVgG_;jOK%5N>^^&@OjZ;kv}A!!9aEQomia0Th9YgAVh{M`ip`G+>(fmRPn<X1Pf zQY7Nsk`!@lg5!TV4&wDHCo>VpUU(djSx$9Z%rA&|P*Cr2sF>;%4i(efGq%jAj(0AQ znO`pEP>?DzPzl2$E8^Jv;k!jDZ9l@s$~4|Z2+ccM*K)-xlp==TGW>YfR~Eo}ZB){j z4qp|+YhaR(XMokfXT1(4-;pEVkj2Ndr|^23=p{i1zDvh2h9CYGVwL&w%&;@yJB1%! zJ(Gca{O!k&pAC?YXV&rE(Bt^w(-2uU^6>r0yYRzf$#>}nyu%CzpF|yyv<&y*f1Xdr z^mz8zek5MUy~&r)`8$Xo&$Ht_&m?;md@tgj`I@rfR(udYyxuS4@JzhpJ@{r1*rZ2Z zzMuCHe&pMQAJ5P`3%(<|zIe@8rb#}&d&sgfAHMrM%x?s6Z-S}P$ML}Msq^vBe=MvH zri`BiHhlcH<1sW=-y?=gm5t~zi;rh;J^y%%M!L!O3C+i>csAIJ;Jf7HOa8yK_;{w) zxf6Id(<B0#xqU|Q)gHu^XKlT967T#XJ@YAs;X9}JWIOYltOK8Gr2$eiy>H;2pIJ~A z`0Z8U3wWmy_a-ns{=S1B-@_&!zu9^Kd?qhElJ~^_f*;$DeEjy}2>6chfet3l4}sZd z<dffoeGymi@fid8*uR(YGwI21!JdZvI_Z)3XBHpdp<a!KVtf-!zE|*o&zUdZRbCIi z4Tgwk=5_`0U^adDF_15=Zsq@^@wW>9A+4Gr?FQdA12hjId97|23*hT}C%(bJa~`?I nd?9L5=4G4Up5fGY(cYWXJ^yDq3~TVS`8NF=X&EAD=JtO8u^|7{ literal 0 HcmV?d00001 diff --git a/rplidar_sdk-master/app/ultra_simple/main.cpp b/rplidar_sdk-master/app/ultra_simple/main.cpp index 3f5463a..f3c142f 100644 --- a/rplidar_sdk-master/app/ultra_simple/main.cpp +++ b/rplidar_sdk-master/app/ultra_simple/main.cpp @@ -293,13 +293,17 @@ int main(int argc, const char * argv[]) { break; } + drv->stop(); + delay(200); + + drv->setMotorSpeed(0); goto on_finished; } - drv->stop(); - delay(200); - drv->setMotorSpeed(0); - + + + + // done! on_finished: diff --git a/rplidar_sdk-master/mak_common.inc b/rplidar_sdk-master/mak_common.inc index 0b63e8d..87188d2 100644 --- a/rplidar_sdk-master/mak_common.inc +++ b/rplidar_sdk-master/mak_common.inc @@ -72,6 +72,7 @@ $(APP_TARGET): $(OBJ) $(EXTRA_OBJ) $(SDK_TARGET) @$(MKDIR) `dirname $@` @echo " LD $@" $(CMD_HIDE)$(CC) $(ALL_CXXFLAGS) -o $@ $^ $(LDFLAGS) + mv $(BUILD_ROOT)/output/$(BUILD_TARGET_PLATFORM)/$(OUTPUT_BUILD_PREFIX)/lidar $(BUILD_ROOT)/.. # @@ -81,6 +82,7 @@ $(TARGET_OBJ_ROOT)/%.o: %.cpp @echo " CXX $<" $(CMD_HIDE)$(CXX) -c $(ALL_CXXFLAGS) $< -o $@ + # Compile: create object files from C source files. $(TARGET_OBJ_ROOT)/%.o: %.c @$(MKDIR) `dirname $@` @@ -91,5 +93,4 @@ $(TARGET_OBJ_ROOT)/%.o: %.c $(TARGET_OBJ_ROOT)/%.o: %.S @$(MKDIR) `dirname $@` @echo " AS $<" - $(CMD_HIDE)$(CC) -c $(ALL_ASFLAGS) $< -o $@ - + $(CMD_HIDE)$(CC) -c $(ALL_ASFLAGS) $< -o $@ \ No newline at end of file diff --git a/rplidar_sdk-master/sdk/include/rplidar.h b/rplidar_sdk-master/sdk/include/rplidar.h index 2f7de3d..a6dd538 100644 --- a/rplidar_sdk-master/sdk/include/rplidar.h +++ b/rplidar_sdk-master/sdk/include/rplidar.h @@ -35,7 +35,7 @@ #pragma once #include <vector> -#include "hal/types.h" +#include "../src/hal/types.h" #include "rplidar_protocol.h" #include "rplidar_cmd.h" -- GitLab